diff --git a/.gitignore b/.gitignore
index 72f2285..8bcd88d 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,6 +1,7 @@
-#*
 *#
 *.a
+*.gcda
+*.gcno
 *.o
 *.orig
 *.os
@@ -8,160 +9,25 @@
 *.rej
 *.so
 *.so.1
-*/Makefile.in
 *~
 .#*
 .deps
 .glimpse_*
 =*
-/INSTALL
 Makefile
 Makefile.in
+/*.lcov
+/ABOUT-NLS
+/INSTALL
 /aclocal.m4
 /autom4te.*
-/backends/*.map
 /config.cache
 /config.h
 /config.h.in
 /config.log
 /config.status
-/config/ar-lib
-/config/compile
-/config/config.guess
-/config/config.sub
-/config/depcomp
-/config/install-sh
-/config/libdw.pc
-/config/libelf.pc
-/config/missing
-/config/test-driver
-/config/ylwrap
 /configure
+/coverage
 /elfutils.spec
-/libcpu/*_dis.h
-/libcpu/*.mnemonics
-/libcpu/*_gendis
-/libcpu/*_lex.c
-/libcpu/*_parse.[ch]
-/libdw/known-dwarf.h
-/po/*.gmo
-/po/*.pot
-/po/en@boldquot.insert-header
-/po/en@boldquot.po
-/po/en@quot.insert-header
-/po/en@quot.po
-/po/Makevars.template
-/po/POTFILES
-/po/remove-potcdate.sed
-/po/stamp-po
-/src/addr2line
-/src/ar
-/src/elfclassify
-/src/elfcmp
-/src/elfcompress
-/src/elflint
-/src/findtextrel
-/src/make-debug-archive
-/src/nm
-/src/objdump
-/src/ranlib
-/src/readelf
-/src/size
-/src/stack
-/src/strings
-/src/strip
-/src/unstrip
 /stamp-h1
-/tests/*.log
-/tests/*.trs
-/tests/addrcfi
-/tests/addrscopes
-/tests/aggregate_size
-/tests/alldts
-/tests/allfcts
-/tests/allregs
-/tests/arextract
-/tests/arls
-/tests/arsymtest
-/tests/asm-tst1
-/tests/asm-tst2
-/tests/asm-tst3
-/tests/asm-tst4
-/tests/asm-tst5
-/tests/asm-tst6
-/tests/asm-tst7
-/tests/asm-tst8
-/tests/asm-tst9
-/tests/backtrace
-/tests/backtrace-child
-/tests/backtrace-child-biarch
-/tests/backtrace-data
-/tests/backtrace-dwarf
-/tests/buildid
-/tests/debugaltlink
-/tests/debuglink
-/tests/deleted
-/tests/dwarf-getmacros
-/tests/dwarf-getstring
-/tests/dwarf-ranges
-/tests/dwelfgnucompressed
-/tests/dwfl-addr-sect
-/tests/dwfl-bug-addr-overflow
-/tests/dwfl-bug-fd-leak
-/tests/dwfl-bug-getmodules
-/tests/dwfl-bug-report
-/tests/dwfl-proc-attach
-/tests/dwfl-report-elf-align
-/tests/dwfllines
-/tests/dwflmodtest
-/tests/dwflsyms
-/tests/early-offscn
-/tests/ecp
-/tests/elfgetchdr
-/tests/elfgetzdata
-/tests/elfputzdata
-/tests/elfshphehdr
-/tests/elfstrmerge
-/tests/elfstrtab
-/tests/emptyfile
-/tests/fillfile
-/tests/find-prologues
-/tests/funcretval
-/tests/funcscopes
-/tests/get-aranges
-/tests/get-files
-/tests/get-lines
-/tests/get-pubnames
-/tests/getsrc_die
-/tests/hash
-/tests/line2addr
-/tests/low_high_pc
-/tests/msg_tst
-/tests/newdata
-/tests/newfile
-/tests/newscn
-/tests/peel_type
-/tests/rdwrmmap
-/tests/rerequest_tag
-/tests/saridx
-/tests/scnnames
-/tests/sectiondump
-/tests/show-abbrev
-/tests/show-die-info
-/tests/showptable
-/tests/strptr
-/tests/system-elf-libelf-test
-/tests/test-elf_cntl_gelf_getshdr
-/tests/test-flag-nobits
-/tests/test-nlist
-/tests/typeiter
-/tests/typeiter2
-/tests/update1
-/tests/update2
-/tests/update3
-/tests/update4
-/tests/varlocs
-/tests/vendorelf
-/tests/vdsosyms
-/tests/zstrptr
 /version.h
diff --git a/ABOUT-NLS b/ABOUT-NLS
deleted file mode 100644
index 83bc72e..0000000
--- a/ABOUT-NLS
+++ /dev/null
@@ -1,1068 +0,0 @@
-1 Notes on the Free Translation Project
-***************************************
-
-Free software is going international!  The Free Translation Project is
-a way to get maintainers of free software, translators, and users all
-together, so that free software will gradually become able to speak many
-languages.  A few packages already provide translations for their
-messages.
-
-   If you found this `ABOUT-NLS' file inside a distribution, you may
-assume that the distributed package does use GNU `gettext' internally,
-itself available at your nearest GNU archive site.  But you do _not_
-need to install GNU `gettext' prior to configuring, installing or using
-this package with messages translated.
-
-   Installers will find here some useful hints.  These notes also
-explain how users should proceed for getting the programs to use the
-available translations.  They tell how people wanting to contribute and
-work on translations can contact the appropriate team.
-
-   When reporting bugs in the `intl/' directory or bugs which may be
-related to internationalization, you should tell about the version of
-`gettext' which is used.  The information can be found in the
-`intl/VERSION' file, in internationalized packages.
-
-1.1 Quick configuration advice
-==============================
-
-If you want to exploit the full power of internationalization, you
-should configure it using
-
-     ./configure --with-included-gettext
-
-to force usage of internationalizing routines provided within this
-package, despite the existence of internationalizing capabilities in the
-operating system where this package is being installed.  So far, only
-the `gettext' implementation in the GNU C library version 2 provides as
-many features (such as locale alias, message inheritance, automatic
-charset conversion or plural form handling) as the implementation here.
-It is also not possible to offer this additional functionality on top
-of a `catgets' implementation.  Future versions of GNU `gettext' will
-very likely convey even more functionality.  So it might be a good idea
-to change to GNU `gettext' as soon as possible.
-
-   So you need _not_ provide this option if you are using GNU libc 2 or
-you have installed a recent copy of the GNU gettext package with the
-included `libintl'.
-
-1.2 INSTALL Matters
-===================
-
-Some packages are "localizable" when properly installed; the programs
-they contain can be made to speak your own native language.  Most such
-packages use GNU `gettext'.  Other packages have their own ways to
-internationalization, predating GNU `gettext'.
-
-   By default, this package will be installed to allow translation of
-messages.  It will automatically detect whether the system already
-provides the GNU `gettext' functions.  If not, the included GNU
-`gettext' library will be used.  This library is wholly contained
-within this package, usually in the `intl/' subdirectory, so prior
-installation of the GNU `gettext' package is _not_ required.
-Installers may use special options at configuration time for changing
-the default behaviour.  The commands:
-
-     ./configure --with-included-gettext
-     ./configure --disable-nls
-
-will, respectively, bypass any pre-existing `gettext' to use the
-internationalizing routines provided within this package, or else,
-_totally_ disable translation of messages.
-
-   When you already have GNU `gettext' installed on your system and run
-configure without an option for your new package, `configure' will
-probably detect the previously built and installed `libintl.a' file and
-will decide to use this.  This might not be desirable.  You should use
-the more recent version of the GNU `gettext' library.  I.e. if the file
-`intl/VERSION' shows that the library which comes with this package is
-more recent, you should use
-
-     ./configure --with-included-gettext
-
-to prevent auto-detection.
-
-   The configuration process will not test for the `catgets' function
-and therefore it will not be used.  The reason is that even an
-emulation of `gettext' on top of `catgets' could not provide all the
-extensions of the GNU `gettext' library.
-
-   Internationalized packages usually have many `po/LL.po' files, where
-LL gives an ISO 639 two-letter code identifying the language.  Unless
-translations have been forbidden at `configure' time by using the
-`--disable-nls' switch, all available translations are installed
-together with the package.  However, the environment variable `LINGUAS'
-may be set, prior to configuration, to limit the installed set.
-`LINGUAS' should then contain a space separated list of two-letter
-codes, stating which languages are allowed.
-
-1.3 Using This Package
-======================
-
-As a user, if your language has been installed for this package, you
-only have to set the `LANG' environment variable to the appropriate
-`LL_CC' combination.  If you happen to have the `LC_ALL' or some other
-`LC_xxx' environment variables set, you should unset them before
-setting `LANG', otherwise the setting of `LANG' will not have the
-desired effect.  Here `LL' is an ISO 639 two-letter language code, and
-`CC' is an ISO 3166 two-letter country code.  For example, let's
-suppose that you speak German and live in Germany.  At the shell
-prompt, merely execute `setenv LANG de_DE' (in `csh'),
-`export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash').
-This can be done from your `.login' or `.profile' file, once and for
-all.
-
-   You might think that the country code specification is redundant.
-But in fact, some languages have dialects in different countries.  For
-example, `de_AT' is used for Austria, and `pt_BR' for Brazil.  The
-country code serves to distinguish the dialects.
-
-   The locale naming convention of `LL_CC', with `LL' denoting the
-language and `CC' denoting the country, is the one use on systems based
-on GNU libc.  On other systems, some variations of this scheme are
-used, such as `LL' or `LL_CC.ENCODING'.  You can get the list of
-locales supported by your system for your language by running the
-command `locale -a | grep '^LL''.
-
-   Not all programs have translations for all languages.  By default, an
-English message is shown in place of a nonexistent translation.  If you
-understand other languages, you can set up a priority list of languages.
-This is done through a different environment variable, called
-`LANGUAGE'.  GNU `gettext' gives preference to `LANGUAGE' over `LANG'
-for the purpose of message handling, but you still need to have `LANG'
-set to the primary language; this is required by other parts of the
-system libraries.  For example, some Swedish users who would rather
-read translations in German than English for when Swedish is not
-available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'.
-
-   Special advice for Norwegian users: The language code for Norwegian
-bokma*l changed from `no' to `nb' recently (in 2003).  During the
-transition period, while some message catalogs for this language are
-installed under `nb' and some older ones under `no', it's recommended
-for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and
-older translations are used.
-
-   In the `LANGUAGE' environment variable, but not in the `LANG'
-environment variable, `LL_CC' combinations can be abbreviated as `LL'
-to denote the language's main dialect.  For example, `de' is equivalent
-to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT'
-(Portuguese as spoken in Portugal) in this context.
-
-1.4 Translating Teams
-=====================
-
-For the Free Translation Project to be a success, we need interested
-people who like their own language and write it well, and who are also
-able to synergize with other translators speaking the same language.
-Each translation team has its own mailing list.  The up-to-date list of
-teams can be found at the Free Translation Project's homepage,
-`http://translationproject.org/', in the "Teams" area.
-
-   If you'd like to volunteer to _work_ at translating messages, you
-should become a member of the translating team for your own language.
-The subscribing address is _not_ the same as the list itself, it has
-`-request' appended.  For example, speakers of Swedish can send a
-message to `sv-request@li.org', having this message body:
-
-     subscribe
-
-   Keep in mind that team members are expected to participate
-_actively_ in translations, or at solving translational difficulties,
-rather than merely lurking around.  If your team does not exist yet and
-you want to start one, or if you are unsure about what to do or how to
-get started, please write to `coordinator@translationproject.org' to
-reach the coordinator for all translator teams.
-
-   The English team is special.  It works at improving and uniformizing
-the terminology in use.  Proven linguistic skills are praised more than
-programming skills, here.
-
-1.5 Available Packages
-======================
-
-Languages are not equally supported in all packages.  The following
-matrix shows the current state of internationalization, as of November
-2007.  The matrix shows, in regard of each package, for which languages
-PO files have been submitted to translation coordination, with a
-translation percentage of at least 50%.
-
-     Ready PO files       af am ar az be bg bs ca cs cy da de el en en_GB eo
-                        +----------------------------------------------------+
-     Compendium         |                      []       [] []        []      |
-     a2ps               |             []                [] [] []     []      |
-     aegis              |                                  ()                |
-     ant-phone          |                                  ()                |
-     anubis             |                                  []                |
-     ap-utils           |                                                    |
-     aspell             |                      [] []    [] []        []      |
-     bash               |                                                 [] |
-     bfd                |                                                    |
-     bibshelf           |                                  []                |
-     binutils           |                                                    |
-     bison              |                               [] []                |
-     bison-runtime      |                                  []                |
-     bluez-pin          | []                      []       [] []          [] |
-     cflow              |                               []                   |
-     clisp              |                               [] []    []          |
-     console-tools      |                         []       []                |
-     coreutils          |                []    [] []       []                |
-     cpio               |                                                    |
-     cpplib             |                      []       [] []                |
-     cryptonit          |                                  []                |
-     dialog             |                                                    |
-     diffutils          |                      [] []    [] [] []          [] |
-     doodle             |                                  []                |
-     e2fsprogs          |                         []       []                |
-     enscript           |                      []       [] []        []      |
-     fetchmail          |                      []       [] () []     []      |
-     findutils          |                []                                  |
-     findutils_stable   |                []    []       []                   |
-     flex               |                      []       [] []                |
-     fslint             |                                                    |
-     gas                |                                                    |
-     gawk               |                      []       [] []                |
-     gcal               |                      []                            |
-     gcc                |                                  []                |
-     gettext-examples   | []                   []          [] []          [] |
-     gettext-runtime    |             []       []       [] []             [] |
-     gettext-tools      |                      []          []                |
-     gip                |                []                                  |
-     gliv               |                []                []                |
-     glunarclock        |                []                                  |
-     gmult              | []                               []                |
-     gnubiff            |                                  ()                |
-     gnucash            |                      [] []       () ()     []      |
-     gnuedu             |                                                    |
-     gnulib             |                []                                  |
-     gnunet             |                                                    |
-     gnunet-gtk         |                                                    |
-     gnutls             |                                  []                |
-     gpe-aerial         |                         []       []                |
-     gpe-beam           |                         []       []                |
-     gpe-calendar       |                                                    |
-     gpe-clock          |                         []       []                |
-     gpe-conf           |                         []       []                |
-     gpe-contacts       |                                                    |
-     gpe-edit           |                         []                         |
-     gpe-filemanager    |                                                    |
-     gpe-go             |                         []                         |
-     gpe-login          |                         []       []                |
-     gpe-ownerinfo      |                         []       []                |
-     gpe-package        |                                                    |
-     gpe-sketchbook     |                         []       []                |
-     gpe-su             |                         []       []                |
-     gpe-taskmanager    |                         []       []                |
-     gpe-timesheet      |                         []                         |
-     gpe-today          |                         []       []                |
-     gpe-todo           |                                                    |
-     gphoto2            |                         []    [] []        []      |
-     gprof              |                               [] []                |
-     gpsdrive           |                                                    |
-     gramadoir          | []                               []                |
-     grep               |                         []                      [] |
-     gretl              |                                  ()                |
-     gsasl              |                                                    |
-     gss                |                                                    |
-     gst-plugins-bad    |                []             []                   |
-     gst-plugins-base   |                []             []                   |
-     gst-plugins-good   |                []    []       []                   |
-     gst-plugins-ugly   |                []             []                   |
-     gstreamer          | []             []    [] []    [] []        []      |
-     gtick              |                                  ()                |
-     gtkam              |             []          []    [] []                |
-     gtkorphan          |                []                []                |
-     gtkspell           |             []                   [] []          [] |
-     gutenprint         |                               []                   |
-     hello              |                []    []       [] []             [] |
-     herrie             |                                  []                |
-     hylafax            |                                                    |
-     idutils            |                               [] []                |
-     indent             |                      [] []       []             [] |
-     iso_15924          |                                                    |
-     iso_3166           |       []    [] [] [] [] [] [] [] [] []          [] |
-     iso_3166_2         |                                                    |
-     iso_4217           |                         []    [] []                |
-     iso_639            |                         []    [] []             [] |
-     jpilot             |                         []                         |
-     jtag               |                                                    |
-     jwhois             |                                                    |
-     kbd                |                         []    [] [] []             |
-     keytouch           |                      []          []                |
-     keytouch-editor    |                                  []                |
-     keytouch-keyboa... |                      []                            |
-     latrine            |                                  ()                |
-     ld                 |                               []                   |
-     leafpad            |                []    [] []       [] []             |
-     libc               |                      [] []    [] []                |
-     libexif            |                                  []                |
-     libextractor       |                                  []                |
-     libgpewidget       |                         []    [] []                |
-     libgpg-error       |                                  []                |
-     libgphoto2         |                               [] []                |
-     libgphoto2_port    |                               [] []                |
-     libgsasl           |                                                    |
-     libiconv           |                                  []             [] |
-     libidn             |                         []    []                [] |
-     lifelines          |                               [] ()                |
-     lilypond           |                                  []                |
-     lingoteach         |                                                    |
-     lprng              |                                                    |
-     lynx               |                      [] []    [] []                |
-     m4                 |                         []    [] [] []             |
-     mailfromd          |                                                    |
-     mailutils          |                      []                            |
-     make               |                               [] []                |
-     man-db             |                      []       [] []                |
-     minicom            |                         []    [] []                |
-     nano               |                []    []          []                |
-     opcodes            |                                  []                |
-     parted             |                         []       []                |
-     pilot-qof          |                                                    |
-     popt               |                         []    [] []                |
-     psmisc             |                []                                  |
-     pwdutils           |                                                    |
-     qof                |                                                    |
-     radius             |                      []                            |
-     recode             |             []       []       [] [] []          [] |
-     rpm                |                               []                   |
-     screem             |                                                    |
-     scrollkeeper       |          [] []       [] [] [] [] []        []      |
-     sed                |                      []          []             [] |
-     shared-mime-info   |                []    [] []    [] () []     []   [] |
-     sharutils          |                []    [] []    [] [] []             |
-     shishi             |                                                    |
-     skencil            |                               [] ()                |
-     solfege            |                                                    |
-     soundtracker       |                               [] []                |
-     sp                 |                                  []                |
-     system-tools-ba... |       []       [] [] [] []    [] [] []     []      |
-     tar                |                []                []                |
-     texinfo            |                               [] []             [] |
-     tin                |                                  ()        ()      |
-     tuxpaint           | []             []             [] []        []   [] |
-     unicode-han-tra... |                                                    |
-     unicode-transla... |                                                    |
-     util-linux         |                      [] []    [] []                |
-     util-linux-ng      |                      [] []    [] []                |
-     vorbis-tools       |                         []                         |
-     wastesedge         |                                  ()                |
-     wdiff              |                      []       [] []        []      |
-     wget               |                      [] []       []                |
-     xchat              |             [] []    [] []       [] []     []      |
-     xkeyboard-config   |                []                                  |
-     xpad               |                []             []           []      |
-                        +----------------------------------------------------+
-                          af am ar az be bg bs ca cs cy da de el en en_GB eo
-                           6  0  2  1  8 26  2 40 48  2 56 88 15  1  15   18
-
-                          es et eu fa fi fr  ga gl gu he hi hr hu id is it
-                        +--------------------------------------------------+
-     Compendium         | []          [] []  []                []          |
-     a2ps               |    []       [] []                             () |
-     aegis              |                                                  |
-     ant-phone          |                []                                |
-     anubis             |                []                                |
-     ap-utils           |             [] []                                |
-     aspell             |                []  []                         [] |
-     bash               | []                                               |
-     bfd                | []          []                                   |
-     bibshelf           | []                 []                         [] |
-     binutils           | []          [] []                                |
-     bison              | [] []          []  []                   []    [] |
-     bison-runtime      |    []          []  []                   []    [] |
-     bluez-pin          |             [] []  []                [] []       |
-     cflow              |                    []                            |
-     clisp              | []             []                                |
-     console-tools      |                                                  |
-     coreutils          | [] []       [] []  []                []          |
-     cpio               | []             []  []                            |
-     cpplib             | []             []                                |
-     cryptonit          |                []                                |
-     dialog             |       []           []                         [] |
-     diffutils          | []          [] []  [] []    []       [] []    [] |
-     doodle             |                    []                         [] |
-     e2fsprogs          | []             []                             [] |
-     enscript           |                []  []             []             |
-     fetchmail          | []                                               |
-     findutils          |    []              []                []          |
-     findutils_stable   |    []          []  []                []          |
-     flex               | []             []  []                            |
-     fslint             |                                                  |
-     gas                | []             []                                |
-     gawk               | []             []  []       []                () |
-     gcal               | []             []                                |
-     gcc                | []                                               |
-     gettext-examples   | []          [] []  []                [] []    [] |
-     gettext-runtime    | []          [] []  []                   []    [] |
-     gettext-tools      | []    []       []                             [] |
-     gip                | []    []       []  []                            |
-     gliv               |                ()                                |
-     glunarclock        |             []     []                []          |
-     gmult              |       []       []                             [] |
-     gnubiff            |                ()                             () |
-     gnucash            | ()             ()                    ()          |
-     gnuedu             | []                                               |
-     gnulib             | [] []              []                            |
-     gnunet             |                                                  |
-     gnunet-gtk         |                                                  |
-     gnutls             |                                                  |
-     gpe-aerial         | []             []                                |
-     gpe-beam           | []             []                                |
-     gpe-calendar       |                                                  |
-     gpe-clock          | []          [] []                    []          |
-     gpe-conf           |                []                                |
-     gpe-contacts       | []             []                                |
-     gpe-edit           | []             []                    [] []       |
-     gpe-filemanager    | []                                               |
-     gpe-go             | []             []                    []          |
-     gpe-login          | []             []                    []          |
-     gpe-ownerinfo      | []          [] []                    [] []       |
-     gpe-package        | []                                               |
-     gpe-sketchbook     | []             []                                |
-     gpe-su             | []          [] []                    []          |
-     gpe-taskmanager    | []          [] []                                |
-     gpe-timesheet      | []             []  []                   []       |
-     gpe-today          | []          [] []  []                            |
-     gpe-todo           | []                                               |
-     gphoto2            | []          [] []                    []       [] |
-     gprof              | []          [] []  []                   []       |
-     gpsdrive           |    []                                            |
-     gramadoir          |                []  []                            |
-     grep               | []          []     []                            |
-     gretl              | []    []       []                             () |
-     gsasl              |                    []                   []       |
-     gss                |                []  []                            |
-     gst-plugins-bad    | []          []                       []       [] |
-     gst-plugins-base   | []          []                       []       [] |
-     gst-plugins-good   | []    []    []                       []       [] |
-     gst-plugins-ugly   | []          []                       []       [] |
-     gstreamer          |             []                       []       [] |
-     gtick              |             []     []                         [] |
-     gtkam              | []             []                    []       [] |
-     gtkorphan          |                []                             [] |
-     gtkspell           | []    []    [] []  []                []       [] |
-     gutenprint         |                                      []          |
-     hello              | [] [] [] [] [] []  [] []    []    [] [] []    [] |
-     herrie             |                    []                            |
-     hylafax            |                                                  |
-     idutils            |                []  []                [] []    [] |
-     indent             | [] [] []    [] []  [] []             [] []    [] |
-     iso_15924          |                []                                |
-     iso_3166           | [] [] []    [] []     [] [] [] [] [] [] []    [] |
-     iso_3166_2         |                []                                |
-     iso_4217           | [] []       [] []                    []       [] |
-     iso_639            | []       [] [] []  []                []          |
-     jpilot             | []             []                                |
-     jtag               |                []                                |
-     jwhois             | []             []                    [] []    [] |
-     kbd                | []             []                                |
-     keytouch           |                []  []                         [] |
-     keytouch-editor    |                    []                            |
-     keytouch-keyboa... |                    []                         [] |
-     latrine            |                    []                         [] |
-     ld                 | []          [] []  []                            |
-     leafpad            | []             []  []       []       []       [] |
-     libc               | []          [] []     []             []          |
-     libexif            | []                                               |
-     libextractor       |                    []                            |
-     libgpewidget       | []             []  []                [] []       |
-     libgpg-error       |                []                                |
-     libgphoto2         | []             []                             [] |
-     libgphoto2_port    |                []                             [] |
-     libgsasl           |                []  []                            |
-     libiconv           |    []       []     []                            |
-     libidn             |                []                             [] |
-     lifelines          |                ()                                |
-     lilypond           | []          [] []                                |
-     lingoteach         |                []                       []    [] |
-     lprng              |                                                  |
-     lynx               |    []                                []       [] |
-     m4                 |                []  [] []                []       |
-     mailfromd          |                                                  |
-     mailutils          | []             []                                |
-     make               | []          [] []  [] []    []    []    []       |
-     man-db             |                                               [] |
-     minicom            | []          [] []                    []          |
-     nano               | []    []       []  [] []             []       [] |
-     opcodes            | []          [] []  []                            |
-     parted             |                []                       []    [] |
-     pilot-qof          |                                                  |
-     popt               |                []  [] []                   []    |
-     psmisc             |                                      []       [] |
-     pwdutils           |                                                  |
-     qof                |                                         []       |
-     radius             | []             []                                |
-     recode             | []             []  [] []    []       [] []    [] |
-     rpm                |                []                       []       |
-     screem             |                                                  |
-     scrollkeeper       | []          []                       []          |
-     sed                | [] []          []  []                []          |
-     shared-mime-info   | []    []    [] []                    []       [] |
-     sharutils          | [] []       [] []  [] []             []       [] |
-     shishi             |                []                                |
-     skencil            | []             []                                |
-     solfege            |                                               [] |
-     soundtracker       | []             []                             [] |
-     sp                 |                []                                |
-     system-tools-ba... | []    []    [] []  []             [] [] []    [] |
-     tar                |    [] []    []     []                []          |
-     texinfo            |                []           []       []          |
-     tin                |    []          ()                                |
-     tuxpaint           |                    []                []          |
-     unicode-han-tra... |                                                  |
-     unicode-transla... |                []  []                            |
-     util-linux         | [] []       [] []                    [] []    [] |
-     util-linux-ng      | [] []       [] []                    [] []    [] |
-     vorbis-tools       |                                                  |
-     wastesedge         |                ()                                |
-     wdiff              | [] []          []  [] []             [] []    [] |
-     wget               |    []       [] []  []             [] [] []    [] |
-     xchat              | []          [] []        []    []    []       [] |
-     xkeyboard-config   | []          [] []                    []          |
-     xpad               | []                 []                []          |
-                        +--------------------------------------------------+
-                          es et eu fa fi fr  ga gl gu he hi hr hu id is it
-                          85 22 14  2 48 101 61 12  2  8  2  6 53 29  1 52
-
-                          ja ka ko ku ky lg lt lv mk mn ms mt nb ne nl  nn
-                        +--------------------------------------------------+
-     Compendium         |                                           []     |
-     a2ps               |       ()                      []          []     |
-     aegis              |                                           ()     |
-     ant-phone          |                                           []     |
-     anubis             |                               []    []    []     |
-     ap-utils           |                               []                 |
-     aspell             |                            []             []     |
-     bash               |                                           []     |
-     bfd                |                                                  |
-     bibshelf           |                               []                 |
-     binutils           |                                                  |
-     bison              |                               []    []    []     |
-     bison-runtime      |                               []    []    []     |
-     bluez-pin          |          []                   []          []     |
-     cflow              |                                                  |
-     clisp              |                                           []     |
-     console-tools      |                                                  |
-     coreutils          |                                           []     |
-     cpio               |                                           []     |
-     cpplib             |                                           []     |
-     cryptonit          |                                           []     |
-     dialog             |                               []          []     |
-     diffutils          | []                            []          []     |
-     doodle             |                                                  |
-     e2fsprogs          |                                           []     |
-     enscript           |                                           []     |
-     fetchmail          | []                                        []     |
-     findutils          |                                           []     |
-     findutils_stable   |                                           []     |
-     flex               |       []                                  []     |
-     fslint             |                                                  |
-     gas                |                                                  |
-     gawk               | []                                        []     |
-     gcal               |                                                  |
-     gcc                |                                                  |
-     gettext-examples   | []                            []          []     |
-     gettext-runtime    | []    []                                  []     |
-     gettext-tools      | []    []                                         |
-     gip                |                               []          []     |
-     gliv               |                                           []     |
-     glunarclock        |                               []          []     |
-     gmult              | []                            []          []     |
-     gnubiff            |                                                  |
-     gnucash            | ()                                  () ()        |
-     gnuedu             |                                                  |
-     gnulib             | []                                        []     |
-     gnunet             |                                                  |
-     gnunet-gtk         |                                                  |
-     gnutls             |                               []                 |
-     gpe-aerial         |                                           []     |
-     gpe-beam           |                                           []     |
-     gpe-calendar       | []                                               |
-     gpe-clock          | []    []                                  []     |
-     gpe-conf           | []    []                                  []     |
-     gpe-contacts       |       []                                         |
-     gpe-edit           | []    []                                  []     |
-     gpe-filemanager    | []    []                                         |
-     gpe-go             | []    []                                  []     |
-     gpe-login          | []    []                                  []     |
-     gpe-ownerinfo      | []                                        []     |
-     gpe-package        | []    []                                         |
-     gpe-sketchbook     |       []                                  []     |
-     gpe-su             | []    []                                  []     |
-     gpe-taskmanager    | []    [] []                               []     |
-     gpe-timesheet      |                                           []     |
-     gpe-today          | []                                        []     |
-     gpe-todo           | []                                               |
-     gphoto2            | []                                        []     |
-     gprof              |                               []                 |
-     gpsdrive           |                                           []     |
-     gramadoir          |                                           ()     |
-     grep               |             []                            []     |
-     gretl              |                                                  |
-     gsasl              |                                           []     |
-     gss                |                                                  |
-     gst-plugins-bad    |                                           []     |
-     gst-plugins-base   |                                           []     |
-     gst-plugins-good   |                                           []     |
-     gst-plugins-ugly   |                                           []     |
-     gstreamer          |                                           []     |
-     gtick              |                                           []     |
-     gtkam              | []                                        []     |
-     gtkorphan          |                                           []     |
-     gtkspell           |                            []             []     |
-     gutenprint         |                                           []     |
-     hello              | [] [] []                      []    []    []  [] |
-     herrie             |                                           []     |
-     hylafax            |                                                  |
-     idutils            |                                           []     |
-     indent             | []                                        []     |
-     iso_15924          |                                           []     |
-     iso_3166           | []    [] []       []    []          []    []  [] |
-     iso_3166_2         |                                           []     |
-     iso_4217           | []                []                      []     |
-     iso_639            | []                []                      []  [] |
-     jpilot             | ()                                        ()     |
-     jtag               |                                                  |
-     jwhois             |                                           []     |
-     kbd                |                                           []     |
-     keytouch           |                                           []     |
-     keytouch-editor    |                                           []     |
-     keytouch-keyboa... |                                                  |
-     latrine            |                                           []     |
-     ld                 |                                                  |
-     leafpad            | []                []                             |
-     libc               | []    []                                  []     |
-     libexif            |                                                  |
-     libextractor       |                                                  |
-     libgpewidget       |                                           []     |
-     libgpg-error       |                                                  |
-     libgphoto2         | []                                               |
-     libgphoto2_port    | []                                               |
-     libgsasl           |                                           []     |
-     libiconv           |                                           []     |
-     libidn             | []                                        []     |
-     lifelines          |                                           []     |
-     lilypond           |                                           []     |
-     lingoteach         |                                           []     |
-     lprng              |                                                  |
-     lynx               | []                                        []     |
-     m4                 | []                                        []     |
-     mailfromd          |                                                  |
-     mailutils          |                                                  |
-     make               | []    []                                  []     |
-     man-db             |                                                  |
-     minicom            | []                                               |
-     nano               |                               []    []    []     |
-     opcodes            |                                           []     |
-     parted             | []                                        []     |
-     pilot-qof          |                                                  |
-     popt               | []    []                                  []     |
-     psmisc             | []                                  []    []     |
-     pwdutils           |                                                  |
-     qof                |                                                  |
-     radius             |                                                  |
-     recode             |                                           []     |
-     rpm                | []    []                                         |
-     screem             | []                                               |
-     scrollkeeper       |                                     [] [] []  [] |
-     sed                | []                                        []     |
-     shared-mime-info   | []    []          []          []    []    []  [] |
-     sharutils          | []                                        []     |
-     shishi             |                                                  |
-     skencil            |                                                  |
-     solfege            |                                     ()        () |
-     soundtracker       |                                                  |
-     sp                 | ()                                               |
-     system-tools-ba... | []    []          []                      []     |
-     tar                | []          []                            []     |
-     texinfo            |                                     []    []     |
-     tin                |                                                  |
-     tuxpaint           |                                     ()    []  [] |
-     unicode-han-tra... |                                                  |
-     unicode-transla... |                                                  |
-     util-linux         | []                                        []     |
-     util-linux-ng      | []                                        []     |
-     vorbis-tools       |                                                  |
-     wastesedge         |                                           []     |
-     wdiff              |                               []    []           |
-     wget               | []                                        []     |
-     xchat              | []    []                []                []     |
-     xkeyboard-config   |    [] []                                  []     |
-     xpad               |       []                      []          []     |
-                        +--------------------------------------------------+
-                          ja ka ko ku ky lg lt lv mk mn ms mt nb ne nl  nn
-                          51  2 25  3  2  0  6  0  2  2 20  0 11  1 103  6
-
-                          or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv  ta
-                        +--------------------------------------------------+
-     Compendium         |          []  []      []       []          []     |
-     a2ps               |       ()     []      [] []       []    [] []     |
-     aegis              |                      () ()                       |
-     ant-phone          |                      []                   []     |
-     anubis             |       []             [] []                       |
-     ap-utils           |       ()                                         |
-     aspell             |                      [] []    []                 |
-     bash               |       []                      []                 |
-     bfd                |                                                  |
-     bibshelf           |                                           []     |
-     binutils           |                         []    []                 |
-     bison              |       []     []      [] []                []     |
-     bison-runtime      |       []     []      []          []       []     |
-     bluez-pin          |       []     []   [] [] []    [] []    [] []     |
-     cflow              |       []                                         |
-     clisp              |                         []                       |
-     console-tools      |                         []                       |
-     coreutils          |       []                []       []       []     |
-     cpio               |       []                []                []     |
-     cpplib             |                                           []     |
-     cryptonit          |              []                           []     |
-     dialog             |                                           []     |
-     diffutils          |       []     []      [] []             [] []     |
-     doodle             |                                     []    []     |
-     e2fsprogs          |       []                                  []     |
-     enscript           |              []      [] []       []       []     |
-     fetchmail          |       []                []          []           |
-     findutils          |       [] []                               []     |
-     findutils_stable   |       [] []          []       [] []       []     |
-     flex               |       []     []      [] []                []     |
-     fslint             |                                           []     |
-     gas                |                                                  |
-     gawk               |       []     []      []                   []     |
-     gcal               |                                           []     |
-     gcc                |                                        [] []     |
-     gettext-examples   |       [] []          [] []    [] []    [] []     |
-     gettext-runtime    |       [] []          [] []    [] []    [] []     |
-     gettext-tools      |       []             [] []    [] []    [] []     |
-     gip                |                   []          []       [] []     |
-     gliv               |       []     []      [] []    []          []     |
-     glunarclock        |              []      [] []    []       [] []     |
-     gmult              |                   [] []                [] []     |
-     gnubiff            |                      ()                   []     |
-     gnucash            |       ()                                  []     |
-     gnuedu             |                                                  |
-     gnulib             |       []                         []       []     |
-     gnunet             |                                                  |
-     gnunet-gtk         |                                           []     |
-     gnutls             |       []                                  []     |
-     gpe-aerial         |          []  []      [] []       []    [] []     |
-     gpe-beam           |          []  []      [] []       []    [] []     |
-     gpe-calendar       |                         []       []    [] []     |
-     gpe-clock          |          []  []      [] []    [] []    [] []     |
-     gpe-conf           |          []  []      [] []    [] []       []     |
-     gpe-contacts       |                      [] []       []    [] []     |
-     gpe-edit           |       [] []  []      [] []    [] []    [] []     |
-     gpe-filemanager    |                                  []       []     |
-     gpe-go             |       []     []      [] []    [] []    [] []     |
-     gpe-login          |          []  []      [] []    [] []    [] []     |
-     gpe-ownerinfo      |          []  []      [] []    [] []    [] []     |
-     gpe-package        |                                  []       []     |
-     gpe-sketchbook     |          []  []      [] []    [] []    [] []     |
-     gpe-su             |          []  []      [] []    [] []    [] []     |
-     gpe-taskmanager    |          []  []      [] []    [] []    [] []     |
-     gpe-timesheet      |          []  []      [] []    [] []    [] []     |
-     gpe-today          |          []  []      [] []    [] []    [] []     |
-     gpe-todo           |                         []       []    [] []     |
-     gphoto2            |    [] []             []       []       [] []     |
-     gprof              |              []      []                   []     |
-     gpsdrive           |                         []                []     |
-     gramadoir          |                               []          []     |
-     grep               |       []                      [] []       []     |
-     gretl              |       [] []  []                                  |
-     gsasl              |       []                               [] []     |
-     gss                |       []             []       []          []     |
-     gst-plugins-bad    |       []     []                           []     |
-     gst-plugins-base   |       []                                  []     |
-     gst-plugins-good   |       []                                  []     |
-     gst-plugins-ugly   |       []     []                           []     |
-     gstreamer          |       []                            [] [] []     |
-     gtick              |                         []                       |
-     gtkam              |    [] []     []         []                []     |
-     gtkorphan          |                                           []     |
-     gtkspell           |              []   [] [] []    [] []    [] []     |
-     gutenprint         |                                           []     |
-     hello              |       []     []      [] []    [] []    [] []     |
-     herrie             |       []                []                []     |
-     hylafax            |                                                  |
-     idutils            |       []     []      [] []                []     |
-     indent             |       []     []      [] []    []       [] []     |
-     iso_15924          |                                                  |
-     iso_3166           |    [] [] []  []      [] [] [] [] [] [] [] []  [] |
-     iso_3166_2         |                                                  |
-     iso_4217           |       [] []             [] []    []    [] []     |
-     iso_639            |       []                [] [] [] []    [] []     |
-     jpilot             |                                                  |
-     jtag               |                               []                 |
-     jwhois             |       []     []      []                   []     |
-     kbd                |       []             []                   []     |
-     keytouch           |                                           []     |
-     keytouch-editor    |                                           []     |
-     keytouch-keyboa... |                                           []     |
-     latrine            |                                                  |
-     ld                 |                                           []     |
-     leafpad            |       [] []             []    []          []  [] |
-     libc               |       []                []    []          []     |
-     libexif            |       []                      []                 |
-     libextractor       |                      []                   []     |
-     libgpewidget       |       [] []  []      []       [] []    [] []     |
-     libgpg-error       |       []             []                   []     |
-     libgphoto2         |       []                                         |
-     libgphoto2_port    |       []                []                []     |
-     libgsasl           |       []             []                [] []     |
-     libiconv           |                                  []    [] []     |
-     libidn             |       []                               [] ()     |
-     lifelines          |       []                                  []     |
-     lilypond           |                                                  |
-     lingoteach         |              []                                  |
-     lprng              |       []                                         |
-     lynx               |              []         []                []     |
-     m4                 |       []     []      [] []                []     |
-     mailfromd          |       []                                         |
-     mailutils          |       []                []                []     |
-     make               |       []     []         []                []     |
-     man-db             |       []             [] []                []     |
-     minicom            |       []     []      [] []                []     |
-     nano               |              []      [] []                []     |
-     opcodes            |                      []                   []     |
-     parted             |       []                                         |
-     pilot-qof          |                                                  |
-     popt               |       [] []             []                []     |
-     psmisc             |       []                                  []     |
-     pwdutils           |       []                                  []     |
-     qof                |              []                           []     |
-     radius             |       []                []                       |
-     recode             |       [] []  []      [] []       []       []     |
-     rpm                |       [] []             []                []     |
-     screem             |                                                  |
-     scrollkeeper       |       []             [] []    []    [] [] []     |
-     sed                |       [] []  []      [] []    [] []    [] []     |
-     shared-mime-info   |       [] []  []                     [] [] []     |
-     sharutils          |       []                []             [] []     |
-     shishi             |       []                                         |
-     skencil            |          []  []                           []     |
-     solfege            |              []                                  |
-     soundtracker       |                               []          []     |
-     sp                 |                                                  |
-     system-tools-ba... |    [] [] []  []      []             [] [] []  [] |
-     tar                |       []                []       []       []     |
-     texinfo            |       []             [] []                []     |
-     tin                |                         ()                       |
-     tuxpaint           |       [] []                      [] [] [] []     |
-     unicode-han-tra... |                                                  |
-     unicode-transla... |                                                  |
-     util-linux         |              []         []       []       []     |
-     util-linux-ng      |              []         []       []       []     |
-     vorbis-tools       |                         []                       |
-     wastesedge         |                                                  |
-     wdiff              |       []     []      [] []    [] []       []     |
-     wget               |          []             []    []          []     |
-     xchat              |    []                   []    [] [] [] [] []     |
-     xkeyboard-config   |                               [] []       []     |
-     xpad               |                               [] []       []     |
-                        +--------------------------------------------------+
-                          or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv  ta
-                           0  5 77 31  53    4 58 72  3 45 46  9 45 122  3
-
-                          tg th tk tr uk ven vi  wa xh zh_CN zh_HK zh_TW zu
-                        +---------------------------------------------------+
-     Compendium         |          []        []         []          []      | 19
-     a2ps               |          [] []     []                             | 19
-     aegis              |                    []                             |  1
-     ant-phone          |          []        []                             |  6
-     anubis             |          [] []     []                             | 11
-     ap-utils           |             ()     []                             |  4
-     aspell             |             []     []  []                         | 16
-     bash               |          []                                       |  6
-     bfd                |                                                   |  2
-     bibshelf           |                    []                             |  7
-     binutils           |          [] []     []                     []      |  9
-     bison              |          [] []     []                     []      | 20
-     bison-runtime      |             []     []         []          []      | 18
-     bluez-pin          |          [] []     []  []     []          []      | 28
-     cflow              |             []     []                             |  5
-     clisp              |                                                   |  9
-     console-tools      |          []        []                             |  5
-     coreutils          |          [] []     []                             | 18
-     cpio               |          [] []     []         []                  | 11
-     cpplib             |          [] []     []         []          []      | 12
-     cryptonit          |                    []                             |  6
-     dialog             |                    []  []     []                  |  9
-     diffutils          |          [] []     []         []          []      | 29
-     doodle             |                    []                             |  6
-     e2fsprogs          |          []        []                             | 10
-     enscript           |          [] []     []                             | 16
-     fetchmail          |          []        []                             | 12
-     findutils          |          [] []     []                             | 11
-     findutils_stable   |          [] []     []                     []      | 18
-     flex               |          []        []                             | 15
-     fslint             |                    []                             |  2
-     gas                |          []                                       |  3
-     gawk               |          []        []         []                  | 16
-     gcal               |          []                                       |  5
-     gcc                |          []                   []          []      |  7
-     gettext-examples   |          [] []     []         []    []    []      | 29
-     gettext-runtime    |          [] []     []         []    []    []      | 28
-     gettext-tools      |          [] []     []         []          []      | 20
-     gip                |                    []                     []      | 13
-     gliv               |          []        []                             | 11
-     glunarclock        |                    []  []                 []      | 15
-     gmult              |          []        []         []          []      | 16
-     gnubiff            |                    []                             |  2
-     gnucash            |          () []                                    |  5
-     gnuedu             |                    []                             |  2
-     gnulib             |                    []                             | 10
-     gnunet             |                                                   |  0
-     gnunet-gtk         |          []        []                             |  3
-     gnutls             |                                                   |  4
-     gpe-aerial         |                    []         []                  | 14
-     gpe-beam           |                    []         []                  | 14
-     gpe-calendar       |                    []  []                         |  7
-     gpe-clock          |          []        []  []     []                  | 21
-     gpe-conf           |                    []  []     []                  | 16
-     gpe-contacts       |                    []         []                  | 10
-     gpe-edit           |          []        []  []     []          []      | 22
-     gpe-filemanager    |                    []  []                         |  7
-     gpe-go             |          []        []  []     []                  | 19
-     gpe-login          |          []        []  []     []          []      | 21
-     gpe-ownerinfo      |          []        []         []          []      | 21
-     gpe-package        |                    []                             |  6
-     gpe-sketchbook     |          []        []                             | 16
-     gpe-su             |          []        []  []     []                  | 21
-     gpe-taskmanager    |          []        []  []     []                  | 21
-     gpe-timesheet      |          []        []         []          []      | 18
-     gpe-today          |          []        []  []     []          []      | 21
-     gpe-todo           |                    []  []                         |  8
-     gphoto2            |             []     []         []          []      | 21
-     gprof              |          []        []                             | 13
-     gpsdrive           |                    []                             |  5
-     gramadoir          |                    []                             |  7
-     grep               |                    []                             | 12
-     gretl              |                                                   |  6
-     gsasl              |                    []         []          []      |  9
-     gss                |                    []                             |  7
-     gst-plugins-bad    |             []     []         []                  | 13
-     gst-plugins-base   |             []     []                             | 11
-     gst-plugins-good   |             []     []         []    []    []      | 16
-     gst-plugins-ugly   |             []     []         []                  | 13
-     gstreamer          |          [] []     []                             | 18
-     gtick              |             []     []                             |  7
-     gtkam              |                    []                             | 16
-     gtkorphan          |                    []                             |  7
-     gtkspell           |             []     []  []     []    []    []      | 27
-     gutenprint         |                                                   |  4
-     hello              |          [] []     []         []          []      | 38
-     herrie             |          []        []                             |  8
-     hylafax            |                                                   |  0
-     idutils            |          []        []                             | 15
-     indent             |          [] []     []         []          []      | 28
-     iso_15924          |                    []         []                  |  4
-     iso_3166           |    [] [] [] []     []  []     []    []    []      | 54
-     iso_3166_2         |                    []         []                  |  4
-     iso_4217           |    []    []        []         []    []            | 24
-     iso_639            |             []     []  []     []    []            | 26
-     jpilot             |          [] []     []         []                  |  7
-     jtag               |                    []                             |  3
-     jwhois             |          []        []                     []      | 13
-     kbd                |          [] []     []                             | 13
-     keytouch           |                    []                             |  8
-     keytouch-editor    |                    []                             |  5
-     keytouch-keyboa... |                    []                             |  5
-     latrine            |          []        []                             |  5
-     ld                 |          []        []         []          []      | 10
-     leafpad            |          [] []     []         []          []      | 24
-     libc               |          []                   []          []      | 19
-     libexif            |                    []                             |  5
-     libextractor       |                    []                             |  5
-     libgpewidget       |                    []  []     []                  | 20
-     libgpg-error       |                    []                             |  6
-     libgphoto2         |             []     []                             |  9
-     libgphoto2_port    |             []     []                     []      | 11
-     libgsasl           |                    []                             |  8
-     libiconv           |                    []  []                         | 11
-     libidn             |                    []         []                  | 11
-     lifelines          |                                                   |  4
-     lilypond           |                    []                             |  6
-     lingoteach         |                    []                             |  6
-     lprng              |                    []                             |  2
-     lynx               |          [] []     []                             | 15
-     m4                 |                    []         []          []      | 18
-     mailfromd          |             []     []                             |  3
-     mailutils          |             []     []                             |  8
-     make               |          []        []         []                  | 20
-     man-db             |                    []                             |  9
-     minicom            |                    []                             | 14
-     nano               |                    []         []          []      | 20
-     opcodes            |          []        []                             | 10
-     parted             |          [] []                            []      | 11
-     pilot-qof          |                    []                             |  1
-     popt               |          []        []         []          []      | 18
-     psmisc             |                    []         []                  | 10
-     pwdutils           |                    []                             |  3
-     qof                |                    []                             |  4
-     radius             |             []     []                             |  7
-     recode             |          []        []         []                  | 25
-     rpm                |          [] []     []                     []      | 13
-     screem             |                    []                             |  2
-     scrollkeeper       |          [] []     []                     []      | 26
-     sed                |          []        []         []          []      | 23
-     shared-mime-info   |             []     []         []                  | 29
-     sharutils          |          []        []                     []      | 23
-     shishi             |                    []                             |  3
-     skencil            |                    []                             |  7
-     solfege            |                    []                             |  3
-     soundtracker       |          []        []                             |  9
-     sp                 |          []                                       |  3
-     system-tools-ba... |    []    [] []     []     []  []          []      | 38
-     tar                |          [] []     []                             | 17
-     texinfo            |          []        []         []                  | 15
-     tin                |                                                   |  1
-     tuxpaint           |                    []  []                 []      | 19
-     unicode-han-tra... |                                                   |  0
-     unicode-transla... |                                                   |  2
-     util-linux         |          [] []     []                             | 20
-     util-linux-ng      |          [] []     []                             | 20
-     vorbis-tools       |             []     []                             |  4
-     wastesedge         |                                                   |  1
-     wdiff              |          []        []                             | 23
-     wget               |          []        []                     []      | 20
-     xchat              |             []     []         []          []      | 29
-     xkeyboard-config   |          [] []     []                             | 14
-     xpad               |                    []         []          []      | 15
-                        +---------------------------------------------------+
-       76 teams           tg th tk tr uk ven vi  wa xh zh_CN zh_HK zh_TW zu
-      163 domains          0  3  1 74 51  0  143 21  1  57     7    45    0  2036
-
-   Some counters in the preceding matrix are higher than the number of
-visible blocks let us expect.  This is because a few extra PO files are
-used for implementing regional variants of languages, or language
-dialects.
-
-   For a PO file in the matrix above to be effective, the package to
-which it applies should also have been internationalized and
-distributed as such by its maintainer.  There might be an observable
-lag between the mere existence a PO file and its wide availability in a
-distribution.
-
-   If November 2007 seems to be old, you may fetch a more recent copy
-of this `ABOUT-NLS' file on most GNU archive sites.  The most
-up-to-date matrix with full percentage details can be found at
-`http://translationproject.org/extra/matrix.html'.
-
-1.6 Using `gettext' in new packages
-===================================
-
-If you are writing a freely available program and want to
-internationalize it you are welcome to use GNU `gettext' in your
-package.  Of course you have to respect the GNU Library General Public
-License which covers the use of the GNU `gettext' library.  This means
-in particular that even non-free programs can use `libintl' as a shared
-library, whereas only free software can use `libintl' as a static
-library or use modified versions of `libintl'.
-
-   Once the sources are changed appropriately and the setup can handle
-the use of `gettext' the only thing missing are the translations.  The
-Free Translation Project is also available for packages which are not
-developed inside the GNU project.  Therefore the information given above
-applies also for every other Free Software Project.  Contact
-`coordinator@translationproject.org' to make the `.pot' files available
-to the translation teams.
-
diff --git a/Android.bp b/Android.bp
index 375e36d..2ca70cc 100644
--- a/Android.bp
+++ b/Android.bp
@@ -1,3 +1,104 @@
+// Copyright (C) 2013 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// *** THIS PACKAGE HAS SPECIAL LICENSING CONDITIONS.  PLEASE
+//     CONSULT THE OWNERS AND opensource-licensing@google.com BEFORE
+//     DEPENDING ON IT IN YOUR PROJECT. ***
+package {
+    default_applicable_licenses: ["external_elfutils_license"],
+}
+
+// http://go/android-license-faq
+license {
+    name: "external_elfutils_license",
+    visibility: [":__subpackages__"],
+    license_kinds: [
+        "SPDX-license-identifier-Apache-2.0",
+        "SPDX-license-identifier-BSD",
+        "SPDX-license-identifier-GFDL", // by exception only
+        "SPDX-license-identifier-GPL-2.0-or-later",
+        "SPDX-license-identifier-GPL-3.0-or-later",
+        "SPDX-license-identifier-LGPL-3.0-or-later",
+    ],
+    license_text: [
+        "COPYING",
+        "COPYING-GPLV2",
+        "COPYING-LGPLV3",
+        "NOTICE",
+    ],
+}
+
+cc_defaults {
+    name: "elfutils_defaults",
+    cflags: [
+        "-DHAVE_CONFIG_H",
+        "-D_GNU_SOURCE",
+        // upper bound for the number of lines of the resulting mnemonic files
+        "-DNMNES=1000",
+        "-std=gnu99",
+        "-Werror",
+        // to suppress the "pointer of type ‘void *’ used in arithmetic" warning
+        "-Wno-pointer-arith",
+        "-Wno-typedef-redefinition",
+    ],
+    header_libs: [
+         "elfutils_headers",
+    ],
+    export_header_lib_headers: ["elfutils_headers"],
+
+    visibility: [
+        "//external/dwarves:__subpackages__",
+        "//external/elfutils:__subpackages__",
+        "//external/libabigail:__subpackages__",
+        "//external/libbpf:__subpackages__",
+    ],
+}
+
+cc_library {
+    name: "libelf",
+    host_supported: true,
+    vendor_available: true,
+    defaults: ["elfutils_defaults"],
+
+    srcs:  ["libelf/*.c",],
+
+    static_libs: ["libz"],
+
+    export_include_dirs: ["libelf"],
+
+    target: {
+        darwin: {
+            enabled: false,
+        },
+        android: {
+            cflags: [
+                "-D_FILE_OFFSET_BITS=64",
+                "-include AndroidFixup.h",
+            ],
+            shared: {
+                enabled: false,
+            },
+        },
+    },
+
+    visibility: [
+        "//device/google/contexthub/util/nanoapp_postprocess",
+        "//external/igt-gpu-tools",
+        "//external/mesa3d",
+    ],
+}
+
 cc_library_headers {
     name: "elfutils_headers",
     host_supported: true,
@@ -15,4 +116,57 @@
     visibility: [":__subpackages__"],
 }
 
-subdirs = ["libelf"]
+cc_library_host_static {
+    name: "libdw",
+    defaults: ["elfutils_defaults"],
+    target: {
+        darwin: {
+            enabled: false,
+        },
+    },
+    srcs: [
+        "backends/*.c",
+        "libcpu/*_disasm.c",
+        "libdw/*.c",
+        "libdwelf/*.c",
+        "libdwfl/*.c",
+        "libebl/*.c",
+    ],
+    generated_headers: [
+        "i386_dis",
+        "i386_mnemonics",
+        "x86_64_dis",
+        "x86_64_mnemonics",
+    ],
+    exclude_srcs: [
+        // Do not enabled compression support
+        "libdwfl/bzip2.c",
+        "libdwfl/lzma.c",
+        "libdwfl/zstd.c",
+        // Those headers are incompatible with clang due to nested function
+        // definitions.
+        "libdwfl/dwfl_segment_report_module.c",
+        "libdwfl/debuginfod-client.c",
+        "libdwfl/elf-from-memory.c",
+        "libdwfl/link_map.c",
+        // Those are common source files actually used as headers and not
+        // compiled standalone.
+        "backends/common-reloc.c",
+        "backends/linux-core-note.c",
+        "backends/x86_corenote.c",
+    ],
+    local_include_dirs: [
+        "libcpu",
+        "libasm",
+        "libdwelf",
+        "libdwfl",
+        "libebl",
+    ],
+    export_include_dirs: [
+        "libdw",
+    ],
+    static_libs: [
+        "libelf"
+    ],
+    compile_multilib: "64",
+}
diff --git a/CONTRIBUTING b/CONTRIBUTING
index e3d5a0f..bb48975 100644
--- a/CONTRIBUTING
+++ b/CONTRIBUTING
@@ -8,7 +8,7 @@
 https://sourceware.org/ml/elfutils-devel/
 
 To subscribe send an email to elfutils-devel-subscribe@sourceware.org
-Or use the form at https://sourceware.org/lists.html#ml-requestor
+Or use the form at https://sourceware.org/mailman/listinfo/elfutils-devel
 
 Please supply patches using git format-patch or using git send-email.
 
diff --git a/ChangeLog b/ChangeLog
index 0e22962..d379e71 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,136 @@
+2021-02-05  Mark Wielaard  <mark@klomp.org>
+
+	* configure.ac (AC_INIT): Set version to 0.183.
+	(AC_COPYRIGHT): Update Copyright year.
+	* NEWS: Add 0.183 section.
+
+2021-02-01  Érico Nogueira  <ericonr@disroot.org>
+
+	* configure.ac: Check for GNU strerror_r.
+
+2021-01-12  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* configure.ac [--enable-gcov]: Check for gcov, lcov, and genhtml.
+	* Makefile.am [GCOV] (coverage, coverage-clean): New targets.
+	* .gitignore: Update.
+
+2020-12-20  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* .gitignore: Move subdirectory patterns to separate .gitignore files.
+
+	* .gitignore: Update.
+
+2020-12-15  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* configure.ac (USE_NLS, AM_PO_SUBDIRS): Remove.
+	(AM_GNU_GETTEXT, AM_GNU_GETTEXT_VERSION,
+	AM_GNU_GETTEXT_REQUIRE_VERSION): Use these macros to setup the gettext
+	infrastructure.
+	* .gitignore: Update.
+
+	* Makefile.am (SUBDIRS): Remove m4.
+	* configure.ac (AC_CONFIG_FILES): Remove m4/Makefile.
+
+	* configure.ac (AC_CONFIG_MACRO_DIR): Remove.
+
+2020-12-12  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* configure.ac: Fix spelling typos in comments.
+	* NEWS: Fix spelling typos.
+	* NOTES: Likewise.
+	* TODO: Likewise.
+
+2020-12-11  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* configure.ac (AM_CONDITIONAL): Remove HAVE_LIBASM and STANDALONE.
+
+	* configure.ac: Rewrite argp check.
+
+	* configure.ac (AC_MSG_FAILURE): Fix typo.
+
+2020-11-30  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* configure.ac (LIBDEBUGINFOD_SONAME): New AC_SUBST variable.
+	(AC_CONFIG_FILES): Add debuginfod/debuginfod.h.
+
+2020-11-01  Érico N. Rolim  <erico.erc@gmail.com>
+
+	* configure.ac: Check for fts and obstack from outside libc.
+
+2020-10-28  Mark Wielaard  <mark@klomp.org>
+
+	* configure.ac: Set version to 0.182.
+	* NEWS: Add 0.182 section.
+
+2020-10-28  Tom Tromey  <tom@tromey.com>
+
+	* .gitignore: Add /tests/leb128.
+
+2020-10-01  Frank Ch. Eigler  <fche@redhat.com>
+
+	PR25461
+	* configure.ac: Add --enable-debuginfod-urls[=URLS] option.
+
+2020-09-18  Mark Wielaard  <mark@klomp.org>
+
+	* configure.ac: Check availability of libzstd and zstd.
+
+2020-09-08  Mark Wielaard  <mark@klomp.org>
+
+	* configure.ac: Set version to 0.181.
+	* NEWS: Add 0.181 section.
+
+2020-08-20  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* configure.ac (--enable-libdebuginfod): AC_DEFINE ENABLE_LIBDEBUGINFOD.
+
+2020-07-17  Mark Wielaard  <mark@klomp.org>
+
+	* configure.ac: Set -DBAD_FTS=1 also for CXXFLAGS.
+
+2020-06-19  Mark Wielaard  <mark@klomp.org>
+
+	* Makefile.am (SUBDIRS): Always add debuginfod.
+	* configure.ac (debuginfod): Split off...
+	(libdebuginfod): ... this. Also add DUMME_DEBUGINFOD.
+
+2020-06-15  Sergei Trofimovich <slyfox@gentoo.org>
+
+	* configure.ac: Use READELF in build-id check.
+
+2020-06-11  Mark Wielaard  <mark@klomp.org>
+
+	* configure.ac: Set version to 0.180.
+	* NEWS: Add 0.180 section.
+	* .gitignore: Update with new generated file.
+
+2020-06-10  Mark Wielaard  <mark@klomp.org>
+
+	* configure.ac (MODVERSION): Remove.
+
+2020-03-30  Mark Wielaard  <mark@klomp.org>
+
+	* configure.ac: Set version to 0.179.
+	* NEWS: Add 0.179 section.
+
+2020-03-25  Mark Wielaard  <mark@klomp.org>
+
+	* README: Update mailinglist subscription info.
+	* CONTRIBUTING: Likewise.
+
+2020-02-03  Frank Ch. Eigler  <fche@redhat.com>
+
+	* configure.ac: Tolerate CXX= for debuginfod configuration.
+
+2019-12-11  Omar Sandoval  <osandov@fb.com>
+
+	* configure.ac: Apply -Werror after user-defined CFLAGS in
+	-D_FORTIFY_SOURCE=2 check.
+
+2019-12-06  Mark Wielaard  <mark@klomp.org>
+
+	* configure.ac: Add ac_cv_buildid check.
+
 2019-11-26  Mark Wielaard  <mark@klomp.org>
 
 	* configure.ac: Set version to 0.178.
diff --git a/CleanSpec.mk b/CleanSpec.mk
deleted file mode 100644
index 20d1ae7..0000000
--- a/CleanSpec.mk
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright (C) 2007 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-# If you don't need to do a full clean build but would like to touch
-# a file or delete some intermediate files, add a clean step to the end
-# of the list.  These steps will only be run once, if they haven't been
-# run before.
-#
-# E.g.:
-#     $(call add-clean-step, touch -c external/sqlite/sqlite3.h)
-#     $(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libz_intermediates)
-#
-# Always use "touch -c" and "rm -f" or "rm -rf" to gracefully deal with
-# files that are missing or have been moved.
-#
-# Use $(PRODUCT_OUT) to get to the "out/target/product/blah/" directory.
-# Use $(OUT_DIR) to refer to the "out" directory.
-#
-# If you need to re-do something that's already mentioned, just copy
-# the command and add it to the bottom of the list.  E.g., if a change
-# that you made last week required touching a file and a change you
-# made today requires touching the same file, just copy the old
-# touch step and add it to the end of the list.
-#
-# ************************************************
-# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
-# ************************************************
-
-# For example:
-#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/APPS/AndroidTests_intermediates)
-#$(call add-clean-step, rm -rf $(OUT_DIR)/target/common/obj/JAVA_LIBRARIES/core_intermediates)
-#$(call add-clean-step, find $(OUT_DIR) -type f -name "IGTalkSession*" -print0 | xargs -0 rm -f)
-#$(call add-clean-step, rm -rf $(PRODUCT_OUT)/data/*)
-
-$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libdw_intermediates)
-$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libdwfl_intermediates)
-$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libelf_intermediates)
-$(call add-clean-step, rm -rf $(PRODUCT_OUT)/obj/STATIC_LIBRARIES/libebl_intermediates)
-$(call add-clean-step, rm -rf $(HOST_OUT)/obj/STATIC_LIBRARIES/libdw_intermediates)
-$(call add-clean-step, rm -rf $(HOST_OUT)/obj/STATIC_LIBRARIES/libdwfl_intermediates)
-$(call add-clean-step, rm -rf $(HOST_OUT)/obj/STATIC_LIBRARIES/libelf_intermediates)
-$(call add-clean-step, rm -rf $(HOST_OUT)/obj/STATIC_LIBRARIES/libebl_intermediates)
-
-# ************************************************
-# NEWER CLEAN STEPS MUST BE AT THE END OF THE LIST
-# ************************************************
diff --git a/METADATA b/METADATA
index b6da4fa..55c6e00 100644
--- a/METADATA
+++ b/METADATA
@@ -1,3 +1,6 @@
+# *** THIS PACKAGE HAS SPECIAL LICENSING CONDITIONS.  PLEASE
+#     CONSULT THE OWNERS AND opensource-licensing@google.com BEFORE
+#     DEPENDING ON IT IN YOUR PROJECT. ***
 name: "elfutils"
 description: "elfutils is a collection of utilities and libraries to read, create and modify ELF binary files, find and handle DWARF debug data, symbols, thread state and stacktraces for processes and core files on GNU/Linux."
 third_party {
@@ -9,10 +12,12 @@
     type: GIT
     value: "git://sourceware.org/git/elfutils.git"
   }
-  version: "elfutils-0.178"
+  version: "elfutils-0.183"
+  license_type: BY_EXCEPTION_ONLY
+  license_note: "Would be RESTRICTED save for doc/COPYING-GFDL"
   last_upgrade_date {
-    year: 2019
-    month: 12
-    day: 10
+    year: 2021
+    month: 2
+    day: 16
   }
 }
diff --git a/Makefile.am b/Makefile.am
index bd8926b..9c47afa 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -26,12 +26,8 @@
 
 pkginclude_HEADERS = version.h
 
-SUBDIRS = config m4 lib libelf libcpu backends libebl libdwelf libdwfl libdw \
-	  libasm src po doc tests
-
-if DEBUGINFOD
-SUBDIRS += debuginfod
-endif
+SUBDIRS = config lib libelf libcpu backends libebl libdwelf libdwfl libdw \
+	  libasm debuginfod src po doc tests
 
 EXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING \
 	     COPYING COPYING-GPLV2 COPYING-LGPLV3
@@ -51,6 +47,57 @@
 rpm: dist
 	rpmbuild -ts --sign elfutils-@PACKAGE_VERSION@.tar.bz2
 
+if GCOV
+
+COVERAGE_OUTPUT_FILE = $(PACKAGE_NAME).lcov
+COVERAGE_OUTPUT_DIRECTORY = coverage
+COVERAGE_OUTPUT_INDEX_HTML = $(COVERAGE_OUTPUT_DIRECTORY)/index.html
+COVERAGE_TITLE = $(PACKAGE_NAME)-$(PACKAGE_VERSION)
+
+COVERAGE_DIRS = $(filter-out tests,$(SUBDIRS))
+src_COVERAGE_DIRS = $(patsubst %,$(srcdir)/%,$(COVERAGE_DIRS))
+build_COVERAGE_DIRS = $(patsubst %,$(builddir)/%,$(COVERAGE_DIRS))
+all_COVERAGE_DIRS = $(sort $(src_COVERAGE_DIRS) $(build_COVERAGE_DIRS))
+LCOV_DIRS_ARGS = $(patsubst %,--directory=%,$(all_COVERAGE_DIRS))
+
+CLEANFILES = $(COVERAGE_OUTPUT_FILE)
+
+.PHONY: coverage coverage-clean
+
+clean-local: coverage-clean
+distclean-local: coverage-clean
+
+coverage-clean:
+	-rm -rf $(COVERAGE_OUTPUT_DIRECTORY)
+
+coverage: $(COVERAGE_OUTPUT_INDEX_HTML)
+	@echo 'file://$(abs_builddir)/$(COVERAGE_OUTPUT_INDEX_HTML)'
+
+$(COVERAGE_OUTPUT_INDEX_HTML): $(COVERAGE_OUTPUT_FILE)
+	LC_ALL=C $(GENHTML) \
+		--legend \
+		--show-details \
+		--rc=genhtml_branch_coverage=1 \
+		--title='$(COVERAGE_TITLE)' \
+		--prefix='$(abspath $(abs_srcdir))' \
+		--prefix='$(realpath $(abs_srcdir))' \
+		--prefix='$(abspath $(abs_builddir)/..)' \
+		--prefix='$(realpath $(abs_builddir)/..)' \
+		--output-directory='$(COVERAGE_OUTPUT_DIRECTORY)' \
+		$<
+
+$(COVERAGE_OUTPUT_FILE):
+	$(LCOV) \
+		--capture \
+		--no-external \
+		--no-checksum \
+		--rc=lcov_branch_coverage=1 \
+		--gcov-tool='$(GCOV)' \
+		--output-file='$@' \
+		$(LCOV_DIRS_ARGS)
+
+endif
+
 # Tell version 3.79 and up of GNU make to not build goals in this
 # directory in parallel.
 .NOTPARALLEL:
diff --git a/NEWS b/NEWS
index c147ad3..6437f20 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,100 @@
+Version 0.183
+
+debuginfod: New thread-busy metric and more detailed error metrics.
+            New --fdcache-mintmp and tracking of filesystem freespace.
+            New increased webapi concurrency while grooming.
+
+debuginfod-client: DEBUGINFOD_SONAME macro added to debuginfod.h which
+                   can be used to dlopen the libdebuginfod.so library.
+                   New function debuginfod_set_verbose_fd and
+                   DEBUGINFOD_VERBOSE environment variable.
+
+config: profile.sh and profile.csh won't export DEBUGINFOD_URLS unless
+        configured --enable-debuginfod-urls[=URLS]
+
+elflint, readelf: Recognize SHF_GNU_RETAIN.
+                  Handle SHT_X86_64_UNWIND as valid relocation target.
+
+Version 0.182
+
+backends: Support for tilegx has been removed.
+
+config: New /etc/profile.d files to provide default $DEBUGINFOD_URLS.
+
+debuginfod: More efficient package traversal, tolerate various errors
+            during scanning, grooming progress is more visible and
+            interruptible, more prometheus metrics.
+
+debuginfod-client: Now supports compressed (kernel) ELF images.
+
+libdwfl: Add ZSTD compression support.
+
+Version 0.181
+
+libelf: elf_update now compensates (fixes up) a bad sh_addralign for
+        SHF_COMPRESSED sections.
+
+libdebuginfod: configure now takes --enable-libdebuginfod=dummy or
+               --disable-libdebuginfod for bootstrapping.
+               DEBUGINFOD_URLS now accepts "scheme-free" urls
+               (guessing at what the user meant, either http:// or file://)
+
+readelf, elflint: Handle aarch64 bti, pac bits in dynamic table and gnu
+                  property notes.
+
+libdw, readelf: Recognize DW_CFA_AARCH64_negate_ra_state. Allows unwinding
+                on arm64 for code that is compiled for PAC (Pointer
+                Authentication Code) as long as it isn't enabled.
+
+Version 0.180
+
+elflint: Allow SHF_EXCLUDE as generic section flag when --gnu is given.
+
+libdw, readelf: Handle GCC LTO .gnu.debuglto_ prefix.
+
+libdw: Use correct CU to resolve file names in dwarf_decl_file.
+
+libdwfl: Handle debugaltlink in dwfl_standard_find_debuginfo.
+
+size: Also obey radix printing for bsd format.
+
+nm: Explicitly print weak 'V' or 'T' and common 'C' symbols.
+
+Version 0.179
+
+debuginfod-client: When DEBUGINFOD_PROGRESS is set and the program doesn't
+                   install its own debuginfod_progressfn_t show download
+                   progress on stderr.
+                   DEBUGINFOD_TIMEOUT is now defined as seconds to get at
+                   least 100K, defaults to 90 seconds.
+                   Default to $XDG_CACHE_HOME/debuginfod_client.
+                   New functions debuginfod_set_user_data,
+                   debuginfod_get_user_data, debuginfod_get_url and
+                   debuginfod_add_http_header.
+                   Support for file:// URLs.
+
+debuginfod: Uses libarchive directly for reading rpm archives.
+            Support for indexing .deb/.ddeb archives through dpkg-deb
+            or bsdtar.
+            Generic archive support through -Z EXT[=CMD]. Which can be
+            used for example for arch-linux pacman files by using
+            -Z '.tar.zst=zstdcat'.
+            Better logging using User-Agent and X-Forwarded-For headers.
+            More prometheus metrics.
+            Support for eliding dots or extraneous slashes in path names.
+
+debuginfod-find: Accept /path/names in place of buildid hex.
+
+libelf: Handle PN_XNUM in elf_getphdrnum before shdr 0 is cached
+        Ensure zlib resource cleanup on failure.
+
+libdwfl: dwfl_linux_kernel_find_elf and dwfl_linux_kernel_report_offline
+         now find and handle a compressed vmlinuz image.
+
+readelf, elflint: Handle PT_GNU_PROPERTY.
+
+translations: Updated Ukrainian translation.
+
 Version 0.178
 
 debuginfod: New server, client tool and library to index and fetch
@@ -48,7 +145,7 @@
 
 Version 0.175
 
-readelf: Handle mutliple .debug_macro sections.
+readelf: Handle multiple .debug_macro sections.
          Recognize and parse GNU Property notes, NT_VERSION notes
          and GNU Build Attribute ELF Notes.
 
@@ -549,7 +646,7 @@
 
 libelf: Fix regression in creation of section header
 
-libdwfl: Less strict behavior if DWARF reader ist just used to display data
+libdwfl: Less strict behavior if DWARF reader is just used to display data
 
 Version 0.139:
 
@@ -859,7 +956,7 @@
 Version 0.106:
 
 libdw: Updated dwarf.h from DWARF3 spec
-libdw: add new funtions dwarf_func_entrypc, dwarf_func_file, dwarf_func_line,
+libdw: add new functions dwarf_func_entrypc, dwarf_func_file, dwarf_func_line,
 dwarf_func_col, dwarf_getsrc_file
 
 Version 0.105:
@@ -969,7 +1066,7 @@
 Version 0.90:
 
 libebl: Recognize a few more section types and dynamic tags and return
-approriate strings.
+appropriate strings.
 
 Version 0.89:
 
@@ -1071,11 +1168,11 @@
 
 Version 0.72:
 
-libelf: and yet more fun with endian tranformation at output time.
+libelf: and yet more fun with endian transformation at output time.
 
 Version 0.71:
 
-libelf: more fun with endian tranformation at output time.  Add test for it.
+libelf: more fun with endian transformation at output time.  Add test for it.
 
 Version 0.70:
 
@@ -1086,7 +1183,7 @@
 
 Version 0.69:
 
-libelf: fix output routines to handle case where section indeces and
+libelf: fix output routines to handle case where section indices and
 ordre in the output file don't match correctly.  Patch by Jakub.
 
 elflint: fix test of note section content for 64-bit platforms and files
@@ -1261,7 +1358,7 @@
 
 libelf: implement {gelf,elf32,elf64}_checksum
 
-libelf: optimze DSO: fewer relocations, fewer PLTs
+libelf: optimize DSO: fewer relocations, fewer PLTs
 
 add msg_tst test
 
@@ -1506,7 +1603,7 @@
 
 more work on assigning input sections to output sections.
 
-Add gelf_xlatetof and gelf_xlatetom which were accidently left out.
+Add gelf_xlatetof and gelf_xlatetom which were accidentally left out.
 
 Fix memory handling of section headers.
 
diff --git a/NOTES b/NOTES
index 2a5c23b..deae643 100644
--- a/NOTES
+++ b/NOTES
@@ -55,7 +55,7 @@
 
 
 - the old linker supported extern "C++", extern "java" in version scripts.
-  I believe this implementation is severly broken and needs a redesign
+  I believe this implementation is severely broken and needs a redesign
   (how do wildcards work with these languages*?).  Therefore it is left
   out for now.
 
@@ -91,5 +91,5 @@
   Sections created in output files follow the naming of special section
   from the gABI.
 
-  In no place is a section solely indentified by its name.  Internal
+  In no place is a section solely identified by its name.  Internal
   references always use the section index.
diff --git a/OWNERS b/OWNERS
index 0088b03..80b7325 100644
--- a/OWNERS
+++ b/OWNERS
@@ -1,4 +1 @@
-# Default code reviewers picked from top 3 or more developers.
-# Please update this list if you find better candidates.
-enh@google.com
-chh@google.com
+maennich@google.com
diff --git a/README b/README
index 0e15bae..06a9fcd 100644
--- a/README
+++ b/README
@@ -24,7 +24,7 @@
 https://sourceware.org/ml/elfutils-devel/
 
 To subscribe send an email to elfutils-devel-subscribe@sourceware.org
-Or use the form at https://sourceware.org/lists.html#ml-requestor
+Or use the form at https://sourceware.org/mailman/listinfo/elfutils-devel
 
 See the CONTRIBUTING file for how to propose patches to the code.
 
diff --git a/TODO b/TODO
index ad10a5e..5ed5e21 100644
--- a/TODO
+++ b/TODO
@@ -135,7 +135,7 @@
 
    check whether any relocation is for a merge-able section
 
-   check TLS relocation depencies
+   check TLS relocation dependencies
 
    Check content of .eh_frame_hdr, .eh_frame, .gcc_except_table
 
diff --git a/backends/ChangeLog b/backends/ChangeLog
index 3f5f9bb..eb15c81 100644
--- a/backends/ChangeLog
+++ b/backends/ChangeLog
@@ -1,3 +1,75 @@
+2021-02-01  Érico Nogueira  <ericonr@disroot.org>
+
+	* ppc_initreg.c: Also include <asm/ptrace.h>.
+
+2020-12-12  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* aarch64_retval.c (aarch64_return_value_location): Fix spelling typo
+	in comment.
+	* ppc_cfi.c (ppc_abi_cfi): Likewise.
+
+2020-11-17  Mark Wielard  <mark@klomp.org>
+
+	* x86_64_symbol.c (x86_64_check_reloc_target_type): New function.
+	* x86_64_init.c (x86_64_init): Hook check_reloc_target_type.
+
+2020-10-19  Mark Wielard  <mark@klomp.org>
+
+	* Makefile.am (modules): Remove tilegx.
+	(tilegx_SRCS): Removed.
+	(libebl_backends_a_SOURCES): Remove tilegx_SRCS.
+	* tilegx_corenote.c: Removed.
+	* tilegx_init.c: Removed.
+	* tilegx_regs.c: Removed.
+	* tilegx_reloc.def: Removed.
+	* tilegx_retval.c: Removed.
+	* tilegx_symbol.c: Removed.
+
+2020-10-19  Mark Wielard  <mark@klomp.org>
+
+	* Makefile.am (i386_SRCS): Remove i386_syscall.c.
+	(x86_64_SRCS): Remove x86_64_syscall.c.
+	(ppc_SRCS): Remove ppc_syscall.c.
+	* i386_init.c (i386_init): Remove syscall_abi HOOK.
+	* i386_syscall.c: Delete.
+	* ppc64_init.c (ppc64_init): Remove syscall_abi HOOK.
+	* ppc_syscall.c: Delete.
+	* x86_64_init.c (x86_64_init): Remove syscall_abi HOOK.
+	* x86_64_syscall.c: Delete.
+
+2020-08-28  Mark Wielard  <mark@klomp.org>
+
+	* aarch64_init.c (aarch64_init): Hook dynamic_tag_name and
+	dynamic_tag_check.
+	* aarch64_symbol.c (aarch64_dynamic_tag_name): New function.
+	(aarch64_dynamic_tag_check): Likewise.
+
+2020-06-16  Mark Wielard  <mark@klomp.org>
+
+	* common-reloc.c (reloc_nametable): Make zero a 1 char array.
+	Initialize it as an array { '\0' }.
+	(reloc_type_name): Access zero as an array.
+
+2020-06-10  Mark Wielard  <mark@klomp.org>
+
+	* aarch64_init.c (aarch64_init): Remove ehlen, return eh.
+	* alpha_init.c (alpha_init): Likewise.
+	* arm_init.c (arm_init): Likewise.
+	* bpf_init.c (bpf_init): Likewise.
+	* csky_init.c (csky_init): Likewise.
+	* i386_init.c (i386_init): Likewise.
+	* ia64_init.c (ia64_init): Likewise.
+	* m68k_init.c (m68k_init): Likewise.
+	* ppc64_init.c (ppc64_init): Likewise.
+	* ppc_init.c (ppc_init): Likewise.
+	* riscv_init.c (riscv_init): Likewise.
+	* s390_init.c (s390_init): Likewise.
+	* sh_init.c (sh_init): Likewise.
+	* sparc_init.c (sparc_init): Likewise.
+	* tilegx_init.c (tilegx_init): Likewise.
+	* x86_64_init.c (x86_64_init): Likewise.
+	* libebl_CPU.h (init): Adjust EBLHOOK signature.
+
 2019-07-05  Omar Sandoval  <osandov@fb.com>
 
 	* Makefile.am: Replace libcpu_{i386,x86_64,bpf}.a with libcpu.a.
diff --git a/backends/Makefile.am b/backends/Makefile.am
index f405212..62916c9 100644
--- a/backends/Makefile.am
+++ b/backends/Makefile.am
@@ -37,16 +37,16 @@
 noinst_LIBRARIES = libebl_backends.a libebl_backends_pic.a
 
 modules = i386 sh x86_64 ia64 alpha arm aarch64 sparc ppc ppc64 s390 \
-	  tilegx m68k bpf riscv csky
+	  m68k bpf riscv csky
 
 i386_SRCS = i386_init.c i386_symbol.c i386_corenote.c i386_cfi.c \
-	    i386_retval.c i386_regs.c i386_auxv.c i386_syscall.c \
+	    i386_retval.c i386_regs.c i386_auxv.c \
 	    i386_initreg.c i386_unwind.c
 
 sh_SRCS = sh_init.c sh_symbol.c sh_corenote.c sh_regs.c sh_retval.c
 
 x86_64_SRCS = x86_64_init.c x86_64_symbol.c x86_64_corenote.c x86_64_cfi.c \
-	      x86_64_retval.c x86_64_regs.c x86_64_syscall.c x86_64_initreg.c \
+	      x86_64_retval.c x86_64_regs.c x86_64_initreg.c \
 	      x86_64_unwind.c x32_corenote.c
 
 
@@ -67,7 +67,7 @@
              sparc_cfi.c sparc_initreg.c
 
 ppc_SRCS = ppc_init.c ppc_symbol.c ppc_retval.c ppc_regs.c \
-	   ppc_corenote.c ppc_auxv.c ppc_attrs.c ppc_syscall.c \
+	   ppc_corenote.c ppc_auxv.c ppc_attrs.c \
 	   ppc_cfi.c ppc_initreg.c
 
 ppc64_SRCS = ppc64_init.c ppc64_symbol.c ppc64_retval.c ppc64_corenote.c \
@@ -77,9 +77,6 @@
 	    s390_corenote.c s390x_corenote.c s390_cfi.c s390_initreg.c \
 	    s390_unwind.c
 
-tilegx_SRCS = tilegx_init.c tilegx_symbol.c tilegx_regs.c \
-              tilegx_retval.c tilegx_corenote.c
-
 m68k_SRCS = m68k_init.c m68k_symbol.c m68k_regs.c \
 	    m68k_retval.c m68k_corenote.c m68k_cfi.c m68k_initreg.c
 
@@ -101,7 +98,7 @@
 libebl_backends_a_SOURCES = $(i386_SRCS) $(sh_SRCS) $(x86_64_SRCS) \
 			    $(ia64_SRCS) $(alpha_SRCS) $(arm_SRCS) \
 			    $(aarch64_SRCS) $(sparc_SRCS) $(ppc_SRCS) \
-			    $(ppc64_SRCS) $(s390_SRCS) $(tilegx_SRCS) \
+			    $(ppc64_SRCS) $(s390_SRCS) \
 			    $(m68k_SRCS) $(bpf_SRCS) $(riscv_SRCS) $(csky_SRCS)
 
 libebl_backends_pic_a_SOURCES =
diff --git a/backends/aarch64_init.c b/backends/aarch64_init.c
index 95268ae..bed9295 100644
--- a/backends/aarch64_init.c
+++ b/backends/aarch64_init.c
@@ -38,16 +38,11 @@
 #include "common-reloc.c"
 
 
-const char *
+Ebl *
 aarch64_init (Elf *elf __attribute__ ((unused)),
 	      GElf_Half machine __attribute__ ((unused)),
-	      Ebl *eh,
-	      size_t ehlen)
+	      Ebl *eh)
 {
-  /* Check whether the Elf_BH object has a sufficent size.  */
-  if (ehlen < sizeof (Ebl))
-    return NULL;
-
   /* We handle it.  */
   aarch64_init_reloc (eh);
   HOOK (eh, register_info);
@@ -55,6 +50,8 @@
   HOOK (eh, reloc_simple_type);
   HOOK (eh, return_value_location);
   HOOK (eh, check_special_symbol);
+  HOOK (eh, dynamic_tag_name);
+  HOOK (eh, dynamic_tag_check);
   HOOK (eh, data_marker_symbol);
   HOOK (eh, abi_cfi);
 
@@ -65,5 +62,5 @@
   HOOK (eh, set_initial_registers_tid);
   HOOK (eh, unwind);
 
-  return MODVERSION;
+  return eh;
 }
diff --git a/backends/aarch64_retval.c b/backends/aarch64_retval.c
index 1308340..72d4e8a 100644
--- a/backends/aarch64_retval.c
+++ b/backends/aarch64_retval.c
@@ -332,7 +332,7 @@
 	      switch (size)
 		{
 		case 2: /* half */
-		case 4: /* sigle */
+		case 4: /* single */
 		case 8: /* double */
 		case 16: /* quad */
 		  return pass_in_simd (locp);
diff --git a/backends/aarch64_symbol.c b/backends/aarch64_symbol.c
index e30c409..464a569 100644
--- a/backends/aarch64_symbol.c
+++ b/backends/aarch64_symbol.c
@@ -106,3 +106,29 @@
 	  && GELF_ST_TYPE (sym->st_info) == STT_NOTYPE
 	  && (strcmp (sname, "$d") == 0 || strncmp (sname, "$d.", 3) == 0));
 }
+
+const char *
+aarch64_dynamic_tag_name (int64_t tag, char *buf __attribute__ ((unused)),
+			  size_t len __attribute__ ((unused)))
+{
+  switch (tag)
+    {
+    case DT_AARCH64_BTI_PLT:
+      return "AARCH64_BTI_PLT";
+    case DT_AARCH64_PAC_PLT:
+      return "AARCH64_PAC_PLT";
+    case DT_AARCH64_VARIANT_PCS:
+      return "AARCH64_VARIANT_PCS";
+    default:
+      break;
+    }
+  return NULL;
+}
+
+bool
+aarch64_dynamic_tag_check (int64_t tag)
+{
+  return (tag == DT_AARCH64_BTI_PLT
+	  || tag == DT_AARCH64_PAC_PLT
+	  || tag == DT_AARCH64_VARIANT_PCS);
+}
diff --git a/backends/alpha_init.c b/backends/alpha_init.c
index f66f40c..c69aec6 100644
--- a/backends/alpha_init.c
+++ b/backends/alpha_init.c
@@ -39,16 +39,11 @@
 #include "common-reloc.c"
 
 
-const char *
+Ebl *
 alpha_init (Elf *elf __attribute__ ((unused)),
 	    GElf_Half machine __attribute__ ((unused)),
-	    Ebl *eh,
-	    size_t ehlen)
+	    Ebl *eh)
 {
-  /* Check whether the Elf_BH object has a sufficent size.  */
-  if (ehlen < sizeof (Ebl))
-    return NULL;
-
   /* We handle it.  */
   alpha_init_reloc (eh);
   HOOK (eh, dynamic_tag_name);
@@ -64,5 +59,5 @@
   HOOK (eh, auxv_info);
   eh->sysvhash_entrysize = sizeof (Elf64_Xword);
 
-  return MODVERSION;
+  return eh;
 }
diff --git a/backends/arm_init.c b/backends/arm_init.c
index af023f0..edd53b7 100644
--- a/backends/arm_init.c
+++ b/backends/arm_init.c
@@ -39,16 +39,11 @@
 #include "common-reloc.c"
 
 
-const char *
+Ebl *
 arm_init (Elf *elf __attribute__ ((unused)),
 	  GElf_Half machine __attribute__ ((unused)),
-	  Ebl *eh,
-	  size_t ehlen)
+	  Ebl *eh)
 {
-  /* Check whether the Elf_BH object has a sufficent size.  */
-  if (ehlen < sizeof (Ebl))
-    return NULL;
-
   /* We handle it.  */
   arm_init_reloc (eh);
   HOOK (eh, segment_type_name);
@@ -72,5 +67,5 @@
   /* Bit zero encodes whether an function address is THUMB or ARM. */
   eh->func_addr_mask = ~(GElf_Addr)1;
 
-  return MODVERSION;
+  return eh;
 }
diff --git a/backends/bpf_init.c b/backends/bpf_init.c
index d407d37..f20f339 100644
--- a/backends/bpf_init.c
+++ b/backends/bpf_init.c
@@ -39,20 +39,16 @@
 #include "common-reloc.c"
 
 
-const char *
+Ebl *
 bpf_init (Elf *elf __attribute__ ((unused)),
 	  GElf_Half machine __attribute__ ((unused)),
-	  Ebl *eh, size_t ehlen)
+	  Ebl *eh)
 {
-  /* Check whether the Elf_BH object has a sufficent size.  */
-  if (ehlen < sizeof (Ebl))
-    return NULL;
-
   /* We handle it.  */
   bpf_init_reloc (eh);
   HOOK (eh, register_info);
   HOOK (eh, disasm);
   HOOK (eh, reloc_simple_type);
 
-  return MODVERSION;
+  return eh;
 }
diff --git a/backends/common-reloc.c b/backends/common-reloc.c
index 096ed1c..a91bc87 100644
--- a/backends/common-reloc.c
+++ b/backends/common-reloc.c
@@ -45,14 +45,14 @@
 
 static const struct EBLHOOK(reloc_nametable)
 {
-  char zero;
+  char zero[1];
 #define	RELOC_TYPE(type, uses) \
   char name_##type[sizeof R_NAME (type)];
 #include RELOC_TYPES
 #undef RELOC_TYPE
 } EBLHOOK(reloc_nametable) =
   {
-    '\0',
+    { '\0' },
 #define	RELOC_TYPE(type, uses) R_NAME (type),
 #include RELOC_TYPES
 #undef RELOC_TYPE
@@ -92,7 +92,7 @@
 #endif
 
   if (reloc >= 0 && reloc < nreloc && EBLHOOK(reloc_nameidx)[reloc] != 0)
-    return &reloc_namestr[EBLHOOK(reloc_nameidx)[reloc]];
+    return reloc_namestr[EBLHOOK(reloc_nameidx)[reloc]];
   return NULL;
 }
 
diff --git a/backends/csky_init.c b/backends/csky_init.c
index b34a03a..b2863ce 100644
--- a/backends/csky_init.c
+++ b/backends/csky_init.c
@@ -37,16 +37,11 @@
 /* This defines the common reloc hooks based on csky_reloc.def.  */
 #include "common-reloc.c"
 
-const char *
+Ebl *
 csky_init (Elf *elf __attribute__ ((unused)),
 	   GElf_Half machine __attribute__ ((unused)),
-	   Ebl *eh,
-	   size_t ehlen)
+	   Ebl *eh)
 {
-  /* Check whether the Elf_BH object has a sufficent size.  */
-  if (ehlen < sizeof (Ebl))
-    return NULL;
-
   /* We handle it.  */
   csky_init_reloc (eh);
   HOOK (eh, abi_cfi);
@@ -61,5 +56,5 @@
   /* gcc/config/ #define DWARF_FRAME_REGISTERS.  */
   eh->frame_nregs = 38;
 
-  return MODVERSION;
+  return eh;
 }
diff --git a/backends/i386_init.c b/backends/i386_init.c
index 67428b5..579e5fa 100644
--- a/backends/i386_init.c
+++ b/backends/i386_init.c
@@ -38,16 +38,11 @@
 /* This defines the common reloc hooks based on i386_reloc.def.  */
 #include "common-reloc.c"
 
-const char *
+Ebl *
 i386_init (Elf *elf __attribute__ ((unused)),
 	   GElf_Half machine __attribute__ ((unused)),
-	   Ebl *eh,
-	   size_t ehlen)
+	   Ebl *eh)
 {
-  /* Check whether the Elf_BH object has a sufficent size.  */
-  if (ehlen < sizeof (Ebl))
-    return NULL;
-
   /* We handle it.  */
   i386_init_reloc (eh);
   HOOK (eh, reloc_simple_type);
@@ -57,7 +52,6 @@
   HOOK (eh, debugscn_p);
   HOOK (eh, return_value_location);
   HOOK (eh, register_info);
-  HOOK (eh, syscall_abi);
   HOOK (eh, auxv_info);
   HOOK (eh, disasm);
   HOOK (eh, abi_cfi);
@@ -66,5 +60,5 @@
   HOOK (eh, set_initial_registers_tid);
   HOOK (eh, unwind);
 
-  return MODVERSION;
+  return eh;
 }
diff --git a/backends/i386_syscall.c b/backends/i386_syscall.c
deleted file mode 100644
index 535dcd8..0000000
--- a/backends/i386_syscall.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Linux/i386 system call ABI in DWARF register numbers.
-   Copyright (C) 2008 Red Hat, Inc.
-   This file is part of elfutils.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of either
-
-     * the GNU Lesser General Public License as published by the Free
-       Software Foundation; either version 3 of the License, or (at
-       your option) any later version
-
-   or
-
-     * the GNU General Public License as published by the Free
-       Software Foundation; either version 2 of the License, or (at
-       your option) any later version
-
-   or both in parallel, as here.
-
-   elfutils is distributed in the hope that it will be useful, but
-   WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   General Public License for more details.
-
-   You should have received copies of the GNU General Public License and
-   the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>.  */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#define BACKEND i386_
-#include "libebl_CPU.h"
-
-int
-i386_syscall_abi (Ebl *ebl __attribute__ ((unused)),
-		  int *sp, int *pc, int *callno, int args[6])
-{
-  *sp = 4;			/* %esp */
-  *pc = 8;			/* %eip */
-  *callno = 0;			/* %eax */
-  args[0] = 3;			/* %ebx */
-  args[1] = 1;			/* %ecx */
-  args[2] = 2;			/* %edx */
-  args[3] = 6;			/* %esi */
-  args[4] = 7;			/* %edi */
-  args[5] = 5;			/* %ebp */
-  return 0;
-}
diff --git a/backends/ia64_init.c b/backends/ia64_init.c
index 2d1f43f..b46b35c 100644
--- a/backends/ia64_init.c
+++ b/backends/ia64_init.c
@@ -38,16 +38,11 @@
 /* This defines the common reloc hooks based on ia64_reloc.def.  */
 #include "common-reloc.c"
 
-const char *
+Ebl *
 ia64_init (Elf *elf __attribute__ ((unused)),
 	   GElf_Half machine __attribute__ ((unused)),
-	   Ebl *eh,
-	   size_t ehlen)
+	   Ebl *eh)
 {
-  /* Check whether the Elf_BH object has a sufficent size.  */
-  if (ehlen < sizeof (Ebl))
-    return NULL;
-
   /* We handle it.  */
   ia64_init_reloc (eh);
   HOOK (eh, reloc_simple_type);
@@ -61,5 +56,5 @@
   HOOK (eh, return_value_location);
   HOOK (eh, check_reloc_target_type);
 
-  return MODVERSION;
+  return eh;
 }
diff --git a/backends/libebl_CPU.h b/backends/libebl_CPU.h
index ef2b922..0e507bd 100644
--- a/backends/libebl_CPU.h
+++ b/backends/libebl_CPU.h
@@ -37,8 +37,7 @@
 #define EBLHOOK_2(a, b)	a##b
 
 /* Constructor.  */
-extern const char *EBLHOOK(init) (Elf *elf, GElf_Half machine,
-				  Ebl *eh, size_t ehlen);
+extern Ebl *EBLHOOK(init) (Elf *elf, GElf_Half machine, Ebl *eh);
 
 #include "ebl-hooks.h"
 
diff --git a/backends/m68k_init.c b/backends/m68k_init.c
index 05d544c..7b94f23 100644
--- a/backends/m68k_init.c
+++ b/backends/m68k_init.c
@@ -37,16 +37,11 @@
 #include "common-reloc.c"
 
 
-const char *
+Ebl *
 m68k_init (Elf *elf __attribute__ ((unused)),
 	   GElf_Half machine __attribute__ ((unused)),
-	   Ebl *eh,
-	   size_t ehlen)
+	   Ebl *eh)
 {
-  /* Check whether the Elf_BH object has a sufficent size.  */
-  if (ehlen < sizeof (Ebl))
-    return NULL;
-
   /* We handle it.  */
   m68k_init_reloc (eh);
   HOOK (eh, gotpc_reloc_check);
@@ -59,5 +54,5 @@
   eh->frame_nregs = 25;
   HOOK (eh, set_initial_registers_tid);
 
-  return MODVERSION;
+  return eh;
 }
diff --git a/backends/ppc64_init.c b/backends/ppc64_init.c
index c2e7043..ffc9842 100644
--- a/backends/ppc64_init.c
+++ b/backends/ppc64_init.c
@@ -41,16 +41,11 @@
 #include "common-reloc.c"
 
 
-const char *
+Ebl *
 ppc64_init (Elf *elf __attribute__ ((unused)),
 	    GElf_Half machine __attribute__ ((unused)),
-	    Ebl *eh,
-	    size_t ehlen)
+	    Ebl *eh)
 {
-  /* Check whether the Elf_BH object has a sufficent size.  */
-  if (ehlen < sizeof (Ebl))
-    return NULL;
-
   /* We handle it.  */
   ppc64_init_reloc (eh);
   HOOK (eh, reloc_simple_type);
@@ -63,7 +58,6 @@
   HOOK (eh, bss_plt_p);
   HOOK (eh, return_value_location);
   HOOK (eh, register_info);
-  HOOK (eh, syscall_abi);
   HOOK (eh, core_note);
   HOOK (eh, auxv_info);
   HOOK (eh, check_object_attribute);
@@ -107,5 +101,5 @@
 	}
     }
 
-  return MODVERSION;
+  return eh;
 }
diff --git a/backends/ppc_cfi.c b/backends/ppc_cfi.c
index 55169ae..b470036 100644
--- a/backends/ppc_cfi.c
+++ b/backends/ppc_cfi.c
@@ -42,7 +42,7 @@
     {
       /* This instruction is provided in every CIE.  It is not repeated here:
 	 DW_CFA_def_cfa, ULEB128_7 (1), ULEB128_7 (0)  */
-      /* r1 is assumed to be restored from cfa adress,
+      /* r1 is assumed to be restored from cfa address,
 	 r1 acts as a stack frame pointer.  */
       DW_CFA_val_offset, ULEB128_7 (1), ULEB128_7 (0),
       /* lr is not callee-saved but it needs to be preserved as it is pre-set
diff --git a/backends/ppc_init.c b/backends/ppc_init.c
index eb286c2..08468f8 100644
--- a/backends/ppc_init.c
+++ b/backends/ppc_init.c
@@ -39,16 +39,11 @@
 #include "common-reloc.c"
 
 
-const char *
+Ebl *
 ppc_init (Elf *elf __attribute__ ((unused)),
 	  GElf_Half machine __attribute__ ((unused)),
-	  Ebl *eh,
-	  size_t ehlen)
+	  Ebl *eh)
 {
-  /* Check whether the Elf_BH object has a sufficent size.  */
-  if (ehlen < sizeof (Ebl))
-    return NULL;
-
   /* We handle it.  */
   ppc_init_reloc (eh);
   HOOK (eh, reloc_simple_type);
@@ -59,7 +54,6 @@
   HOOK (eh, bss_plt_p);
   HOOK (eh, return_value_location);
   HOOK (eh, register_info);
-  HOOK (eh, syscall_abi);
   HOOK (eh, core_note);
   HOOK (eh, auxv_info);
   HOOK (eh, check_object_attribute);
@@ -69,5 +63,5 @@
   HOOK (eh, set_initial_registers_tid);
   HOOK (eh, dwarf_to_regno);
 
-  return MODVERSION;
+  return eh;
 }
diff --git a/backends/ppc_initreg.c b/backends/ppc_initreg.c
index 0e0d359..e5cca7e 100644
--- a/backends/ppc_initreg.c
+++ b/backends/ppc_initreg.c
@@ -33,6 +33,7 @@
 #include <stdlib.h>
 #if defined(__powerpc__) && defined(__linux__)
 # include <sys/ptrace.h>
+# include <asm/ptrace.h>
 # include <sys/user.h>
 #endif
 
diff --git a/backends/ppc_syscall.c b/backends/ppc_syscall.c
deleted file mode 100644
index b1b9c52..0000000
--- a/backends/ppc_syscall.c
+++ /dev/null
@@ -1,53 +0,0 @@
-/* Linux/PPC system call ABI in DWARF register numbers.
-   Copyright (C) 2008 Red Hat, Inc.
-   This file is part of elfutils.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of either
-
-     * the GNU Lesser General Public License as published by the Free
-       Software Foundation; either version 3 of the License, or (at
-       your option) any later version
-
-   or
-
-     * the GNU General Public License as published by the Free
-       Software Foundation; either version 2 of the License, or (at
-       your option) any later version
-
-   or both in parallel, as here.
-
-   elfutils is distributed in the hope that it will be useful, but
-   WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   General Public License for more details.
-
-   You should have received copies of the GNU General Public License and
-   the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>.  */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#define BACKEND ppc_
-#include "libebl_CPU.h"
-
-int
-ppc_syscall_abi (Ebl *ebl __attribute__ ((unused)),
-		 int *sp, int *pc, int *callno, int args[6])
-{
-  *sp = 1;
-  *pc = -1;
-  *callno = 0;
-  args[0] = 3;
-  args[1] = 4;
-  args[2] = 5;
-  args[3] = 6;
-  args[4] = 7;
-  args[5] = 8;
-  return 0;
-}
-
-__typeof (ppc_syscall_abi)
-ppc64_syscall_abi __attribute__ ((alias ("ppc_syscall_abi")));
diff --git a/backends/riscv_init.c b/backends/riscv_init.c
index 9be5c6f..551e7bb 100644
--- a/backends/riscv_init.c
+++ b/backends/riscv_init.c
@@ -43,16 +43,11 @@
 
 extern __typeof (EBLHOOK (core_note)) riscv64_core_note attribute_hidden;
 
-const char *
+Ebl *
 riscv_init (Elf *elf,
 	    GElf_Half machine __attribute__ ((unused)),
-	    Ebl *eh,
-	    size_t ehlen)
+	    Ebl *eh)
 {
-  /* Check whether the Elf_BH object has a sufficent size.  */
-  if (ehlen < sizeof (Ebl))
-    return NULL;
-
   /* We handle it.  */
   riscv_init_reloc (eh);
   HOOK (eh, reloc_simple_type);
@@ -73,5 +68,5 @@
 	  == EF_RISCV_FLOAT_ABI_DOUBLE))
     eh->return_value_location = riscv_return_value_location_lp64d;
 
-  return MODVERSION;
+  return eh;
 }
diff --git a/backends/s390_init.c b/backends/s390_init.c
index b4f3e7f..fd79502 100644
--- a/backends/s390_init.c
+++ b/backends/s390_init.c
@@ -40,16 +40,11 @@
 extern __typeof (s390_core_note) s390x_core_note;
 
 
-const char *
+Ebl *
 s390_init (Elf *elf __attribute__ ((unused)),
 	   GElf_Half machine __attribute__ ((unused)),
-	   Ebl *eh,
-	   size_t ehlen)
+	   Ebl *eh)
 {
-  /* Check whether the Elf_BH object has a sufficent size.  */
-  if (ehlen < sizeof (Ebl))
-    return NULL;
-
   /* We handle it.  */
   s390_init_reloc (eh);
   HOOK (eh, reloc_simple_type);
@@ -75,5 +70,5 @@
   if (eh->class == ELFCLASS64)
     eh->sysvhash_entrysize = sizeof (Elf64_Xword);
 
-  return MODVERSION;
+  return eh;
 }
diff --git a/backends/sh_init.c b/backends/sh_init.c
index 24f4d4a..05cf8b1 100644
--- a/backends/sh_init.c
+++ b/backends/sh_init.c
@@ -39,16 +39,11 @@
 #include "common-reloc.c"
 
 
-const char *
+Ebl *
 sh_init (Elf *elf __attribute__ ((unused)),
 	 GElf_Half machine __attribute__ ((unused)),
-	 Ebl *eh,
-	 size_t ehlen)
+	 Ebl *eh)
 {
-  /* Check whether the Elf_BH object has a sufficent size.  */
-  if (ehlen < sizeof (Ebl))
-    return NULL;
-
   /* We handle it.  */
   sh_init_reloc (eh);
   HOOK (eh, reloc_simple_type);
@@ -58,5 +53,5 @@
   HOOK (eh, register_info);
   HOOK (eh, return_value_location);
 
-  return MODVERSION;
+  return eh;
 }
diff --git a/backends/sparc_init.c b/backends/sparc_init.c
index 6daff11..647a789 100644
--- a/backends/sparc_init.c
+++ b/backends/sparc_init.c
@@ -44,16 +44,11 @@
 
 extern __typeof (EBLHOOK (core_note)) sparc64_core_note attribute_hidden;
 
-const char *
+Ebl *
 sparc_init (Elf *elf __attribute__ ((unused)),
 	    GElf_Half machine __attribute__ ((unused)),
-	    Ebl *eh,
-	    size_t ehlen)
+	    Ebl *eh)
 {
-  /* Check whether the Elf_BH object has a sufficent size.  */
-  if (ehlen < sizeof (Ebl))
-    return NULL;
-
   /* We handle it.  */
   sparc_init_reloc (eh);
   HOOK (eh, reloc_simple_type);
@@ -79,5 +74,5 @@
   eh->ra_offset = 8;
   HOOK (eh, set_initial_registers_tid);
 
-  return MODVERSION;
+  return eh;
 }
diff --git a/backends/tilegx_corenote.c b/backends/tilegx_corenote.c
deleted file mode 100644
index be3e7db..0000000
--- a/backends/tilegx_corenote.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/* TILE-Gx specific core note handling.
-   Copyright (C) 2012 Tilera Corporation
-   This file is part of elfutils.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of either
-
-     * the GNU Lesser General Public License as published by the Free
-       Software Foundation; either version 3 of the License, or (at
-       your option) any later version
-
-   or
-
-     * the GNU General Public License as published by the Free
-       Software Foundation; either version 2 of the License, or (at
-       your option) any later version
-
-   or both in parallel, as here.
-
-   elfutils is distributed in the hope that it will be useful, but
-   WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   General Public License for more details.
-
-   You should have received copies of the GNU General Public License and
-   the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>.  */
-
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <elf.h>
-#include <inttypes.h>
-#include <stddef.h>
-#include <stdio.h>
-#include <sys/time.h>
-
-#define BACKEND	tilegx_
-#include "libebl_CPU.h"
-
-static const Ebl_Register_Location prstatus_regs[] =
-  {
-    { .offset = 0, .regno = 0, .count = 56, .bits = 64 }, /* r0-r55 */
-    { .offset = 56 * 8, .regno = 64, .count = 1, .bits = 64 } /* pc */
-  };
-#define PRSTATUS_REGS_SIZE	(57 * 8)
-
-#define ULONG			uint64_t
-#define ALIGN_ULONG		8
-#define TYPE_ULONG		ELF_T_XWORD
-#define TYPE_LONG		ELF_T_SXWORD
-#define PID_T			int32_t
-#define	UID_T			uint32_t
-#define	GID_T			uint32_t
-#define ALIGN_PID_T		4
-#define ALIGN_UID_T		4
-#define ALIGN_GID_T		4
-#define TYPE_PID_T		ELF_T_SWORD
-#define TYPE_UID_T		ELF_T_WORD
-#define TYPE_GID_T		ELF_T_WORD
-
-#include "linux-core-note.c"
diff --git a/backends/tilegx_init.c b/backends/tilegx_init.c
deleted file mode 100644
index 66df931..0000000
--- a/backends/tilegx_init.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* Initialization of TILE-Gx specific backend library.
-   Copyright (C) 2012 Tilera Corporation
-   This file is part of elfutils.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of either
-
-     * the GNU Lesser General Public License as published by the Free
-       Software Foundation; either version 3 of the License, or (at
-       your option) any later version
-
-   or
-
-     * the GNU General Public License as published by the Free
-       Software Foundation; either version 2 of the License, or (at
-       your option) any later version
-
-   or both in parallel, as here.
-
-   elfutils is distributed in the hope that it will be useful, but
-   WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   General Public License for more details.
-
-   You should have received copies of the GNU General Public License and
-   the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>.  */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#define BACKEND		tilegx_
-#define RELOC_PREFIX	R_TILEGX_
-#include "libebl_CPU.h"
-
-/* This defines the common reloc hooks based on tilegx_reloc.def.  */
-#include "common-reloc.c"
-
-const char *
-tilegx_init (Elf *elf __attribute__ ((unused)),
-	     GElf_Half machine __attribute__ ((unused)),
-	     Ebl *eh,
-	     size_t ehlen)
-{
-  /* Check whether the Elf_BH object has a sufficent size.  */
-  if (ehlen < sizeof (Ebl))
-    return NULL;
-
-  /* We handle it.  */
-  tilegx_init_reloc (eh);
-  HOOK (eh, reloc_simple_type);
-  HOOK (eh, return_value_location);
-  HOOK (eh, register_info);
-  HOOK (eh, core_note);
-
-  return MODVERSION;
-}
diff --git a/backends/tilegx_regs.c b/backends/tilegx_regs.c
deleted file mode 100644
index b1e1743..0000000
--- a/backends/tilegx_regs.c
+++ /dev/null
@@ -1,129 +0,0 @@
-/* Register names and numbers for TILE-Gx DWARF.
-   Copyright (C) 2012 Tilera Corporation
-   This file is part of elfutils.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of either
-
-     * the GNU Lesser General Public License as published by the Free
-       Software Foundation; either version 3 of the License, or (at
-       your option) any later version
-
-   or
-
-     * the GNU General Public License as published by the Free
-       Software Foundation; either version 2 of the License, or (at
-       your option) any later version
-
-   or both in parallel, as here.
-
-   elfutils is distributed in the hope that it will be useful, but
-   WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   General Public License for more details.
-
-   You should have received copies of the GNU General Public License and
-   the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>.  */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <stdio.h>
-#include <string.h>
-#include <dwarf.h>
-
-#define BACKEND tilegx_
-#include "libebl_CPU.h"
-
-ssize_t
-tilegx_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 65;
-
-  if (regno < 0 || regno > 64 || namelen < 5)
-    return -1;
-
-  *prefix = "";
-  *setname = "integer";
-  *bits = 64;
-
-  switch (regno)
-    {
-    case 0 ... 9:
-      *type = DW_ATE_signed;
-      name[0] = 'r';
-      name[1] = regno + '0';
-      namelen = 2;
-      break;
-
-    case 10 ... 52:
-      *type = DW_ATE_signed;
-      name[0] = 'r';
-      name[1] = regno / 10 + '0';
-      name[2] = regno % 10 + '0';
-      namelen = 3;
-      break;
-
-    case 53:
-      *type = DW_ATE_address;
-      return stpcpy (name, "tp") + 1 - name;
-
-    case 54:
-      *type = DW_ATE_address;
-      return stpcpy (name, "sp") + 1 - name;
-
-    case 55:
-      *type = DW_ATE_address;
-      return stpcpy (name, "lr") + 1 - name;
-
-    case 56:
-      *type = DW_ATE_unsigned;
-      return stpcpy (name, "sn") + 1 - name;
-
-    case 57:
-      *type = DW_ATE_unsigned;
-      return stpcpy (name, "idn0") + 1 - name;
-
-    case 58:
-      *type = DW_ATE_unsigned;
-      return stpcpy (name, "idn1") + 1 - name;
-
-    case 59:
-      *type = DW_ATE_unsigned;
-      return stpcpy (name, "udn0") + 1 - name;
-
-    case 60:
-      *type = DW_ATE_unsigned;
-      return stpcpy (name, "udn1") + 1 - name;
-
-    case 61:
-      *type = DW_ATE_unsigned;
-      return stpcpy (name, "udn2") + 1 - name;
-
-    case 62:
-      *type = DW_ATE_unsigned;
-      return stpcpy (name, "udn3") + 1 - name;
-
-    case 63:
-      *type = DW_ATE_unsigned;
-      return stpcpy (name, "zero") + 1 - name;
-
-    case 64:
-      *type = DW_ATE_address;
-      return stpcpy (name, "pc") + 1 - name;
-
-    /* Can't happen.  */
-    default:
-      *setname = NULL;
-      return 0;
-    }
-
-  name[namelen++] = '\0';
-  return namelen;
-}
diff --git a/backends/tilegx_reloc.def b/backends/tilegx_reloc.def
deleted file mode 100644
index 1018110..0000000
--- a/backends/tilegx_reloc.def
+++ /dev/null
@@ -1,121 +0,0 @@
-/* List the relocation types for tilegx.  -*- C -*-
-   Copyright (C) 2012 Tilera Corporation
-   Copyright (C) 2015 Red Hat, Inc.
-   This file is part of elfutils.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of either
-
-     * the GNU Lesser General Public License as published by the Free
-       Software Foundation; either version 3 of the License, or (at
-       your option) any later version
-
-   or
-
-     * the GNU General Public License as published by the Free
-       Software Foundation; either version 2 of the License, or (at
-       your option) any later version
-
-   or both in parallel, as here.
-
-   elfutils is distributed in the hope that it will be useful, but
-   WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   General Public License for more details.
-
-   You should have received copies of the GNU General Public License and
-   the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>.  */
-
-/*	    NAME,			REL|EXEC|DYN	*/
-
-RELOC_TYPE (NONE,			0)
-RELOC_TYPE (64,				REL|EXEC|DYN)
-RELOC_TYPE (32,				REL|EXEC|DYN)
-RELOC_TYPE (16,				REL|EXEC|DYN)
-RELOC_TYPE (8,				REL|EXEC|DYN)
-RELOC_TYPE (64_PCREL,			REL)
-RELOC_TYPE (32_PCREL,			REL)
-RELOC_TYPE (16_PCREL,			REL)
-RELOC_TYPE (8_PCREL,			REL)
-RELOC_TYPE (HW0,			REL)
-RELOC_TYPE (HW1,			REL)
-RELOC_TYPE (HW2,			REL)
-RELOC_TYPE (HW3,			REL)
-RELOC_TYPE (HW0_LAST,			REL)
-RELOC_TYPE (HW1_LAST,			REL)
-RELOC_TYPE (HW2_LAST,			REL)
-RELOC_TYPE (COPY,			EXEC|DYN)
-RELOC_TYPE (GLOB_DAT,			EXEC|DYN)
-RELOC_TYPE (JMP_SLOT,			EXEC|DYN)
-RELOC_TYPE (RELATIVE,			EXEC|DYN)
-RELOC_TYPE (BROFF_X1,			REL)
-RELOC_TYPE (JUMPOFF_X1,			REL)
-RELOC_TYPE (JUMPOFF_X1_PLT,		REL)
-RELOC_TYPE (IMM8_X0,			REL)
-RELOC_TYPE (IMM8_Y0,			REL)
-RELOC_TYPE (IMM8_X1,			REL)
-RELOC_TYPE (IMM8_Y1,			REL)
-RELOC_TYPE (DEST_IMM8_X1,		REL)
-RELOC_TYPE (MT_IMM14_X1,		REL)
-RELOC_TYPE (MF_IMM14_X1,		REL)
-RELOC_TYPE (MMSTART_X0,			REL)
-RELOC_TYPE (MMEND_X0,			REL)
-RELOC_TYPE (SHAMT_X0,			REL)
-RELOC_TYPE (SHAMT_X1,			REL)
-RELOC_TYPE (SHAMT_Y0,			REL)
-RELOC_TYPE (SHAMT_Y1,			REL)
-RELOC_TYPE (IMM16_X0_HW0,		REL)
-RELOC_TYPE (IMM16_X1_HW0,		REL)
-RELOC_TYPE (IMM16_X0_HW1,		REL)
-RELOC_TYPE (IMM16_X1_HW1,		REL)
-RELOC_TYPE (IMM16_X0_HW2,		REL)
-RELOC_TYPE (IMM16_X1_HW2,		REL)
-RELOC_TYPE (IMM16_X0_HW3,		REL)
-RELOC_TYPE (IMM16_X1_HW3,		REL)
-RELOC_TYPE (IMM16_X0_HW0_LAST,		REL)
-RELOC_TYPE (IMM16_X1_HW0_LAST,		REL)
-RELOC_TYPE (IMM16_X0_HW1_LAST,		REL)
-RELOC_TYPE (IMM16_X1_HW1_LAST,		REL)
-RELOC_TYPE (IMM16_X0_HW2_LAST,		REL)
-RELOC_TYPE (IMM16_X1_HW2_LAST,		REL)
-RELOC_TYPE (IMM16_X0_HW0_PCREL,		REL)
-RELOC_TYPE (IMM16_X1_HW0_PCREL,		REL)
-RELOC_TYPE (IMM16_X0_HW1_PCREL,		REL)
-RELOC_TYPE (IMM16_X1_HW1_PCREL,		REL)
-RELOC_TYPE (IMM16_X0_HW2_PCREL,		REL)
-RELOC_TYPE (IMM16_X1_HW2_PCREL,		REL)
-RELOC_TYPE (IMM16_X0_HW3_PCREL,		REL)
-RELOC_TYPE (IMM16_X1_HW3_PCREL,		REL)
-RELOC_TYPE (IMM16_X0_HW0_LAST_PCREL,	REL)
-RELOC_TYPE (IMM16_X1_HW0_LAST_PCREL,	REL)
-RELOC_TYPE (IMM16_X0_HW1_LAST_PCREL,	REL)
-RELOC_TYPE (IMM16_X1_HW1_LAST_PCREL,	REL)
-RELOC_TYPE (IMM16_X0_HW2_LAST_PCREL,	REL)
-RELOC_TYPE (IMM16_X1_HW2_LAST_PCREL,	REL)
-RELOC_TYPE (IMM16_X0_HW0_GOT,		REL)
-RELOC_TYPE (IMM16_X1_HW0_GOT,		REL)
-RELOC_TYPE (IMM16_X0_HW0_LAST_GOT,	REL)
-RELOC_TYPE (IMM16_X1_HW0_LAST_GOT,	REL)
-RELOC_TYPE (IMM16_X0_HW1_LAST_GOT,	REL)
-RELOC_TYPE (IMM16_X1_HW1_LAST_GOT,	REL)
-RELOC_TYPE (IMM16_X0_HW0_TLS_GD,	REL)
-RELOC_TYPE (IMM16_X1_HW0_TLS_GD,	REL)
-RELOC_TYPE (IMM16_X0_HW0_LAST_TLS_GD,	REL)
-RELOC_TYPE (IMM16_X1_HW0_LAST_TLS_GD,	REL)
-RELOC_TYPE (IMM16_X0_HW1_LAST_TLS_GD,	REL)
-RELOC_TYPE (IMM16_X1_HW1_LAST_TLS_GD,	REL)
-RELOC_TYPE (IMM16_X0_HW0_TLS_IE,	REL)
-RELOC_TYPE (IMM16_X1_HW0_TLS_IE,	REL)
-RELOC_TYPE (IMM16_X0_HW0_LAST_TLS_IE,	REL)
-RELOC_TYPE (IMM16_X1_HW0_LAST_TLS_IE,	REL)
-RELOC_TYPE (IMM16_X0_HW1_LAST_TLS_IE,	REL)
-RELOC_TYPE (IMM16_X1_HW1_LAST_TLS_IE,	REL)
-RELOC_TYPE (TLS_DTPMOD64,		EXEC|DYN)
-RELOC_TYPE (TLS_DTPOFF64,		EXEC|DYN)
-RELOC_TYPE (TLS_TPOFF64,		EXEC|DYN)
-RELOC_TYPE (TLS_DTPMOD32,		EXEC|DYN)
-RELOC_TYPE (TLS_DTPOFF32,		EXEC|DYN)
-RELOC_TYPE (TLS_TPOFF32,		EXEC|DYN)
-RELOC_TYPE (GNU_VTINHERIT,		REL)
-RELOC_TYPE (GNU_VTENTRY,		REL)
diff --git a/backends/tilegx_retval.c b/backends/tilegx_retval.c
deleted file mode 100644
index 7f7d24b..0000000
--- a/backends/tilegx_retval.c
+++ /dev/null
@@ -1,154 +0,0 @@
-/* Function return value location for Linux/TILE-Gx ABI.
-   Copyright (C) 2012 Tilera Corporation
-   Copyright (C) 2014 Red Hat, Inc.
-   This file is part of elfutils.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of either
-
-     * the GNU Lesser General Public License as published by the Free
-       Software Foundation; either version 3 of the License, or (at
-       your option) any later version
-
-   or
-
-     * the GNU General Public License as published by the Free
-       Software Foundation; either version 2 of the License, or (at
-       your option) any later version
-
-   or both in parallel, as here.
-
-   elfutils is distributed in the hope that it will be useful, but
-   WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   General Public License for more details.
-
-   You should have received copies of the GNU General Public License and
-   the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>.  */
-
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <assert.h>
-#include <dwarf.h>
-
-#define BACKEND tilegx_
-#include "libebl_CPU.h"
-
-
-/* r0.  */
-static const Dwarf_Op loc_intreg[] =
-  {
-    { .atom = DW_OP_reg0 }
-  };
-#define nloc_intreg	1
-
-/* 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
-tilegx_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_Die die_mem, *typedie = &die_mem;
-  int tag = dwarf_peeled_die_type (functypedie, typedie);
-  if (tag <= 0)
-    return tag;
-
-  Dwarf_Word size;
-  switch (tag)
-    {
-    case -1:
-      return -1;
-
-    case DW_TAG_subrange_type:
-      if (! dwarf_hasattr_integrate (typedie, DW_AT_byte_size))
-	{
-	  Dwarf_Attribute attr_mem, *attr;
-	  attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
-	  typedie = dwarf_formref_die (attr, &die_mem);
-	  tag = DWARF_TAG_OR_RETURN (typedie);
-	}
-      FALLTHROUGH;
-
-    case DW_TAG_base_type:
-    case DW_TAG_enumeration_type:
-    case DW_TAG_pointer_type:
-    case DW_TAG_ptr_to_member_type:
-      {
-	Dwarf_Attribute attr_mem;
-	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 = 8;
-	    else
-	      return -1;
-	  }
-	if (tag == DW_TAG_base_type)
-	  {
-	    Dwarf_Word encoding;
-	    if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_encoding,
-						       &attr_mem),
-				 &encoding) != 0)
-	      return -1;
-	  }
-      }
-
-      /* Small enough structs are passed directly in registers R0 ... R7.  */
-      if (size <= 8)
-	{
-	intreg:
-	  *locp = loc_intreg;
-	  return nloc_intreg;
-	}
-
-      FALLTHROUGH;
-    case DW_TAG_structure_type:
-    case DW_TAG_class_type:
-    case DW_TAG_union_type:
-    aggregate:
-      *locp = loc_aggregate;
-      return nloc_aggregate;
-
-    case DW_TAG_array_type:
-    case DW_TAG_string_type:
-      if (dwarf_aggregate_size (typedie, &size) == 0 && size <= 8)
-	{
-	  if (tag == DW_TAG_array_type)
-	    {
-	      Dwarf_Attribute attr_mem, *attr;
-	      /* Check if it's a character array.  */
-	      attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem);
-	      typedie = dwarf_formref_die (attr, &die_mem);
-	      tag = DWARF_TAG_OR_RETURN (typedie);
-	      if (tag != DW_TAG_base_type)
-		goto aggregate;
-	      if (dwarf_formudata (dwarf_attr_integrate (typedie,
-							 DW_AT_byte_size,
-							 &attr_mem),
-				   &size) != 0)
-		return -1;
-	      if (size != 1)
-		goto aggregate;
-	    }
-	  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/tilegx_symbol.c b/backends/tilegx_symbol.c
deleted file mode 100644
index 62a4690..0000000
--- a/backends/tilegx_symbol.c
+++ /dev/null
@@ -1,58 +0,0 @@
-/* TILEGX-specific symbolic name handling.
-   Copyright (C) 2012 Tilera Corporation
-   This file is part of elfutils.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of either
-
-     * the GNU Lesser General Public License as published by the Free
-       Software Foundation; either version 3 of the License, or (at
-       your option) any later version
-
-   or
-
-     * the GNU General Public License as published by the Free
-       Software Foundation; either version 2 of the License, or (at
-       your option) any later version
-
-   or both in parallel, as here.
-
-   elfutils is distributed in the hope that it will be useful, but
-   WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   General Public License for more details.
-
-   You should have received copies of the GNU General Public License and
-   the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>.  */
-
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <elf.h>
-#include <stddef.h>
-
-#define BACKEND		tilegx_
-#include "libebl_CPU.h"
-
-/* Check for the simple reloc types.  */
-Elf_Type
-tilegx_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type,
-			  int *addsub __attribute__ ((unused)))
-{
-  switch (type)
-    {
-    case R_TILEGX_64:
-      return ELF_T_SXWORD;
-    case R_TILEGX_32:
-      return ELF_T_SWORD;
-    case R_TILEGX_16:
-      return ELF_T_HALF;
-    case R_TILEGX_8:
-      return ELF_T_BYTE;
-    default:
-      return ELF_T_NUM;
-    }
-}
diff --git a/backends/x86_64_init.c b/backends/x86_64_init.c
index 8abafb7..be965fa 100644
--- a/backends/x86_64_init.c
+++ b/backends/x86_64_init.c
@@ -41,16 +41,11 @@
 
 extern __typeof (EBLHOOK (core_note)) x32_core_note attribute_hidden;
 
-const char *
+Ebl *
 x86_64_init (Elf *elf __attribute__ ((unused)),
 	     GElf_Half machine __attribute__ ((unused)),
-	     Ebl *eh,
-	     size_t ehlen)
+	     Ebl *eh)
 {
-  /* Check whether the Elf_BH object has a sufficent size.  */
-  if (ehlen < sizeof (Ebl))
-    return NULL;
-
   /* We handle it.  */
   x86_64_init_reloc (eh);
   HOOK (eh, reloc_simple_type);
@@ -61,7 +56,6 @@
     HOOK (eh, core_note);
   HOOK (eh, return_value_location);
   HOOK (eh, register_info);
-  HOOK (eh, syscall_abi);
   HOOK (eh, auxv_info);
   HOOK (eh, disasm);
   HOOK (eh, abi_cfi);
@@ -69,6 +63,7 @@
   eh->frame_nregs = 17;
   HOOK (eh, set_initial_registers_tid);
   HOOK (eh, unwind);
+  HOOK (eh, check_reloc_target_type);
 
-  return MODVERSION;
+  return eh;
 }
diff --git a/backends/x86_64_symbol.c b/backends/x86_64_symbol.c
index 98457bc..d5f62e8 100644
--- a/backends/x86_64_symbol.c
+++ b/backends/x86_64_symbol.c
@@ -71,3 +71,11 @@
 
   return NULL;
 }
+
+/* The SHT_X86_64_UNWIND section type is a valid target for relocation.  */
+bool
+x86_64_check_reloc_target_type (Ebl *ebl __attribute__ ((unused)),
+				Elf64_Word sh_type)
+{
+  return sh_type == SHT_X86_64_UNWIND;
+}
diff --git a/backends/x86_64_syscall.c b/backends/x86_64_syscall.c
deleted file mode 100644
index 0deb8ba..0000000
--- a/backends/x86_64_syscall.c
+++ /dev/null
@@ -1,50 +0,0 @@
-/* Linux/x86-64 system call ABI in DWARF register numbers.
-   Copyright (C) 2008 Red Hat, Inc.
-   This file is part of elfutils.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of either
-
-     * the GNU Lesser General Public License as published by the Free
-       Software Foundation; either version 3 of the License, or (at
-       your option) any later version
-
-   or
-
-     * the GNU General Public License as published by the Free
-       Software Foundation; either version 2 of the License, or (at
-       your option) any later version
-
-   or both in parallel, as here.
-
-   elfutils is distributed in the hope that it will be useful, but
-   WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   General Public License for more details.
-
-   You should have received copies of the GNU General Public License and
-   the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>.  */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#define BACKEND x86_64_
-#include "libebl_CPU.h"
-
-int
-x86_64_syscall_abi (Ebl *ebl __attribute__ ((unused)),
-		    int *sp, int *pc, int *callno, int args[6])
-{
-  *sp = 7;			/* %rsp */
-  *pc = 16;			/* %rip */
-  *callno = 0;			/* %rax */
-  args[0] = 5;			/* %rdi */
-  args[1] = 4;			/* %rsi */
-  args[2] = 1;			/* %rdx */
-  args[3] = 10;			/* %r10 */
-  args[4] = 8;			/* %r8 */
-  args[5] = 9;			/* %r9 */
-  return 0;
-}
diff --git a/config.h b/config.h
index 4bfca0b..5a31eb5 100644
--- a/config.h
+++ b/config.h
@@ -7,6 +7,34 @@
 /* Should ar and ranlib use -D behavior by default? */
 #define DEFAULT_AR_DETERMINISTIC false
 
+/* Build dummy libdebuginfod */
+/* #undef DUMMY_LIBDEBUGINFOD */
+
+/* Build debuginfod */
+/* #undef ENABLE_DEBUGINFOD */
+
+/* Enable libdebuginfod */
+/* #undef ENABLE_LIBDEBUGINFOD */
+
+/* Define to 1 if translation of program messages to the user's native
+   language is requested. */
+#define ENABLE_NLS 1
+
+/* Define to 1 if you have the Mac OS X function
+   CFLocaleCopyPreferredLanguages in the CoreFoundation framework. */
+/* #undef HAVE_CFLOCALECOPYPREFERREDLANGUAGES */
+
+/* Define to 1 if you have the Mac OS X function CFPreferencesCopyAppValue in
+   the CoreFoundation framework. */
+/* #undef HAVE_CFPREFERENCESCOPYAPPVALUE */
+
+/* define if the compiler supports basic C++11 syntax */
+#define HAVE_CXX11 1
+
+/* Define if the GNU dcgettext() function is already present or preinstalled.
+   */
+#define HAVE_DCGETTEXT 1
+
 /* Define to 1 if you have the declaration of `mempcpy', and to 0 if you
    don't. */
 #define HAVE_DECL_MEMPCPY 1
@@ -23,12 +51,22 @@
    don't. */
 #define HAVE_DECL_RAWMEMCHR 1
 
+/* Define to 1 if you have the declaration of `strerror_r', and to 0 if you
+   don't. */
+#define HAVE_DECL_STRERROR_R 1
+
 /* Defined if __attribute__((fallthrough)) is supported */
-/* #undef HAVE_FALLTHROUGH  */
+#define HAVE_FALLTHROUGH 1
 
 /* Defined if __attribute__((gcc_struct)) is supported */
 /* #undef HAVE_GCC_STRUCT */
 
+/* Define if the GNU gettext() function is already present or preinstalled. */
+#define HAVE_GETTEXT 1
+
+/* Define if you have the iconv() function and it works. */
+/* #undef HAVE_ICONV */
+
 /* Define to 1 if you have the <inttypes.h> header file. */
 #define HAVE_INTTYPES_H 1
 
@@ -38,12 +76,18 @@
 /* Define to 1 if you have the `process_vm_readv' function. */
 #define HAVE_PROCESS_VM_READV 1
 
+/* Define to 1 if `stdatomic.h` is provided by the system, 0 otherwise. */
+#define HAVE_STDATOMIC_H 1
+
 /* Define to 1 if you have the <stdint.h> header file. */
 #define HAVE_STDINT_H 1
 
 /* Define to 1 if you have the <stdlib.h> header file. */
 #define HAVE_STDLIB_H 1
 
+/* Define to 1 if you have the `strerror_r' function. */
+#define HAVE_STRERROR_R 1
+
 /* Define to 1 if you have the <strings.h> header file. */
 #define HAVE_STRINGS_H 1
 
@@ -65,12 +109,6 @@
 /* Defined if __attribute__((visibility())) is supported */
 #define HAVE_VISIBILITY 1
 
-/* $libdir subdirectory containing libebl modules. */
-#define LIBEBL_SUBDIR "elfutils"
-
-/* Identifier for modules in the build. */
-#define MODVERSION "Build for elfutils 173 x86_64-pc-linux-gnu"
-
 /* Name of package */
 #define PACKAGE "elfutils"
 
@@ -81,7 +119,7 @@
 #define PACKAGE_NAME "elfutils"
 
 /* Define to the full name and version of this package. */
-#define PACKAGE_STRING "elfutils 0.173"
+#define PACKAGE_STRING "elfutils 0.183"
 
 /* Define to the one symbol short name of this package. */
 #define PACKAGE_TARNAME "elfutils"
@@ -90,18 +128,17 @@
 #define PACKAGE_URL "http://elfutils.org/"
 
 /* Define to the version of this package. */
-#define PACKAGE_VERSION "0.173"
+#define PACKAGE_VERSION "0.183"
 
 /* The size of `long', as computed by sizeof. */
-#if __LP64__
 #define SIZEOF_LONG 8
-#else
-#define SIZEOF_LONG 4
-#endif
 
 /* Define to 1 if you have the ANSI C header files. */
 #define STDC_HEADERS 1
 
+/* Define to 1 if strerror_r returns char *. */
+#define STRERROR_R_CHAR_P 1
+
 /* Support bzip2 decompression via -lbz2. */
 /* #undef USE_BZLIB */
 
@@ -117,8 +154,11 @@
 /* Support gzip decompression via -lz. */
 #define USE_ZLIB 1
 
+/* Support ZSTD (zst) decompression via -lzstd. */
+/* #undef USE_ZSTD */
+
 /* Version number of package */
-#define VERSION "0.173"
+#define VERSION "0.183"
 
 /* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
    `char[]'. */
diff --git a/config/.gitignore b/config/.gitignore
new file mode 100644
index 0000000..8cd8ccd
--- /dev/null
+++ b/config/.gitignore
@@ -0,0 +1,15 @@
+/ar-lib
+/compile
+/config.guess
+/config.rpath
+/config.sub
+/depcomp
+/install-sh
+/libdebuginfod.pc
+/libdw.pc
+/libelf.pc
+/missing
+/profile.csh
+/profile.sh
+/test-driver
+/ylwrap
diff --git a/config/10-default-yama-scope.conf b/config/10-default-yama-scope.conf
index ba78ebd..4df2090 100644
--- a/config/10-default-yama-scope.conf
+++ b/config/10-default-yama-scope.conf
@@ -17,7 +17,7 @@
 # domains. A different way to restrict ptrace is to set the selinux
 # deny_ptrace boolean. Both mechanisms will break some programs relying
 # on the ptrace system call and might force users to elevate their
-# priviliges to root to do their work.
+# privileges to root to do their work.
 #
 # For more information see Documentation/security/Yama.txt in the kernel
 # sources. Which also describes the defaults when CONFIG_SECURITY_YAMA
diff --git a/config/ChangeLog b/config/ChangeLog
index 1637920..d84d38c 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,129 @@
+2021-02-05  Mark Wielaard  <mark@klomp.org>
+
+	* elfutils.spec.in: Update for 0.183.
+
+2020-12-20  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* .gitignore: New file.
+
+2020-12-12  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* 10-default-yama-scope.conf: Fix spelling typo in comment.
+	* upload-release.sh: Likewise.
+	* elfutils.spec.in: Fix spelling typos in %changelog.
+
+2020-11-04  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* profile.sh.in, profile.csh.in: Do not define $DEBUGINFOD_URLS unless
+	configured using --enable-debuginfod-urls.
+
+2020-11-02  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* Makefile.am (pkgconfig_DATA, install-data-local, uninstall-local):
+	Conditionalize on LIBDEBUGINFOD instead of DEBUGINFOD.
+
+2020-10-31  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* Makefile.am (install-data-local, uninstall-local): Conditionalize
+	on DEBUGINFOD.
+
+2020-10-30  Mark Wielaard  <mark@klomp.org>
+
+	* elfutils.spec.in: Update for 0.182.
+
+2020-10-31  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod.service: Bump up TimeoutStopSec.
+
+2020-10-30  Frank Ch. Eigler  <fche@redhat.com>
+
+	* elfutils.spec.in: Fix debuginfod config/state file attributes
+	for non-lossy updates.
+
+2020-10-08  Frank Ch. Eigler  <fche@redhat.com>
+
+	* Makefile.am (uninstall-local): Uninstall the new profile.d files.
+
+2020-10-01  Frank Ch. Eigler  <fche@redhat.com>
+
+	PR25461
+	* profile.sh.in, profile.csh.in: New files for /etc/profile.d
+	to define $DEBUGINFOD_URLS.
+	* elfutils.spec.in: Configure with --enable-debuginfod-urls.
+	* Makefile.am: Install them.
+
+2020-09-18  Mark Wielaard  <mark@klomp.org>
+
+	* elfutils.spec.in: Add BuildRequires for libzstd-devel and zstd.
+	* libdw.pc.in: Requires.private libzstd.
+
+2020-09-08  Mark Wielaard  <mark@klomp.org>
+
+	* elfutils.spec.in: Update for 0.181.
+
+2020-06-16  Mark Wielaard  <mark@klomp.org>
+
+	* upload-release.sh: Use /usr/bin/env bash.
+
+2020-06-11  Mark Wielaard  <mark@klomp.org>
+
+	* elfutils.spec.in: Update for 0.189.
+
+2020-04-21  Frank Ch. Eigler <fche@redhat.com>
+
+	* debuginfod.sysconfig (DEBUGINFOD_PATHS): Add /var/lib/pulp.
+
+2020-03-30  Mark Wielaard  <mark@klomp.org>
+
+	* upload-release.sh: chmod uploaded dir and files to make them
+	readable.
+
+2020-03-30  Mark Wielaard  <mark@klomp.org>
+
+	* elfutils.spec.in: Update for 0.179.
+
+2020-03-25  Frank Ch. Eigler <fche@redhat.com>
+
+	* elfutils.spec.in: *Require: bsdtar instead of dpkg.
+
+2020-03-04  Mark Wielaard  <mark@klomp.org>
+
+	* elfutils.spec.in (package debuginfod): Remove Requires: rpm.
+	Add Requires: dpkg.
+
+2020-01-12  Frank Ch. Eigler  <fche@redhat.com>
+
+	* elfutils.spec.in: Typo fix for "Requires: debuginfod-client".
+
+2020-01-11  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod.service: Set PrivateTmp=yes.
+
+2020-01-01  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* Makefile.am (pkgconfig_DATA): Conditionalize libdebuginfod.pc
+	on DEBUGINFOD.
+
+2019-12-22  Frank Ch. Eigler  <fche@redhat.com>
+
+	* elfutils.spec.in (debuginfod): Add BuildRequire dpkg
+	for deb testing.  (Available on Fedora & EPEL, not base RHEL.)
+
+2019-12-05  Mark Wielaard  <mark@klomp.org>
+
+	* elfutils.spec.in: Add explicit version-release requires for all
+	packages.
+
+2019-11-28  Mark Wielaard  <mark@klomp.org>
+
+	* elfutils.spec.in (debuginfod): Add an explicit Requires
+	elfutils-debuginfod-client.
+
+2019-11-27  Mark Wielaard  <mark@klomp.org>
+
+	* elfutils.spec.in: Move all versioned libdebuginfod libraries
+	from debuginfod-client-devel to debuginfod-client.
+
 2019-11-26  Mark Wielaard  <mark@klomp.org>
 
 	* elfutils.spec.in: Remove Group tags, remove fedora and rhel
diff --git a/config/Makefile.am b/config/Makefile.am
index 55e895a..a66f549 100644
--- a/config/Makefile.am
+++ b/config/Makefile.am
@@ -30,10 +30,20 @@
 ##
 EXTRA_DIST = elfutils.spec.in known-dwarf.awk 10-default-yama-scope.conf \
 	     libelf.pc.in libdw.pc.in libdebuginfod.pc.in \
-	     debuginfod.service debuginfod.sysconfig
+	     debuginfod.service debuginfod.sysconfig profile.sh.in profile.csh.in
 
 pkgconfigdir = $(libdir)/pkgconfig
-pkgconfig_DATA = libelf.pc libdw.pc libdebuginfod.pc
+pkgconfig_DATA = libelf.pc libdw.pc
+if LIBDEBUGINFOD
+pkgconfig_DATA += libdebuginfod.pc
+
+install-data-local:
+	$(INSTALL_DATA) profile.sh -D $(DESTDIR)$(sysconfdir)/profile.d/debuginfod.sh
+	$(INSTALL_DATA) profile.csh -D $(DESTDIR)$(sysconfdir)/profile.d/debuginfod.csh
+
+uninstall-local:
+	rm -f $(DESTDIR)$(sysconfdir)/profile.d/debuginfod.sh $(DESTDIR)$(sysconfdir)/profile.d/debuginfod.csh
+endif
 
 if MAINTAINER_MODE
 $(srcdir)/elfutils.spec.in: $(top_srcdir)/NEWS
diff --git a/config/debuginfod.service b/config/debuginfod.service
index d8ef072..b64d8cb 100644
--- a/config/debuginfod.service
+++ b/config/debuginfod.service
@@ -9,7 +9,9 @@
 Group=debuginfod
 #CacheDirectory=debuginfod
 ExecStart=/usr/bin/debuginfod -d /var/cache/debuginfod/debuginfod.sqlite -p $DEBUGINFOD_PORT $DEBUGINFOD_VERBOSE $DEBUGINFOD_PRAGMAS $DEBUGINFOD_PATHS
-TimeoutStopSec=10
+# Stopping can take a long time if scanning of large archives is in progress
+TimeoutStopSec=60
+PrivateTmp=yes
 
 [Install]
 WantedBy=multi-user.target
diff --git a/config/debuginfod.sysconfig b/config/debuginfod.sysconfig
index c56bcf3..4460387 100644
--- a/config/debuginfod.sysconfig
+++ b/config/debuginfod.sysconfig
@@ -3,7 +3,7 @@
 #DEBUGINFOD_VERBOSE="-v"
 
 # some common places to find trustworthy ELF/DWARF files and RPMs
-DEBUGINFOD_PATHS="-t43200 -F -R /usr/lib/debug /usr/bin /usr/libexec /usr/sbin /usr/lib /usr/lib64 /var/cache/yum /var/cache/dnf"
+DEBUGINFOD_PATHS="-t43200 -F -R /usr/lib/debug /usr/bin /usr/libexec /usr/sbin /usr/lib /usr/lib64 /var/cache/yum /var/cache/dnf /var/lib/pulp"
 
 # prefer reliability/durability over performance
 #DEBUGINFOD_PRAGMAS="-D 'pragma synchronous=full;'"
diff --git a/config/elfutils.spec.in b/config/elfutils.spec.in
index 4677934..46b404f 100644
--- a/config/elfutils.spec.in
+++ b/config/elfutils.spec.in
@@ -1,16 +1,16 @@
 # -*- rpm-spec-*-
-Summary: A collection of utilities and DSOs to handle ELF files and DWARF data
 Name: elfutils
 Version: @PACKAGE_VERSION@
 Release: 1
 URL: http://elfutils.org/
 License: GPLv3+ and (GPLv2+ or LGPLv3+) and GFDL
 Source: ftp://sourceware.org/pub/elfutils/%{version}/elfutils-%{version}.tar.bz2
+Summary: A collection of utilities and DSOs to handle ELF files and DWARF data
 
 Requires: elfutils-libelf = %{version}-%{release}
 Requires: elfutils-libs = %{version}-%{release}
 # Can be a Recommends if rpm supports that
-Requires: elfutils-debuginfod-client
+Requires: elfutils-debuginfod-client = %{version}-%{release}
 
 BuildRequires: gcc
 # For libstdc++ demangle support
@@ -24,6 +24,7 @@
 BuildRequires: zlib-devel
 BuildRequires: bzip2-devel
 BuildRequires: xz-devel
+BuildRequires: libzstd-devel
 
 # For debuginfod
 BuildRequires: pkgconfig(libmicrohttpd) >= 0.9.33
@@ -33,8 +34,10 @@
 
 # For tests need to bunzip2 test files.
 BuildRequires: bzip2
+BuildRequires: zstd
 # For the run-debuginfod-find.sh test case in %check for /usr/sbin/ss
 BuildRequires: iproute
+BuildRequires: bsdtar
 BuildRequires: curl
 
 %define _gnu %{nil}
@@ -54,7 +57,7 @@
 Requires: elfutils-libelf = %{version}-%{release}
 Requires: default-yama-scope
 # Can be a Recommends if rpm supports that
-Requires: elfutils-debuginfod-client
+Requires: elfutils-debuginfod-client = %{version}-%{release}
 
 %description libs
 The elfutils-libs package contains libraries which implement DWARF, ELF,
@@ -68,11 +71,8 @@
 License: GPLv2+ or LGPLv3+
 Requires: elfutils-libs = %{version}-%{release}
 Requires: elfutils-libelf-devel = %{version}-%{release}
-%if 0%{?rhel} >= 8 || 0%{?fedora} >= 20
-Recommends: elfutils-debuginfod-client-devel
-%else
-Requires: elfutils-debuginfod-client-devel
-%endif
+# Can be a Recommends if rpm supports that
+Requires: elfutils-debuginfod-client-devel = %{version}-%{release}
 
 %description devel
 The elfutils-devel package contains the libraries to create
@@ -87,8 +87,8 @@
 Requires: elfutils-libelf-devel-static = %{version}-%{release}
 
 %description devel-static
-The elfutils-devel-static archive contains the static archives
-with the code the handle compiled objects.
+The elfutils-devel-static package contains the static archives
+with the code to handle compiled objects.
 
 %package libelf
 Summary: Library to read and write ELF files
@@ -144,17 +144,21 @@
 %package debuginfod-client-devel
 Summary: Libraries and headers to build debuginfod client applications
 License: GPLv2+ or LGPLv3+
+Requires: elfutils-debuginfod-client = %{version}-%{release}
 
 %package debuginfod
 Summary: HTTP ELF/DWARF file server addressed by build-id
 License: GPLv3+
+Requires: elfutils-libs = %{version}-%{release}
+Requires: elfutils-libelf = %{version}-%{release}
+Requires: elfutils-debuginfod-client = %{version}-%{release}
 BuildRequires: systemd
 Requires(post):   systemd
 Requires(preun):  systemd
 Requires(postun): systemd
 Requires(pre): shadow-utils
-# For /usr/bin/cpio2rpm
-Requires: rpm
+# To extract .deb files with a bsdtar (= libarchive) subshell
+Requires: bsdtar
 
 %description debuginfod-client
 The elfutils-debuginfod-client package contains shared libraries
@@ -177,7 +181,7 @@
 %setup -q
 
 %build
-%configure --program-prefix=%{_programprefix} --enable-debuginfod
+%configure --program-prefix=%{_programprefix} --enable-debuginfod --enable-debuginfod-urls
 make -s %{?_smp_mflags}
 
 %install
@@ -187,6 +191,8 @@
 %make_install
 
 chmod +x ${RPM_BUILD_ROOT}%{_prefix}/%{_lib}/lib*.so*
+mkdir -p ${RPM_BUILD_ROOT}%{_localstatedir}/cache/debuginfod
+touch ${RPM_BUILD_ROOT}%{_localstatedir}/cache/debuginfod/debuginfod.sqlite
 
 # XXX Nuke unpackaged files
 ( cd ${RPM_BUILD_ROOT}
@@ -289,26 +295,28 @@
 %files debuginfod-client
 %defattr(-,root,root)
 %{_libdir}/libdebuginfod-%{version}.so
+%{_libdir}/libdebuginfod.so.*
 %{_bindir}/debuginfod-find
 %{_mandir}/man1/debuginfod-find.1*
-
+%config(noreplace) %{_sysconfdir}/profile.d/*
+  
 %files debuginfod-client-devel
 %defattr(-,root,root)
 %{_libdir}/pkgconfig/libdebuginfod.pc
 %{_mandir}/man3/debuginfod_*.3*
 %{_includedir}/elfutils/debuginfod.h
-%{_libdir}/libdebuginfod.so*
+%{_libdir}/libdebuginfod.so
 
 %files debuginfod
 %defattr(-,root,root)
 %{_bindir}/debuginfod
-%config(noreplace) %verify(not md5 size mtime) %{_sysconfdir}/sysconfig/debuginfod
+%config(noreplace) %{_sysconfdir}/sysconfig/debuginfod
 %{_unitdir}/debuginfod.service
 %{_sysconfdir}/sysconfig/debuginfod
 %{_mandir}/man8/debuginfod.8*
 
 %dir %attr(0700,debuginfod,debuginfod) %{_localstatedir}/cache/debuginfod
-%verify(not md5 size mtime) %attr(0600,debuginfod,debuginfod) %{_localstatedir}/cache/debuginfod/debuginfod.sqlite
+%ghost %attr(0600,debuginfod,debuginfod) %{_localstatedir}/cache/debuginfod/debuginfod.sqlite
 
 %pre debuginfod
 getent group debuginfod >/dev/null || groupadd -r debuginfod
@@ -324,6 +332,73 @@
 %systemd_postun_with_restart debuginfod.service
 
 %changelog
+* Fri Feb  5 2021 Mark Wielaard <mark@klomp.org> 0.183-1
+- debuginfod: New thread-busy metric and more detailed error metrics.
+  New --fdcache-mintmp and tracking of filesystem freespace.
+- debigonfod-client: DEBUGINFOD_SONAME macro added to debuginfod.h can
+  be used to dlopen the libdebuginfod.so library.
+  New function debuginfod_set_verbose_fd and DEBUGINFOD_VERBOSE
+  environment variable.
+- config: profile.sh and profile.csh won't export DEBUGINFOD_URLS
+  unless configured --enable-debuginfod-urls[=URLS]
+- elflint, readelf: Recognize SHF_GNU_RETAIN.
+  Handle SHT_X86_64_UNWIND as valid relocation target type.
+
+* Sat Oct 31 2020 Mark Wielaard <mark@klomp.org> 0.182-1
+- backends: Support for tilegx has been removed.
+- config: New /etc/profile.d files to provide default $DEBUGINFOD_URLS.
+- debuginfod: More efficient package traversal, tolerate various
+  errors during scanning, grooming progress is more visible and
+  interruptible, more prometheus metrics.
+- debuginfod-client: Now supports compressed (kernel) ELF images.
+- libdwfl: Add ZSTD compression support.
+
+* Tue Sep  8 2020 Mark Wielaard <mark@klomp.org> 0.181-1
+- libelf: elf_update now compensates (fixes up) a bad sh_addralign
+  for SHF_COMPRESSED sections.
+- libdebuginfod: configure now takes --enable-libdebuginfod=dummy or
+  --disable-libdebuginfod for bootstrapping.
+  DEBUGINFOD_URLS now accepts "scheme-free" urls
+  (guessing at what the user meant, either http:// or file://)
+- readelf, elflint: Handle aarch64 bti, pac bits in dynamic table and
+  gnu property notes.
+- libdw, readelf: Recognize DW_CFA_AARCH64_negate_ra_state. Allows
+  unwinding on arm64 for code that is compiled for PAC
+  (Pointer Authentication Code) as long as it isn't enabled.
+
+* Thu Jun 11 2020 Mark Wielaard <mark@klomp.org> 0.180-1
+- elflint: Allow SHF_EXCLUDE as generic section flag when --gnu is given.
+- libdw, readelf: Handle GCC LTO .gnu.debuglto_ prefix.
+- libdw: Use correct CU to resolve file names in dwarf_decl_file.
+- libdwfl: Handle debugaltlink in dwfl_standard_find_debuginfo.
+- size: Also obey radix printing for bsd format.
+- nm: Explicitly print weak 'V' or 'T' and common 'C' symbols.
+
+* Mon Mar 30 2020 Mark Wielaard <mark@klomp.org> 0.179-1
+- debuginfod-client: When DEBUGINFOD_PROGRESS is set and the program
+  doesn't install its own debuginfod_progressfn_t show download
+  progress on stderr.
+  DEBUGINFOD_TIMEOUT is now defined as seconds to get at least 100K,
+  defaults to 90 seconds.
+  Default to $XDG_CACHE_HOME/debuginfod_client.
+  New functions debuginfod_set_user_data, debuginfod_get_user_data,
+  debuginfod_get_url and debuginfod_add_http_header.
+  Support for file:// URLs.
+- debuginfod: Uses libarchive directly for reading rpm archives.
+  Support for indexing .deb/.ddeb archives through dpkg-deb or bsdtar.
+  Generic archive support through -Z EXT[=CMD]. Which can be used for
+  example for arch-linux pacman files by using -Z '.tar.zst=zstdcat'.
+  Better logging using User-Agent and X-Forwarded-For headers.
+  More prometheus metrics.
+  Support for eliding dots or extraneous slashes in path names.
+- debuginfod-find: Accept /path/names in place of buildid hex.
+- libelf: Handle PN_XNUM in elf_getphdrnum before shdr 0 is cached.
+  Ensure zlib resource cleanup on failure.
+- libdwfl: dwfl_linux_kernel_find_elf and dwfl_linux_kernel_report_offline
+  now find and handle a compressed vmlinuz image.
+- readelf, elflint: Handle PT_GNU_PROPERTY.
+- translations: Updated Ukrainian translation.
+
 * Tue Nov 26 2019 Mark Wielaard <mark@klomp.org> 0.178-1
 - debuginfod: New server, client tool and library to index and fetch
               ELF/DWARF files addressed by build-id through HTTP.
@@ -358,7 +433,7 @@
         CVE-2019-7664, CVE-2019-7665.
 
 * Wed Nov 14 2018 Mark Wielaard <mark@klomp.org> 0.175-1
-- readelf: Handle mutliple .debug_macro sections.
+- readelf: Handle multiple .debug_macro sections.
   Recognize and parse GNU Property notes, NT_VERSION notes and
   GNU Build Attribute ELF Notes.
 - strip: Handle SHT_GROUP correctly.
@@ -717,7 +792,7 @@
 
 * Mon Feb 16 2009 Ulrich Drepper <drepper@redhat.com> 0.140-1
 - libelf: Fix regression in creation of section header
-- libdwfl: Less strict behavior if DWARF reader ist just used to
+- libdwfl: Less strict behavior if DWARF reader is just used to
   display data
 
 * Thu Jan 22 2009 Ulrich Drepper <drepper@redhat.com> 0.139-1
@@ -776,8 +851,8 @@
 * Mon Oct 15 2007 Ulrich Drepper <drepper@redhat.com> 0.130-1
 - readelf: -p option can take an argument like -x for one section,
 	 or no argument (as before) for all SHF_STRINGS sections;
-	 new option --archive-index (or -c);	 improved -n output fo
-r core files, on many machines
+	 new option --archive-index (or -c);	 improved -n output for
+core files, on many machines
 - libelf: new function elf_getdata_rawchunk, replaces gelf_rawchunk;
 	new functions gelf_getnote, gelf_getauxv, gelf_update_auxv
 - readelf, elflint: handle SHT_NOTE sections without requiring phdrs
@@ -943,7 +1018,7 @@
 - readelf: improve DWARF output format
 
 * Mon Apr  4 2005 Ulrich Drepper <drepper@redhat.com> 0.106-1
-- libdw: Updated dwarf.h from DWARF3 speclibdw: add new funtions dwarf_f
+- libdw: Updated dwarf.h from DWARF3 speclibdw: add new functions dwarf_f
 unc_entrypc, dwarf_func_file, dwarf_func_line,dwarf_func_col, dwarf_ge
 tsrc_file
 
@@ -1041,7 +1116,7 @@
 * Wed Jan 22 2003 Jakub Jelinek <jakub@redhat.com> 0.72-4
 - fix arguments to gelf_getsymshndx and elf_getshstrndx
 - fix other warnings
-- reenable checks on s390x
+- re-enable checks on s390x
 
 * Sat Jan 11 2003 Karsten Hopp <karsten@redhat.de> 0.72-3
 - temporarily disable checks on s390x, until someone has
diff --git a/config/libdw.pc.in b/config/libdw.pc.in
index 3fc283d..2e83a43 100644
--- a/config/libdw.pc.in
+++ b/config/libdw.pc.in
@@ -17,6 +17,6 @@
 
 # We support various compressed ELF images, but don't export any of the
 # data structures or functions.  zlib (gz) is always required, bzip2 (bz2)
-# and lzma (xz) are optional.  But bzip2 doesn't have a pkg-config file.
-Requires.private: zlib @LIBLZMA@
+# lzma (xz) and zstd () are optional. But bzip2 doesn't have a pkg-config file.
+Requires.private: zlib @LIBLZMA@ @LIBZSTD@
 Libs.private: @BZ2_LIB@
diff --git a/config/profile.csh.in b/config/profile.csh.in
new file mode 100644
index 0000000..0a2d6d1
--- /dev/null
+++ b/config/profile.csh.in
@@ -0,0 +1,11 @@
+if ("@DEBUGINFOD_URLS@" != "") then
+	if ($?DEBUGINFOD_URLS) then
+		if ($%DEBUGINFOD_URLS) then
+			setenv DEBUGINFOD_URLS "$DEBUGINFOD_URLS @DEBUGINFOD_URLS@"
+		else
+			setenv DEBUGINFOD_URLS "@DEBUGINFOD_URLS@"
+		endif
+	else
+		setenv DEBUGINFOD_URLS "@DEBUGINFOD_URLS@"
+	endif
+endif
diff --git a/config/profile.sh.in b/config/profile.sh.in
new file mode 100644
index 0000000..aa228a0
--- /dev/null
+++ b/config/profile.sh.in
@@ -0,0 +1,4 @@
+if [ -n "@DEBUGINFOD_URLS@" ]; then
+	DEBUGINFOD_URLS="${DEBUGINFOD_URLS-}${DEBUGINFOD_URLS:+ }@DEBUGINFOD_URLS@"
+	export DEBUGINFOD_URLS
+fi
diff --git a/config/upload-release.sh b/config/upload-release.sh
index df5e3a0..ba43aa1 100755
--- a/config/upload-release.sh
+++ b/config/upload-release.sh
@@ -1,4 +1,4 @@
-#!/bin/bash
+#!/usr/bin/env bash
 
 # Must be run in the source directory.
 # Should have passed make distcheck.
@@ -20,7 +20,7 @@
 echo git tag -s -m \"elfutils $VERSION release\" elfutils-$VERSION
 echo git push --tags
 
-# Create a temporary directoy and make sure it is cleaned up.
+# Create a temporary directory and make sure it is cleaned up.
 tempdir=$(mktemp -d) || exit
 trap "rm -rf -- ${tempdir}" EXIT
 
@@ -50,6 +50,8 @@
 # Upload
 scp -r $VERSION sourceware.org:/sourceware/ftp/pub/elfutils/
 ssh sourceware.org "(cd /sourceware/ftp/pub/elfutils \
+  && chmod go+rx $VERSION \
+  && chmod go+r  $VERSION/elfutils-$VERSION.tar.bz2* \
   && ln -sf $VERSION/elfutils-$VERSION.tar.bz2 elfutils-latest.tar.bz2 \
   && ln -sf $VERSION/elfutils-$VERSION.tar.bz2.sig elfutils-latest.tar.bz2.sig \
   && ls -lah elfutils-latest*)"
diff --git a/configure.ac b/configure.ac
index 5a2dc37..d345495 100644
--- a/configure.ac
+++ b/configure.ac
@@ -17,7 +17,7 @@
 dnl
 dnl  You should have received a copy of the GNU General Public License
 dnl  along with this program.  If not, see <http://www.gnu.org/licenses/>.
-AC_INIT([elfutils],[0.178],[https://sourceware.org/bugzilla],[elfutils],[http://elfutils.org/])
+AC_INIT([elfutils],[0.183],[https://sourceware.org/bugzilla],[elfutils],[http://elfutils.org/])
 
 dnl Workaround for older autoconf < 2.64
 m4_ifndef([AC_PACKAGE_URL],
@@ -25,6 +25,9 @@
                     [Define to home page for this package])
           AC_SUBST([PACKAGE_URL], ["http://elfutils.org/"])])
 
+LIBDEBUGINFOD_SONAME=libdebuginfod.so.1
+AC_SUBST([LIBDEBUGINFOD_SONAME])
+
 # We want eu- as default program prefix if none was given by the user.
 # But if the user explicitly provided --program-prefix="" then pretend
 # it wasn't set at all (NONE). We want to test this really early before
@@ -41,7 +44,7 @@
 AC_CONFIG_AUX_DIR([config])
 AC_CONFIG_FILES([config/Makefile])
 
-AC_COPYRIGHT([Copyright (C) 1996-2018 The elfutils developers.])
+AC_COPYRIGHT([Copyright (C) 1996-2021 The elfutils developers.])
 AC_PREREQ(2.63)			dnl Minimum Autoconf version required.
 
 dnl We use GNU make extensions; automake 1.10 defaults to -Wportability.
@@ -54,14 +57,11 @@
 AC_CONFIG_FILES([Makefile])
 AC_CONFIG_HEADERS([config.h])
 
-AC_CONFIG_MACRO_DIR([m4])
-AC_CONFIG_FILES([m4/Makefile])
-
 dnl The RPM spec file.  We substitute a few values in the file.
 AC_CONFIG_FILES([elfutils.spec:config/elfutils.spec.in])
 
 dnl debuginfo-server client & server parts.
-AC_CONFIG_FILES([debuginfod/Makefile])
+AC_CONFIG_FILES([debuginfod/Makefile debuginfod/debuginfod.h])
 
 AC_CANONICAL_HOST
 
@@ -197,6 +197,15 @@
 	dso_LDFLAGS="$dso_LDFLAGS $ZDEFS_LDFLAGS"
 fi
 
+# We really want build-ids. Warn and force generating them if gcc was
+# configure without --enable-linker-build-id
+AC_CACHE_CHECK([whether the compiler generates build-ids], ac_cv_buildid, [dnl
+AC_LINK_IFELSE([AC_LANG_PROGRAM()],[ac_cv_buildid=yes; $READELF -n conftest$EXEEXT | grep -q NT_GNU_BUILD_ID || ac_cv_buildid=no],AC_MSG_FAILURE([unexpected compile failure]))])
+if test "$ac_cv_buildid" = "no"; then
+	AC_MSG_WARN([compiler doesn't generate build-id by default])
+	LDFLAGS="$LDFLAGS -Wl,--build-id"
+fi
+
 ZRELRO_LDFLAGS="-Wl,-z,relro"
 AC_CACHE_CHECK([whether gcc supports $ZRELRO_LDFLAGS], ac_cv_zrelro, [dnl
 save_LDFLAGS="$LDFLAGS"
@@ -228,7 +237,7 @@
 AS_IF([test "x$ac_cv_tls" != xyes],
       AC_MSG_ERROR([__thread support required]))
 
-dnl Before 4.9 gcc doesn't ship stdatomic.h, but the nessesary atomics are
+dnl Before 4.9 gcc doesn't ship stdatomic.h, but the necessary atomics are
 dnl available by (at least) 4.7. So if the system doesn't have a stdatomic.h we
 dnl fall back on one copied from FreeBSD that handles the difference.
 AC_CACHE_CHECK([whether gcc provides stdatomic.h], ac_cv_has_stdatomic,
@@ -252,7 +261,8 @@
 AC_CACHE_CHECK([whether fts.h is bad when included (with LFS)], ac_cv_bad_fts,
   [AC_COMPILE_IFELSE([AC_LANG_SOURCE([[#include <fts.h>]])],
 		     ac_cv_bad_fts=no, ac_cv_bad_fts=yes)])
-AS_IF([test "x$ac_cv_bad_fts" = "xyes"], [CFLAGS="$CFLAGS -DBAD_FTS=1"])
+AS_IF([test "x$ac_cv_bad_fts" = "xyes"],
+      [CFLAGS="$CFLAGS -DBAD_FTS=1" CXXFLAGS="$CXXFLAGS -DBAD_FTS=1"])
 
 # See if we can add -D_FORTIFY_SOURCE=2. Don't do it if it is already
 # (differently) defined or if it generates warnings/errors because we
@@ -264,7 +274,7 @@
     ;;
   *)
     save_CFLAGS="$CFLAGS"
-    CFLAGS="-D_FORTIFY_SOURCE=2 -Werror $CFLAGS"
+    CFLAGS="-D_FORTIFY_SOURCE=2 $CFLAGS -Werror"
     AC_COMPILE_IFELSE([AC_LANG_SOURCE([[
       #include <string.h>
       int main() { return 0; }
@@ -285,7 +295,7 @@
 esac
 AC_SUBST([DEBUGPRED], $use_debugpred_val)
 
-dnl Enable gprof suport.
+dnl Enable gprof support.
 AC_ARG_ENABLE([gprof],
 AS_HELP_STRING([--enable-gprof],[build binaries with gprof support]), [use_gprof=$enableval], [use_gprof=no])
 if test "$use_gprof" = yes; then
@@ -294,13 +304,16 @@
 fi
 AM_CONDITIONAL(GPROF, test "$use_gprof" = yes)
 
-# Enable gcov suport.
+# Enable gcov support.
 AC_ARG_ENABLE([gcov],
 AS_HELP_STRING([--enable-gcov],[build binaries with gcov support]), [use_gcov=$enableval], [use_gcov=no])
 if test "$use_gcov" = yes; then
   CFLAGS="$CFLAGS -fprofile-arcs -ftest-coverage"
   CXXFLAGS="$CXXFLAGS -fprofile-arcs -ftest-coverage"
   LDFLAGS="$LDFLAGS -fprofile-arcs"
+  AC_CHECK_PROG([GCOV], [gcov], [gcov])
+  AC_CHECK_PROG([LCOV], [lcov], [lcov])
+  AC_CHECK_PROG([GENHTML], [genhtml], [genhtml])
 fi
 AM_CONDITIONAL(GCOV, test "$use_gcov" = yes)
 
@@ -387,8 +400,8 @@
 AS_IF([test "x$with_zlib" = xno], [AC_MSG_ERROR([zlib not found but is required])])
 LIBS="$save_LIBS"
 
-dnl Test for bzlib and xz/lzma, gives BZLIB/LZMALIB .am
-dnl conditional and config.h USE_BZLIB/USE_LZMALIB #define.
+dnl Test for bzlib and xz/lzma/zstd, gives BZLIB/LZMALIB/ZSTD .am
+dnl conditional and config.h USE_BZLIB/USE_LZMALIB/USE_ZSTD #define.
 save_LIBS="$LIBS"
 LIBS=
 eu_ZIPLIB(bzlib,BZLIB,bz2,BZ2_bzdopen,bzip2)
@@ -398,6 +411,9 @@
 eu_ZIPLIB(lzma,LZMA,lzma,lzma_auto_decoder,[LZMA (xz)])
 AS_IF([test "x$with_lzma" = xyes], [LIBLZMA="liblzma"], [LIBLZMA=""])
 AC_SUBST([LIBLZMA])
+eu_ZIPLIB(zstd,ZSTD,zstd,ZSTD_decompress,[ZSTD (zst)])
+AS_IF([test "x$with_zstd" = xyes], [LIBZSTD="libzstd"], [LIBLZSTD=""])
+AC_SUBST([LIBZSTD])
 zip_LIBS="$LIBS"
 LIBS="$save_LIBS"
 AC_SUBST([zip_LIBS])
@@ -412,6 +428,11 @@
 
 AC_CHECK_FUNCS([process_vm_readv])
 
+old_CFLAGS="$CFLAGS"
+CFLAGS="$CFLAGS -D_GNU_SOURCE"
+AC_FUNC_STRERROR_R()
+CFLAGS="$old_CFLAGS"
+
 AC_CHECK_LIB([stdc++], [__cxa_demangle], [dnl
 AC_DEFINE([USE_DEMANGLE], [1], [Defined if demangling is enabled])])
 AM_CONDITIONAL(DEMANGLE, test "x$ac_cv_lib_stdcpp___cxa_demangle" = "xyes")
@@ -504,31 +525,36 @@
 		  [Defined if __attribute__((fallthrough)) is supported])
 fi
 
-dnl Check if we have argp available from our libc
-AC_LINK_IFELSE(
-	[AC_LANG_PROGRAM(
-		[#include <argp.h>],
-		[int argc=1; char *argv[]={"test"}; argp_parse(0,argc,&argv,0,0,0); return 0;]
-		)],
-	[libc_has_argp="true"],
-	[libc_has_argp="false"]
-)
-
-dnl If our libc doesn't provide argp, then test for libargp
-if test "$libc_has_argp" = "false" ; then
-	AC_MSG_WARN("libc does not have argp")
-	AC_CHECK_LIB([argp], [argp_parse], [have_argp="true"], [have_argp="false"])
-
-	if test "$have_argp" = "false"; then
-		AC_MSG_ERROR("no libargp found")
-	else
-		argp_LDADD="-largp"
-	fi
-else
-	argp_LDADD=""
-fi
+saved_LIBS="$LIBS"
+AC_SEARCH_LIBS([argp_parse], [argp])
+LIBS="$saved_LIBS"
+case "$ac_cv_search_argp_parse" in
+        no) AC_MSG_FAILURE([failed to find argp_parse]) ;;
+        -l*) argp_LDADD="$ac_cv_search_argp_parse" ;;
+        *) argp_LDADD= ;;
+esac
 AC_SUBST([argp_LDADD])
 
+saved_LIBS="$LIBS"
+AC_SEARCH_LIBS([fts_close], [fts])
+LIBS="$saved_LIBS"
+case "$ac_cv_search_fts_close" in
+        no) AC_MSG_FAILURE([failed to find fts_close]) ;;
+        -l*) fts_LIBS="$ac_cv_search_fts_close" ;;
+        *) fts_LIBS= ;;
+esac
+AC_SUBST([fts_LIBS])
+
+saved_LIBS="$LIBS"
+AC_SEARCH_LIBS([_obstack_free], [obstack])
+LIBS="$saved_LIBS"
+case "$ac_cv_search__obstack_free" in
+        no) AC_MSG_FAILURE([failed to find _obstack_free]) ;;
+        -l*) obstack_LIBS="$ac_cv_search__obstack_free" ;;
+        *) obstack_LIBS= ;;
+esac
+AC_SUBST([obstack_LIBS])
+
 dnl The directories with content.
 
 dnl Documentation.
@@ -556,7 +582,6 @@
 AC_CONFIG_FILES([libcpu/Makefile])
 
 dnl Assembler library.
-AM_CONDITIONAL(HAVE_LIBASM, true)dnl Used in tests/Makefile.am, which see.
 AC_CONFIG_FILES([libasm/Makefile])
 
 dnl CPU-specific backend libraries.
@@ -566,16 +591,21 @@
 AC_CONFIG_FILES([src/Makefile po/Makefile.in])
 
 dnl Test suite.
-AM_CONDITIONAL(STANDALONE, false)dnl Used in tests/Makefile.am, which see.
 AC_CONFIG_FILES([tests/Makefile])
 
 dnl pkgconfig files
 AC_CONFIG_FILES([config/libelf.pc config/libdw.pc config/libdebuginfod.pc])
 
-# Get the definitions necessary to create the Makefiles in the po
-# subdirectories.  This is a small subset of the gettext rules.
-AC_SUBST(USE_NLS, yes)
-AM_PO_SUBDIRS
+dnl As long as "git grep 'PRI[diouxX]' po" reports matches in
+dnl translatable strings, we must use need-formatstring-macros here.
+AM_GNU_GETTEXT([external], [need-formatstring-macros])
+
+dnl AM_GNU_GETTEXT_VERSION is still needed for old versions
+dnl of autoreconf that do not recognize AM_GNU_GETTEXT_REQUIRE_VERSION.
+dnl 0.19.6 is the first version of gettext that provides
+dnl AM_GNU_GETTEXT_REQUIRE_VERSION support.
+AM_GNU_GETTEXT_VERSION([0.19.6])
+AM_GNU_GETTEXT_REQUIRE_VERSION([0.19.6])
 
 dnl Appended to the config.h file.
 dnl We hide all kinds of configuration magic in lib/eu-config.h.
@@ -618,12 +648,6 @@
 # Round up to the next release API (x.y) version.
 eu_version=$(( (eu_version + 999) / 1000 ))
 
-dnl Unique ID for this build.
-MODVERSION="Build for ${eu_version} ${ac_cv_build}"
-AC_SUBST([MODVERSION])
-AC_DEFINE_UNQUOTED(MODVERSION, "$MODVERSION")
-AH_TEMPLATE([MODVERSION], [Identifier for modules in the build.])
-
 AC_CHECK_SIZEOF(long)
 
 # On aarch64 before glibc 2.20 we would get the kernel user_pt_regs instead
@@ -673,29 +697,69 @@
   AC_MSG_WARN([No bunzip2, needed to run make check])
 fi
 
-# Look for libmicrohttpd, libcurl, libarchive, sqlite for debuginfo server
-# minimum versions as per rhel7.  Single --enable-* option arranges to build
-# both client and server.
-AC_ARG_ENABLE([debuginfod],AC_HELP_STRING([--enable-debuginfod], [Build debuginfod server and client]))
+# For tests that need to use zstd compression
+AC_CHECK_PROG(HAVE_ZSTD, zstd, yes, no)
+AM_CONDITIONAL([HAVE_ZSTD],[test "x$HAVE_ZSTD" = "xyes"])
+
+# Look for libcurl for libdebuginfod minimum version as per rhel7.
+AC_ARG_ENABLE([libdebuginfod],AC_HELP_STRING([--enable-libdebuginfod], [Build debuginfod client library (can be =dummy)]))
+AS_IF([test "x$enable_libdebuginfod" != "xno"], [
+    if test "x$enable_libdebuginfod" != "xdummy"; then
+      AC_MSG_NOTICE([checking libdebuginfod dependencies, --disable-libdebuginfod or --enable-libdebuginfo=dummy to skip])
+      enable_libdebuginfod=yes # presume success
+      PKG_PROG_PKG_CONFIG
+      PKG_CHECK_MODULES([libcurl],[libcurl >= 7.29.0],[],[enable_libdebuginfod=no])
+      if test "x$enable_libdebuginfod" = "xno"; then
+        AC_MSG_ERROR([dependencies not found, use --disable-libdebuginfod to disable or --enable-libdebuginfod=dummy to build a (bootstrap) dummy library.])
+      fi
+    else
+      AC_MSG_NOTICE([building (bootstrap) dummy libdebuginfo library])
+    fi
+])
+
+AS_IF([test "x$enable_libdebuginfod" = "xyes" || test "x$enable_libdebuginfod" = "xdummy"],
+      [AC_DEFINE([ENABLE_LIBDEBUGINFOD], [1], [Enable libdebuginfod])])
+AS_IF([test "x$enable_libdebuginfod" = "xdummy"],
+      [AC_DEFINE([DUMMY_LIBDEBUGINFOD], [1], [Build dummy libdebuginfod])])
+AM_CONDITIONAL([LIBDEBUGINFOD],[test "x$enable_libdebuginfod" = "xyes" || test "x$enable_libdebuginfod" = "xdummy"])
+AM_CONDITIONAL([DUMMY_LIBDEBUGINFOD],[test "x$enable_libdebuginfod" = "xdummy"])
+
+# Look for libmicrohttpd, libarchive, sqlite for debuginfo server
+# minimum versions as per rhel7.
+AC_ARG_ENABLE([debuginfod],AC_HELP_STRING([--enable-debuginfod], [Build debuginfod server]))
 AC_PROG_CXX
-AX_CXX_COMPILE_STDCXX(11, noext, optional)
 AS_IF([test "x$enable_debuginfod" != "xno"], [
-    AC_MSG_NOTICE([checking debuginfod dependencies, disable to skip])
+    AC_MSG_NOTICE([checking debuginfod C++11 support, --disable-debuginfod to skip])
+    AX_CXX_COMPILE_STDCXX(11, noext, mandatory)
+    AC_MSG_NOTICE([checking debuginfod dependencies, --disable-debuginfod to skip])
+    if test "x$enable_libdebuginfod" = "xno"; then
+      AC_MSG_ERROR([need libdebuginfod (or dummy), use --disable-debuginfod to disable.])
+    fi
     enable_debuginfod=yes # presume success
     PKG_PROG_PKG_CONFIG
-    if test "x$ac_cv_prog_ac_ct_CXX" = "x"; then enable_debuginfod=no; fi
     PKG_CHECK_MODULES([libmicrohttpd],[libmicrohttpd >= 0.9.33],[],[enable_debuginfod=no])
-    PKG_CHECK_MODULES([libcurl],[libcurl >= 7.29.0],[],[enable_debuginfod=no])
     PKG_CHECK_MODULES([sqlite3],[sqlite3 >= 3.7.17],[],[enable_debuginfod=no])
     PKG_CHECK_MODULES([libarchive],[libarchive >= 3.1.2],[],[enable_debuginfod=no])
     if test "x$enable_debuginfod" = "xno"; then
-      AC_MSG_ERROR([C++ compiler or dependencies not found, use --disable-debuginfod to disable.])
+      AC_MSG_ERROR([dependencies not found, use --disable-debuginfod to disable.])
     fi
 ])
 
 AS_IF([test "x$enable_debuginfod" != "xno"],AC_DEFINE([ENABLE_DEBUGINFOD],[1],[Build debuginfod]))
 AM_CONDITIONAL([DEBUGINFOD],[test "x$enable_debuginfod" = "xyes"])
 
+dnl for /etc/profile.d/elfutils.{csh,sh}
+default_debuginfod_urls=""
+AC_ARG_ENABLE(debuginfod-urls,
+            [AS_HELP_STRING([--enable-debuginfod-urls@<:@=URLS@:>@],[add URLS to profile.d DEBUGINFOD_URLS])],
+            [if test "x${enableval}" = "xyes";
+             then default_debuginfod_urls="https://debuginfod.elfutils.org/";
+             elif test "x${enableval}" != "xno"; then
+             default_debuginfod_urls="${enableval}";
+             fi],
+            [default_debuginfod_urls=""])
+AC_SUBST(DEBUGINFOD_URLS, $default_debuginfod_urls)                
+AC_CONFIG_FILES([config/profile.sh config/profile.csh])
 
 AC_OUTPUT
 
@@ -714,6 +778,7 @@
     gzip support                       : ${with_zlib}
     bzip2 support                      : ${with_bzlib}
     lzma/xz support                    : ${with_lzma}
+    zstd support                       : ${with_zstd}
     libstdc++ demangle support         : ${enable_demangler}
     File textrel check                 : ${enable_textrelcheck}
     Symbol versioning                  : ${enable_symbol_versioning}
@@ -726,10 +791,13 @@
     Deterministic archives by default  : ${default_ar_deterministic}
     Native language support            : ${USE_NLS}
     Extra Valgrind annotations         : ${use_vg_annotations}
-    Debuginfod client/server support   : ${enable_debuginfod}
+    libdebuginfod client support       : ${enable_libdebuginfod}
+    Debuginfod server support          : ${enable_debuginfod}
+    Default DEBUGINFOD_URLS            : ${default_debuginfod_urls}
 
   EXTRA TEST FEATURES (used with make check)
     have bunzip2 installed (required)  : ${HAVE_BUNZIP2}
+    have zstd installed                : ${HAVE_ZSTD}
     debug branch prediction            : ${use_debugpred}
     gprof support                      : ${use_gprof}
     gcov support                       : ${use_gcov}
diff --git a/debuginfod/.gitignore b/debuginfod/.gitignore
new file mode 100644
index 0000000..e0ff668
--- /dev/null
+++ b/debuginfod/.gitignore
@@ -0,0 +1,3 @@
+/debuginfod
+/debuginfod-find
+/debuginfod.h
diff --git a/debuginfod/ChangeLog b/debuginfod/ChangeLog
index 8aa2944..8de8852 100644
--- a/debuginfod/ChangeLog
+++ b/debuginfod/ChangeLog
@@ -1,3 +1,492 @@
+2021-02-04  Frank Ch. Eigler <fche@redhat.com>
+
+	PR27092 low-memory handling
+	* debuginfod.cxx (fdcache_mintmp): New parameter, with cmd-line option.
+	(parse_opt): Parse it.
+	(main): Default it.
+	(statfs_free_enough_p): New function.
+	(libarchive_fdcache::*): Call it to trigger emergency fdcache flush.
+	(thread_main_scanner): Call it to report filesystem fullness metrics.
+	(groom): Ditto.
+	(set/add_metric): Take double rather than int64_t values.
+	(archive_exception): Propagate suberror to metric label.
+	(main): Detect pthread creation fatal errors properly.
+
+2021-02-02  Frank Ch. Eigler <fche@redhat.com>
+
+	PR27323
+	* debuginfod.cxx (dbq): New read-only database connection for queries
+	only.
+	(signal_handler): Interrupt it.
+	(main): Open / close it.
+	(handle_buildid): Use it for webapi queries only.
+	(database_stats_report): Make more interruptible.  Report sqlite3
+	operation times to the prometheus metrics.
+	(groom): Make more interruptible.
+	(thread_main_fts_source_paths, thread_main_groom): Ensure
+	state/progress metrics are fresh even in case of exceptions.
+
+2020-12-20  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* .gitignore: New file.
+
+2020-12-12  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* debuginfod-client.c (debuginfod_query_server): Fix spelling typos in
+	comments.
+	* debuginfod.cxx: Likewise.
+	(parse_opt): Fix spelling typos in error diagnostics.
+
+2020-12-08  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* Makefile.am [LIBDEBUGINFOD]: Create libdebuginfod.so.1 first, turn
+	libdebuginfod.so into symlink.
+
+2020-11-30  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* Makefile.am (libdebuginfod.so): Replace $@.$(VERSION) with
+	$(LIBDEBUGINFOD_SONAME).
+	(install, uninstall, MOSTLYCLEANFILES): Replace
+	libdebuginfod.so.$(VERSION) with $(LIBDEBUGINFOD_SONAME).
+	(VERSION): Remove.
+	* debuginfod.h: Rename to ...
+	* debuginfod.h.in ... this.
+	(DEBUGINFOD_SONAME): New macro.
+
+2020-11-30  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* Makefile.am (libdebuginfod.so$(EXEEXT)): Drop $(EXEEXT) suffix.
+
+2020-11-25  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod.cxx (step_ok_done): Correct typo in prom metric label.
+
+2020-11-25  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod.cxx (tmp_ms_metric): Switch from gettimeofday to
+	clock_gettime(CLOCK_MONOTONIC) for time-interval measurements.
+	(handler_cb, scan_source_paths, groom): Ditto.
+
+2020-11-23  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod.cxx (tmp_ms_metric): New class for RAII timing metrics.
+	(sqlite_ps::reset, step*): Call it to track sqlite3 performance.
+	(sqlite_exception ctor): Increment sqlite3 error_count.
+
+2020-11-23  Mark Wielaard  <mark@klomp.org>
+
+	* debuginfod-client.c (debuginfod_query_server): Initialize
+	struct handle_data errbuf to the empty string.
+
+2020-11-11  Mark Wielaard  <mark@klomp.org>
+
+	* debuginfod-client.c (debuginfod_set_verbose_fd): New function.
+	(struct debuginfod_client): Add verbose_fd.
+	(struct handle_data): Add errbuf.
+	(debuginfod_query_server): Produce verbose output when
+	debuginfod_client verbose_fd is set. Only clear old data and set
+	default_headers when any work is done. Always goto out when setting
+	rc to an error value. Use CURLOPT_ERRORBUFFER to get more error
+	output when verbose output is requested.
+	* debuginfod.h (DEBUGINFOD_VERBOSE_ENV_VAR): New.
+	(debuginfod_set_verbose_fd): Added.
+	* debuginfod-find.c (parse_opt): Set debuginfod_set_verbose_fd on -v.
+	* bdebuginfod.map (ELFUTILS_0.183): New section, add
+	debuginfod_set_verbose_fd.
+
+2020-11-21  Mark Wielaard  <mark@klomp.org>
+
+	* debuginfod.cxx (handle_root): New function.
+	(handler_cb): Handle "/" and report url1 in webapi error.
+
+2020-11-11  Mark Wielaard  <mark@klomp.org>
+
+	* debuginfod-find.c (progressfn): Use clock_gettime to print Progress
+	at most 5 times a second.
+
+2020-11-19  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod.cxx (tmp_inc_metric): New class.
+	(handler_cb): Use it to track webapi operations.
+
+2020-11-01  Érico N. Rolim  <erico.erc@gmail.com>
+
+	* debuginfod-client.c (debuginfod_init_cache): Use ACCESSPERMS for
+	mkdir, DEFFILEMODE for open with O_CREAT.
+
+2020-11-01  Érico N. Rolim  <erico.erc@gmail.com>
+
+	* debuginfod.cxx: include libintl.h.
+
+2020-11-01  Érico N. Rolim  <erico.erc@gmail.com>
+
+	* Makefile.am (debuginfod_LDADD): Add argp_LDADD and fts_LIBS.
+	(debuginfod_find_LDADD): Likewise.
+	(libdebuginfod_so_LDLIBS): Add fts_LIBS.
+
+2020-10-31  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod.cxx (scan_source_file, scan_archive_file): Add new scanned_bytes_total,
+	scanned_files_total metrics.
+	(archive_classify): Exit early if interrupted.
+	(scan_source_paths): Perform realpath/regex checks only on FTS_F files.
+	Tweak metrics.
+
+2020-10-30  Frank Ch. Eigler  <fche@redhat.com>
+
+	PR26775 cont'd.
+	* debuginfod.cxx (thread_main_scanner): Ensure control doesn't
+	leave infinite loop until program exit, even if SIGUSR2.
+	(scan_source_paths): Have traverser clean scanq on
+	SIGUSR2.  Emit additional traversed_total metrics.
+	(groom): Emit additional groomed_total metrics.
+	(thread_main_groom): Restore previous thread_work_total
+	metric.
+
+2020-10-29  Frank Ch. Eigler  <fche@redhat.com>
+
+	PR26775
+	* debuginfod.cxx (forced_*_count): Make these global.
+	(runq::clear): New function.
+	(thread_main_scanner): Check for pending SIGUSR2; interrupt.
+	(scan_source_paths): Check for pending SIGUSR2; interrupt.
+	(groom): Report prometheus stats before groom also.  Check for
+	pending SIGUSR1; interrupt.  Increment thread_work_total for
+	each file scanned, not the entire cycle.
+
+2020-10-29  Frank Ch. Eigler  <fche@redhat.com>
+
+	PR26810
+	* debuginfod.cxx (handle_buildid_*_match): Throw exceptions for
+	more lower level libc errors.
+	(handle_buildid_match): Catch & report exceptions but return 0
+	for continued iteration in the caller.
+
+2020-10-25  Mark Wielaard  <mark@klomp.org>
+
+	* debuginfod-client.c (debuginfod_query_server): Translate
+	CURLE_PEER_FAILED_VERIFICATION to ECONNREFUSED.
+
+2020-10-20  Frank Ch. Eigler  <fche@redhat.com>
+
+	PR26756: more prometheus metrics
+	* debuginfod.cxx (*_exception): Add counters for error occurrences.
+	(fdcache::*): Add counters for fdcache operations and status.
+	(fdcache::set_metric): New fn for overall stat counts.
+	(fdcache::limit): ... allow metric-less use from dtors.
+
+2020-10-20  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod.cxx (handle_buildid*): Add a parameter for detecting
+	internally-originated lookups for dwz resolution.
+
+2020-09-18  Frank Ch. Eigler <fche@redhat.com>
+
+	* debuginfod.cxx (scan_source_file, archive_classify): Store only
+	canonicalized file names in sdef & sref records in the database.
+
+2020-09-08  Mark Wielaard  <mark@klomp.org>
+
+	* Makefile.am (BUILD_STATIC): Include libcurl_LIBS in libdebuginfod
+	when NOT DUMMY_LIBDEBUGINFOD.
+
+2020-09-16  Mark Wielaard  <mark@klomp.org>
+
+	* debuginfod-find.c: Fix license block comment.
+
+2020-09-15  Mark Wielaard  <mark@klomp.org>
+
+	* debuginfod-find.c (main): Use dwelf_elf_begin.
+
+2020-07-03  Alice Zhang <alizhang@redhat.com>
+
+	* debuginfod-client.c (debuginfod_query_server): Use strncasecmp
+	to compare effective_url. Try CURLINFO_SCHEME as fallback.
+
+2020-06-19  Mark Wielaard  <mark@klomp.org>
+
+	* Makefile.am (bin_PROGRAMS): Guard with DEBUGINFOD and
+	LIBDEBUGINFOD.
+	(debuginfod_LDADD): Remove libcurl.
+	(libdebuginfod): When static and DUMMY_LIBDEBUGINFO remove libcurl.
+	(noinst_LIBRARIES): Guard with LIBDEBUGINFOD.
+	(AM_CPPFLAGS): Add -Wno-unused-parameter when DUMMY_LIBDEBUGINFOD.
+	(pkginclude_headers): Guard with LIBDEBUGINFOD
+	(libdebuginfod_so_LIBS): Likewise.
+	(+libdebuginfod_so_LDLIBS): Likewise.
+	(install): Likewise.
+	(uninstall): Likewise.
+	* debuginfod-client.c: Include dummy functions when
+	DUMMY_LIBDEBUGINFOD.
+	* debuginfod.cxx: Remove curl.h include.
+
+2020-06-16  Mark Wielaard  <mark@klomp.org>
+
+	* debuginfod-client.c (debuginfod_query_server): Check malloc.
+	Move curl_multi_init call before handle_data malloc call.
+
+2020-06-16  Mark Wielaard  <mark@klomp.org>
+
+	* debuginfod-client.c (debuginfod_query_server): Replace sizeof
+	build_id_bytes check with strlen build_id check.
+
+2020-06-16  Mark Wielaard  <mark@klomp.org>
+
+	* debuginfod-client.c (debuginfod_query_server): Increase suffix
+	array and prepare having to escape 1 character with 2.
+
+2020-06-16  Mark Wielaard  <mark@klomp.org>
+
+	* debuginfod-client.c (debuginfod_clean_cache): Handle failing
+	fopen (interval_path).
+
+2020-03-29  Mark Wielaard  <mark@klomp.org>
+
+	* debuginfod-client.c (debuginfod_add_http_header): Check header
+	contains precisely one colon that isn't the first or last char.
+
+2020-03-29  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod-client.c (struct debuginfod_client): Add a flag field
+	for progressfn printing.
+	(default_progressfn): Set it if printing \rsomething.
+	(debuginfod_end): Terminate with \n if flag set, i.e., only if the
+	default_progressfn was actually called.
+
+2020-03-27  Mark Wielaard  <mark@klomp.org>
+
+	* debuginfod.cxx (parse_opt): Check port is not zero.
+
+2020-03-28  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod.cxx (handle_buildid_r_match): During archive
+	extraction / fdcache prefetching, set the mtime of each
+	file in the cache.
+
+2020-03-27  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod-find.c (main): Extract buildid from /binary/ if
+	given instead of hex string.
+	* Makefile.am: Add elfutils library prereqs for debuginfod-find.
+
+2020-03-24  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod.h, libdebuginfod.map: New functions for _add_url_header.
+	* debuginfod-client.c (struct debuginfod_client): Add headers fields.
+	(debuginfod_add_http_header): New client api to add outgoing headers.
+	(add_default_headers): Renamed from add_extra_headers, skip if flag.
+	(debuginfod_query_server): Pass accumulated headers to libcurl.
+	(debuginfod_end): Clean accumulated headers.
+	(debuginfod_find_*): Add default headers at this point.
+	* debuginfod.cxx (handle_buildid): Add conn pointer.  Use it to relay
+	incoming UA and XFF headers to federated upstream debuginfods.
+
+2020-03-26  Frank Ch. Eigler <fche@redhat.com>
+
+	* debuginfod.cxx (handler_cb): Export two families of metrics for
+	prometheus traffic analysis: response times and data amounts.
+
+2020-03-26  Frank Ch. Eigler <fche@redhat.com>
+
+	* debuginfod.cxx (parse_opt): For -U, prefer dpkg-deb
+	after all if access(3)-able, fallback to bsdtar.
+
+2020-03-25  Frank Ch. Eigler <fche@redhat.com>
+
+	* debuginfod.cxx (parse_opt): Associate a bsdtar subshell with
+	the .deb & .ddeb extensions, instead of dpkg-deb.
+
+2020-03-26  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod-client.c (debuginfod_query_server): Don't
+	set CURLOPT_PATH_AS_IS on old curl.  Mostly harmless.
+
+2020-03-24  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod-client.c (debuginfod_query_server): Set
+	CURLOPT_PATH_AS_IS, to propagate file names verbatim.
+	* debuginfod.cxx (canon_pathname): Implement RFC3986
+	style pathname canonicalization.
+	(handle_buildid): Canonicalize incoming webapi source
+	paths, accept either one.
+	(scan_source_file, archive_classify): Store both
+	original and canonicalized dwarf-source file names.
+
+2020-03-24  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod.cxx (handle_buildid): In case of federated fallback
+	queries, handle errors analogously to local ENOENT/404.
+	(handle_metrics): Return a size-of-response value.
+	(handler_cb): Add code to time entire application-side processing
+	stage + response sizes + http codes, so as to emit a complete
+	httpd-flavoured log line for each webapi request.
+
+2020-03-24  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod-client.c (debuginfod_query_server): Print the
+	default_progressfn terminating \n message only if that progressfn
+	is actually set.
+
+2020-03-24  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod-find.c (main): Correct /source full-pathness check for
+	"debuginfod-find -v source deadbeef /pathname" case.
+
+2020-03-22  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod-client.c (struct debuginfod_client): Add url field.
+	(struct handle_data): Add client field as backpointer.
+	(debuginfod_write_callback): Compute & save URL.
+	(default_progressfn): Print front pieces of the URL.
+	(debuginfod_query_server): Clear URL and cleanup after progressfn.
+	* debuginfod-find.c (main): Print URL at transfer conclusion.
+
+2020-03-22  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod.h, libdebuginfod.map: New functions for _get/set_user().
+	* debuginfod-client.c: Implement them.
+	* debuginfod-find.c: Include a token call just for testing them.
+
+2020-03-03  Aaron Merey  <amerey@redhat.com>
+
+	* debuginfod-client.c (debuginfod_query_server): Update
+	cache_path even when new default path already exists.
+
+2020-02-27  Aaron Merey  <amerey@redhat.com>
+
+	* debuginfod-client.c (xalloc_str): New macro. Call
+	asprintf with error checking.
+	(debuginfod_query_server): Use XDG_CACHE_HOME as a default
+	cache location if it is set. Replace snprintf with xalloc_str.
+
+2020-02-26  Konrad Kleine <kkleine@redhat.com>
+
+	* debuginfod-client.c (debuginfod_query_server): Handle curl's
+	response code correctly when DEBUGINFOD_URLS begin with file://
+
+2020-02-25  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod.cxx (parse_opt): Treat -R as if -Z.rpm .
+
+2020-02-25  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod.cxx (fdcache_prefetch): New parameter.
+	(parse_opt): Parse it.
+	(main): Default it.
+	(fdcache::fd_size_mb): Change to double for accuracy.
+	(fdcache::probe): New function.
+	(fdcache::intern): New option to intern at end of LRU.
+	(fdcache::lookup): Clean fdcache.
+	(handle_buildid_r_match): Implement multi-stage archive
+	parsing, with optional prefetching of extracted contents
+	into the fdcache.
+
+2020-02-19  Aaron Merey  <amerey@redhat.com>
+
+	* debuginfod-client.c (debuginfod_clean_cache): Restrict
+	cleanup to client-pattern files.
+
+2020-02-05  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod.cxx (argp options): Add -Z option.
+	(canonicalized_archive_entry_pathname): New function for
+	distro-agnostic file name matching/storage.
+
+2020-01-22  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod.cxx (dwarf_extract_source_paths): Don't print
+	"skipping hat" messages at verbosity <=3, too noisy.
+
+2020-01-19  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod.cxx (scanq): Rework to let groomer/fts threads
+	synchronize with an empty workqueue, and lock out workqueue
+	consumers.
+	(thread_groom): Adopt new scanq idle APIs to lock out scanners.
+	(thread_main_fts_source_paths): Adopt new scanq idler API to
+	avoid being restarted while scanners haven't even finished yet.
+	(thread_main_*): Increment thread_work_total metric only after
+	a work cycle is completed, not when it begins.
+
+2020-01-18  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod.cxx (thread_main_scanner): Handle empty source_paths[].
+
+2020-01-11  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod.cxx (libarchive_fdcache): New class/facility to own a
+	cache of temporary files that were previously extracted from an
+	archive.  If only it could store just unlinked fd's instead of
+	filenames.
+	(handle_buildid_r_match): Use it to answer dwz/altdebug and webapi
+	requests.
+	(groom): Clean it.
+	(main): Initialize the cache control parameters from heuristics.
+	Use a consistent tmpdir for these and tmp files elsewhere.
+
+2020-01-11  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod.cxx (conninfo): Print User-Agent and X-Forwarded-For
+	request headers, after mild safety-censorship (for easier machine
+	processing).
+
+2020-01-11  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod.cxx: Rework threading model.
+	(workq): New class for concurrent work-queue.
+	(semaphore): Removed class, now unused.
+	(scan_source_file_path): Rework into ...
+	(scan_source_file): New function.
+	(thread_main_scan_source_file_path): Nuke.
+	(scan_source_archive_path): Rework into ...
+	(scan_archive_file): New function.
+	(thread_main_scanner): New function for scanner threads.
+	(thread_main_fts_source_paths): New function for traversal thread.
+	(scan_source_paths): ... doing this.
+	(thread_groom): Tweak metrics for consistency.
+	(main): Start 1 traversal and N scanner threads if needed.
+
+2019-01-02  Mark Wielaard  <mark@klomp.org>
+
+	* debuginfod.cxx (default_connect_timeout): Removed.
+	(default_transfer_timeout): Removed.
+	(default_timeout): New. Default to 90 seconds.
+	(debuginfod_query_server): Parse server_timeout_envvar as one number.
+	Set as CURLOPT_LOW_SPEED_TIME, with CURL_OPT_LOW_SPEED_LIMITE as 100K.
+
+2020-01-09  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod-client.c (add_extra_headers): New function,
+	based on mjw's draft.
+	(debuginfod_query_server): Call it.
+
+2019-12-22  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod.cxx (*_rpm_*): Rename to *_archive_* throughout.
+	(scan_archives): New read-mostly global to identify archive
+	file extensions and corresponding extractor commands.
+	(parse_opt): Handle new -U flag.
+
+2019-12-19  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod-client.c (default_progressfn): New function.
+	(debuginfod_begin): Use it if $DEBUGINFOD_PROGRESS set.
+	(server_timeout): Bump to 30 seconds.
+	(debuginfod_query_server): Call progressfn -after- rather than
+	before curl ops, to make it likely that a successful transfer
+	results in final a=b call.  Tweak cleanup sequence.
+	* debuginfod.h: Document $DEBUGINFOD_PROGRESS name.
+
+2019-12-09  Mark Wielaard  <mark@klomp.org>
+
+	* debuginfod-client.c (debuginfod_query_server): Check
+	server_urls_envvar early.
+
+2019-12-03  Mark Wielaard  <mark@klomp.org>
+
+	* debuginfod-client.c (debuginfod_query_server): Use separate
+	local variables for CURLcode curl_res and CURLMcode curlm_res.
+
 2019-11-26  Mark Wielaard  <mark@klomp.org>
 
 	* Makefile.am (BUILD_STATIC): Add needed libraries for libdw and
diff --git a/debuginfod/Makefile.am b/debuginfod/Makefile.am
index 52ead30..3adb275 100644
--- a/debuginfod/Makefile.am
+++ b/debuginfod/Makefile.am
@@ -34,7 +34,6 @@
 	   -I$(srcdir)/../libdw -I$(srcdir)/../libdwelf \
 	   $(libmicrohttpd_CFLAGS) $(libcurl_CFLAGS) $(sqlite3_CFLAGS) \
 	   $(libarchive_CFLAGS)
-VERSION = 1
 
 # Disable eu- prefixing for artifacts (binaries & man pages) in this
 # directory, since they do not conflict with binutils tools.
@@ -45,7 +44,11 @@
 libasm = ../libasm/libasm.a
 libdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) $(libebl) -ldl -lpthread
 libelf = ../libelf/libelf.a -lz
+if DUMMY_LIBDEBUGINFOD
+libdebuginfod = ./libdebuginfod.a
+else
 libdebuginfod = ./libdebuginfod.a $(libcurl_LIBS)
+endif
 else
 libasm = ../libasm/libasm.so
 libdw = ../libdw/libdw.so
@@ -57,47 +60,72 @@
 
 AM_LDFLAGS = -Wl,-rpath-link,../libelf:../libdw:.
 
-bin_PROGRAMS = debuginfod debuginfod-find
+bin_PROGRAMS =
+if DEBUGINFOD
+bin_PROGRAMS += debuginfod
+endif
+
+if LIBDEBUGINFOD
+bin_PROGRAMS += debuginfod-find
+endif
+
 debuginfod_SOURCES = debuginfod.cxx
-debuginfod_LDADD = $(libdw) $(libelf) $(libeu) $(libdebuginfod) $(libmicrohttpd_LIBS) $(libcurl_LIBS) $(sqlite3_LIBS) $(libarchive_LIBS) -lpthread -ldl
+debuginfod_LDADD = $(libdw) $(libelf) $(libeu) $(libdebuginfod) $(argp_LDADD) $(fts_LIBS) $(libmicrohttpd_LIBS) $(sqlite3_LIBS) $(libarchive_LIBS) -lpthread -ldl
 
 debuginfod_find_SOURCES = debuginfod-find.c
-debuginfod_find_LDADD = $(libeu) $(libdebuginfod)
+debuginfod_find_LDADD = $(libdw) $(libelf) $(libeu) $(libdebuginfod) $(argp_LDADD) $(fts_LIBS)
 
+if LIBDEBUGINFOD
 noinst_LIBRARIES = libdebuginfod.a
 noinst_LIBRARIES += libdebuginfod_pic.a
+endif
 
 libdebuginfod_a_SOURCES = debuginfod-client.c
 libdebuginfod_pic_a_SOURCES = debuginfod-client.c
 am_libdebuginfod_pic_a_OBJECTS = $(libdebuginfod_a_SOURCES:.c=.os)
 
-pkginclude_HEADERS = debuginfod.h
+if DUMMY_LIBDEBUGINFOD
+AM_CPPFLAGS += -Wno-unused-parameter
+endif
 
+if LIBDEBUGINFOD
+pkginclude_HEADERS = debuginfod.h
+endif
+
+if LIBDEBUGINFOD
 libdebuginfod_so_LIBS = libdebuginfod_pic.a
-libdebuginfod_so_LDLIBS = $(libcurl_LIBS)
-libdebuginfod.so$(EXEEXT): $(srcdir)/libdebuginfod.map $(libdebuginfod_so_LIBS)
+if DUMMY_LIBDEBUGINFOD
+libdebuginfod_so_LDLIBS =
+else
+libdebuginfod_so_LDLIBS = $(libcurl_LIBS) $(fts_LIBS)
+endif
+$(LIBDEBUGINFOD_SONAME): $(srcdir)/libdebuginfod.map $(libdebuginfod_so_LIBS)
 	$(AM_V_CCLD)$(LINK) $(dso_LDFLAGS) -o $@ \
-		-Wl,--soname,$@.$(VERSION) \
+		-Wl,--soname,$(LIBDEBUGINFOD_SONAME) \
 		-Wl,--version-script,$<,--no-undefined \
 		-Wl,--whole-archive $(libdebuginfod_so_LIBS) -Wl,--no-whole-archive \
 		$(libdebuginfod_so_LDLIBS)
 	@$(textrel_check)
-	$(AM_V_at)ln -fs $@ $@.$(VERSION)
+
+libdebuginfod.so: $(LIBDEBUGINFOD_SONAME)
+	ln -fs $< $@
 
 install: install-am libdebuginfod.so
 	$(mkinstalldirs) $(DESTDIR)$(libdir)
-	$(INSTALL_PROGRAM) libdebuginfod.so $(DESTDIR)$(libdir)/libdebuginfod-$(PACKAGE_VERSION).so
-	ln -fs libdebuginfod-$(PACKAGE_VERSION).so $(DESTDIR)$(libdir)/libdebuginfod.so.$(VERSION)
-	ln -fs libdebuginfod.so.$(VERSION) $(DESTDIR)$(libdir)/libdebuginfod.so
+	$(INSTALL_PROGRAM) $(LIBDEBUGINFOD_SONAME) \
+		$(DESTDIR)$(libdir)/libdebuginfod-$(PACKAGE_VERSION).so
+	ln -fs libdebuginfod-$(PACKAGE_VERSION).so $(DESTDIR)$(libdir)/$(LIBDEBUGINFOD_SONAME)
+	ln -fs libdebuginfod-$(PACKAGE_VERSION).so $(DESTDIR)$(libdir)/libdebuginfod.so
 
 uninstall: uninstall-am
 	rm -f $(DESTDIR)$(libdir)/libdebuginfod-$(PACKAGE_VERSION).so
-	rm -f $(DESTDIR)$(libdir)/libdebuginfod.so.$(VERSION)
+	rm -f $(DESTDIR)$(libdir)/$(LIBDEBUGINFOD_SONAME)
 	rm -f $(DESTDIR)$(libdir)/libdebuginfod.so
 	rmdir --ignore-fail-on-non-empty $(DESTDIR)$(includedir)/elfutils
+endif
 
 EXTRA_DIST = libdebuginfod.map
-MOSTLYCLEANFILES = $(am_libdebuginfod_pic_a_OBJECTS) libdebuginfod.so.$(VERSION)
+MOSTLYCLEANFILES = $(am_libdebuginfod_pic_a_OBJECTS) $(LIBDEBUGINFOD_SONAME)
 CLEANFILES += $(am_libdebuginfod_pic_a_OBJECTS) libdebuginfod.so
 
 # automake std-options override: arrange to pass LD_LIBRARY_PATH
diff --git a/debuginfod/debuginfod-client.c b/debuginfod/debuginfod-client.c
index 6e62b86..de26af5 100644
--- a/debuginfod/debuginfod-client.c
+++ b/debuginfod/debuginfod-client.c
@@ -1,5 +1,5 @@
 /* Retrieve ELF / DWARF / source files from the debuginfod.
-   Copyright (C) 2019 Red Hat, Inc.
+   Copyright (C) 2019-2020 Red Hat, Inc.
    This file is part of elfutils.
 
    This file is free software; you can redistribute it and/or modify
@@ -40,15 +40,40 @@
 
 #include "config.h"
 #include "debuginfod.h"
+#include "system.h"
+#include <errno.h>
+#include <stdlib.h>
+
+/* We might be building a bootstrap dummy library, which is really simple. */
+#ifdef DUMMY_LIBDEBUGINFOD
+
+debuginfod_client *debuginfod_begin (void) { errno = ENOSYS; return NULL; }
+int debuginfod_find_debuginfo (debuginfod_client *c, const unsigned char *b,
+                               int s, char **p) { return -ENOSYS; }
+int debuginfod_find_executable (debuginfod_client *c, const unsigned char *b,
+                                int s, char **p) { return -ENOSYS; }
+int debuginfod_find_source (debuginfod_client *c, const unsigned char *b,
+                            int s, const char *f, char **p)  { return -ENOSYS; }
+void debuginfod_set_progressfn(debuginfod_client *c,
+			       debuginfod_progressfn_t fn) { }
+void debuginfod_set_verbose_fd(debuginfod_client *c, int fd) { }
+void debuginfod_set_user_data (debuginfod_client *c, void *d) { }
+void* debuginfod_get_user_data (debuginfod_client *c) { return NULL; }
+const char* debuginfod_get_url (debuginfod_client *c) { return NULL; }
+int debuginfod_add_http_header (debuginfod_client *c,
+				const char *h) { return -ENOSYS; }
+void debuginfod_end (debuginfod_client *c) { }
+
+#else /* DUMMY_LIBDEBUGINFOD */
+
 #include <assert.h>
 #include <dirent.h>
 #include <stdio.h>
-#include <stdlib.h>
 #include <errno.h>
 #include <unistd.h>
-#include <errno.h>
 #include <fcntl.h>
 #include <fts.h>
+#include <regex.h>
 #include <string.h>
 #include <stdbool.h>
 #include <linux/limits.h>
@@ -57,6 +82,7 @@
 #include <sys/syscall.h>
 #include <sys/types.h>
 #include <sys/stat.h>
+#include <sys/utsname.h>
 #include <curl/curl.h>
 
 /* If fts.h is included before config.h, its indirect inclusions may not
@@ -76,6 +102,23 @@
   /* Progress/interrupt callback function. */
   debuginfod_progressfn_t progressfn;
 
+  /* Stores user data. */
+  void* user_data;
+
+  /* Stores current/last url, if any. */
+  char* url;
+
+  /* Accumulates outgoing http header names/values. */
+  int user_agent_set_p; /* affects add_default_headers */
+  struct curl_slist *headers;
+
+  /* Flags the default_progressfn having printed something that
+     debuginfod_end needs to terminate. */
+  int default_progressfn_printed_p;
+
+  /* File descriptor to output any verbose messages if > 0.  */
+  int verbose_fd;
+
   /* Can contain all other context, like cache_path, server_urls,
      timeout or other info gotten from environment variables, the
      handle data, etc. So those don't have to be reparsed and
@@ -96,18 +139,18 @@
 /* Location of the cache of files downloaded from debuginfods.
    The default parent directory is $HOME, or '/' if $HOME doesn't exist.  */
 static const char *cache_default_name = ".debuginfod_client_cache";
+static const char *cache_xdg_name = "debuginfod_client";
 static const char *cache_path_envvar = DEBUGINFOD_CACHE_PATH_ENV_VAR;
 
-/* URLs of debuginfods, separated by url_delim.
-   This env var must be set for debuginfod-client to run.  */
+/* URLs of debuginfods, separated by url_delim. */
 static const char *server_urls_envvar = DEBUGINFOD_URLS_ENV_VAR;
 static const char *url_delim =  " ";
 static const char url_delim_char = ' ';
 
-/* Timeout for debuginfods, in seconds.
-   This env var must be set for debuginfod-client to run.  */
+/* Timeout for debuginfods, in seconds (to get at least 100K). */
 static const char *server_timeout_envvar = DEBUGINFOD_TIMEOUT_ENV_VAR;
-static int server_timeout = 5;
+static const long default_timeout = 90;
+
 
 /* Data associated with a particular CURL easy handle. Passed to
    the write callback.  */
@@ -119,9 +162,15 @@
   /* URL queried by this handle.  */
   char url[PATH_MAX];
 
+  /* error buffer for this handle.  */
+  char errbuf[CURL_ERROR_SIZE];
+
   /* This handle.  */
   CURL *handle;
 
+  /* The client object whom we're serving. */
+  debuginfod_client *client;
+
   /* Pointer to handle that should write to fd. Initially points to NULL,
      then points to the first handle that begins writing the target file
      to the cache. Used to ensure that a file is not downloaded from
@@ -138,7 +187,17 @@
 
   /* Indicate to other handles that they can abort their transfer.  */
   if (*d->target_handle == NULL)
-    *d->target_handle = d->handle;
+    {
+      *d->target_handle = d->handle;
+      /* update the client object */
+      const char *url = NULL;
+      (void) curl_easy_getinfo (d->handle, CURLINFO_EFFECTIVE_URL, &url);
+      if (url)
+        {
+          free (d->client->url);
+          d->client->url = strdup(url); /* ok if fails */
+        }
+    }
 
   /* If this handle isn't the target handle, abort transfer.  */
   if (*d->target_handle != d->handle)
@@ -160,13 +219,13 @@
     return 0;
 
   /* Create the cache and config files as necessary.  */
-  if (stat(cache_path, &st) != 0 && mkdir(cache_path, 0777) < 0)
+  if (stat(cache_path, &st) != 0 && mkdir(cache_path, ACCESSPERMS) < 0)
     return -errno;
 
   int fd = -1;
 
   /* init cleaning interval config file.  */
-  fd = open(interval_path, O_CREAT | O_RDWR, 0666);
+  fd = open(interval_path, O_CREAT | O_RDWR, DEFFILEMODE);
   if (fd < 0)
     return -errno;
 
@@ -175,7 +234,7 @@
 
   /* init max age config file.  */
   if (stat(maxage_path, &st) != 0
-      && (fd = open(maxage_path, O_CREAT | O_RDWR, 0666)) < 0)
+      && (fd = open(maxage_path, O_CREAT | O_RDWR, DEFFILEMODE)) < 0)
     return -errno;
 
   if (dprintf(fd, "%ld", cache_default_max_unused_age_s) < 0)
@@ -214,9 +273,14 @@
   /* Check timestamp of interval file to see whether cleaning is necessary.  */
   time_t clean_interval;
   interval_file = fopen(interval_path, "r");
-  if (fscanf(interval_file, "%ld", &clean_interval) != 1)
+  if (interval_file)
+    {
+      if (fscanf(interval_file, "%ld", &clean_interval) != 1)
+        clean_interval = cache_clean_default_interval_s;
+      fclose(interval_file);
+    }
+  else
     clean_interval = cache_clean_default_interval_s;
-  fclose(interval_file);
 
   if (time(NULL) - st.st_mtime < clean_interval)
     /* Interval has not passed, skip cleaning.  */
@@ -240,10 +304,19 @@
   if (fts == NULL)
     return -errno;
 
+  regex_t re;
+  const char * pattern = ".*/[a-f0-9]+/(debuginfo|executable|source.*)$";
+  if (regcomp (&re, pattern, REG_EXTENDED | REG_NOSUB) != 0)
+    return -ENOMEM;
+
   FTSENT *f;
   long files = 0;
   while ((f = fts_read(fts)) != NULL)
     {
+      /* ignore any files that do not match the pattern.  */
+      if (regexec (&re, f->fts_path, 0, NULL, 0) != 0)
+        continue;
+
       files++;
       if (c->progressfn) /* inform/check progress callback */
         if ((c->progressfn) (c, files, 0))
@@ -267,7 +340,8 @@
           ;
         }
     }
-  fts_close(fts);
+  fts_close (fts);
+  regfree (&re);
 
   /* Update timestamp representing when the cache was last cleaned.  */
   utime (interval_path, NULL);
@@ -278,6 +352,136 @@
 #define MAX_BUILD_ID_BYTES 64
 
 
+static void
+add_default_headers(debuginfod_client *client)
+{
+  if (client->user_agent_set_p)
+    return;
+
+  /* Compute a User-Agent: string to send.  The more accurately this
+     describes this host, the likelier that the debuginfod servers
+     might be able to locate debuginfo for us. */
+
+  char* utspart = NULL;
+  struct utsname uts;
+  int rc = 0;
+  rc = uname (&uts);
+  if (rc == 0)
+    rc = asprintf(& utspart, "%s/%s", uts.sysname, uts.machine);
+  if (rc < 0)
+    utspart = NULL;
+
+  FILE *f = fopen ("/etc/os-release", "r");
+  if (f == NULL)
+    f = fopen ("/usr/lib/os-release", "r");
+  char *id = NULL;
+  char *version = NULL;
+  if (f != NULL)
+    {
+      while (id == NULL || version == NULL)
+        {
+          char buf[128];
+          char *s = &buf[0];
+          if (fgets (s, sizeof(buf), f) == NULL)
+            break;
+
+          int len = strlen (s);
+          if (len < 3)
+            continue;
+          if (s[len - 1] == '\n')
+            {
+              s[len - 1] = '\0';
+              len--;
+            }
+
+          char *v = strchr (s, '=');
+          if (v == NULL || strlen (v) < 2)
+            continue;
+
+          /* Split var and value. */
+          *v = '\0';
+          v++;
+
+          /* Remove optional quotes around value string. */
+          if (*v == '"' || *v == '\'')
+            {
+              v++;
+              s[len - 1] = '\0';
+            }
+          if (strcmp (s, "ID") == 0)
+            id = strdup (v);
+          if (strcmp (s, "VERSION_ID") == 0)
+            version = strdup (v);
+        }
+      fclose (f);
+    }
+
+  char *ua = NULL;
+  rc = asprintf(& ua, "User-Agent: %s/%s,%s,%s/%s",
+                PACKAGE_NAME, PACKAGE_VERSION,
+                utspart ?: "",
+                id ?: "",
+                version ?: "");
+  if (rc < 0)
+    ua = NULL;
+
+  if (ua)
+    (void) debuginfod_add_http_header (client, ua);
+
+  free (ua);
+  free (id);
+  free (version);
+  free (utspart);
+}
+
+
+#define xalloc_str(p, fmt, args...)        \
+  do                                       \
+    {                                      \
+      if (asprintf (&p, fmt, args) < 0)    \
+        {                                  \
+          p = NULL;                        \
+          rc = -ENOMEM;                    \
+          goto out;                        \
+        }                                  \
+    } while (0)
+
+
+/* Offer a basic form of progress tracing */
+static int
+default_progressfn (debuginfod_client *c, long a, long b)
+{
+  const char* url = debuginfod_get_url (c);
+  int len = 0;
+
+  /* We prefer to print the host part of the URL to keep the
+     message short. */
+  if (url != NULL)
+    {
+      const char* buildid = strstr(url, "buildid/");
+      if (buildid != NULL)
+        len = (buildid - url);
+      else
+        len = strlen(url);
+    }
+
+  if (b == 0 || url==NULL) /* early stage */
+    dprintf(STDERR_FILENO,
+            "\rDownloading %c", "-/|\\"[a % 4]);
+  else if (b < 0) /* download in progress but unknown total length */
+    dprintf(STDERR_FILENO,
+            "\rDownloading from %.*s %ld",
+            len, url, a);
+  else /* download in progress, and known total length */
+    dprintf(STDERR_FILENO,
+            "\rDownloading from %.*s %ld/%ld",
+            len, url, a, b);
+  c->default_progressfn_printed_p = 1;
+
+  return 0;
+}
+
+
 /* Query each of the server URLs found in $DEBUGINFOD_URLS for the file
    with the specified build-id, type (debuginfo, executable or source)
    and filename. filename may be NULL. If found, return a file
@@ -291,22 +495,61 @@
                          const char *filename,
                          char **path)
 {
-  char *urls_envvar;
   char *server_urls;
-  char cache_path[PATH_MAX];
-  char maxage_path[PATH_MAX*3]; /* These *3 multipliers are to shut up gcc -Wformat-truncation */
-  char interval_path[PATH_MAX*4];
-  char target_cache_dir[PATH_MAX*2];
-  char target_cache_path[PATH_MAX*4];
-  char target_cache_tmppath[PATH_MAX*5];
-  char suffix[PATH_MAX*2];
+  char *urls_envvar;
+  char *cache_path = NULL;
+  char *maxage_path = NULL;
+  char *interval_path = NULL;
+  char *target_cache_dir = NULL;
+  char *target_cache_path = NULL;
+  char *target_cache_tmppath = NULL;
+  char suffix[PATH_MAX + 1]; /* +1 for zero terminator.  */
   char build_id_bytes[MAX_BUILD_ID_BYTES * 2 + 1];
+  int vfd = c->verbose_fd;
+  int rc;
+
+  if (vfd >= 0)
+    {
+      dprintf (vfd, "debuginfod_find_%s ", type);
+      if (build_id_len == 0) /* expect clean hexadecimal */
+	dprintf (vfd, "%s", (const char *) build_id);
+      else
+	for (int i = 0; i < build_id_len; i++)
+	  dprintf (vfd, "%02x", build_id[i]);
+      if (filename != NULL)
+	dprintf (vfd, " %s\n", filename);
+      dprintf (vfd, "\n");
+    }
+
+  /* Is there any server we can query?  If not, don't do any work,
+     just return with ENOSYS.  Don't even access the cache.  */
+  urls_envvar = getenv(server_urls_envvar);
+  if (vfd >= 0)
+    dprintf (vfd, "server urls \"%s\"\n",
+	     urls_envvar != NULL ? urls_envvar : "");
+  if (urls_envvar == NULL || urls_envvar[0] == '\0')
+    {
+      rc = -ENOSYS;
+      goto out;
+    }
+
+  /* Clear the obsolete URL from a previous _find operation. */
+  free (c->url);
+  c->url = NULL;
+
+  add_default_headers(c);
 
   /* Copy lowercase hex representation of build_id into buf.  */
+  if (vfd >= 0)
+    dprintf (vfd, "checking build-id\n");
   if ((build_id_len >= MAX_BUILD_ID_BYTES) ||
       (build_id_len == 0 &&
-       sizeof(build_id_bytes) > MAX_BUILD_ID_BYTES*2 + 1))
-    return -EINVAL;
+       strlen ((const char *) build_id) > MAX_BUILD_ID_BYTES*2))
+    {
+      rc = -EINVAL;
+      goto out;
+    }
+
   if (build_id_len == 0) /* expect clean hexadecimal */
     strcpy (build_id_bytes, (const char *) build_id);
   else
@@ -315,12 +558,17 @@
 
   if (filename != NULL)
     {
+      if (vfd >= 0)
+	dprintf (vfd, "checking filename\n");
       if (filename[0] != '/') // must start with /
-        return -EINVAL;
+	{
+	  rc = -EINVAL;
+	  goto out;
+	}
 
       /* copy the filename to suffix, s,/,#,g */
       unsigned q = 0;
-      for (unsigned fi=0; q < PATH_MAX-1; fi++)
+      for (unsigned fi=0; q < PATH_MAX-2; fi++) /* -2, escape is 2 chars.  */
         switch (filename[fi])
           {
           case '\0':
@@ -346,34 +594,85 @@
   else
     suffix[0] = '\0';
 
+  if (suffix[0] != '\0' && vfd >= 0)
+    dprintf (vfd, "suffix %s\n", suffix);
+
   /* set paths needed to perform the query
 
      example format
-     cache_path:        $HOME/.debuginfod_cache
-     target_cache_dir:  $HOME/.debuginfod_cache/0123abcd
-     target_cache_path: $HOME/.debuginfod_cache/0123abcd/debuginfo
-     target_cache_path: $HOME/.debuginfod_cache/0123abcd/source#PATH#TO#SOURCE ?
+     cache_path:        $HOME/.cache
+     target_cache_dir:  $HOME/.cache/0123abcd
+     target_cache_path: $HOME/.cache/0123abcd/debuginfo
+     target_cache_path: $HOME/.cache/0123abcd/source#PATH#TO#SOURCE ?
+
+     $XDG_CACHE_HOME takes priority over $HOME/.cache.
+     $DEBUGINFOD_CACHE_PATH takes priority over $HOME/.cache and $XDG_CACHE_HOME.
   */
 
-  if (getenv(cache_path_envvar))
-    strcpy(cache_path, getenv(cache_path_envvar));
+  /* Determine location of the cache. The path specified by the debuginfod
+     cache environment variable takes priority.  */
+  char *cache_var = getenv(cache_path_envvar);
+  if (cache_var != NULL && strlen (cache_var) > 0)
+    xalloc_str (cache_path, "%s", cache_var);
   else
     {
-      if (getenv("HOME"))
-        sprintf(cache_path, "%s/%s", getenv("HOME"), cache_default_name);
-      else
-        sprintf(cache_path, "/%s", cache_default_name);
+      /* If a cache already exists in $HOME ('/' if $HOME isn't set), then use
+         that. Otherwise use the XDG cache directory naming format.  */
+      xalloc_str (cache_path, "%s/%s", getenv ("HOME") ?: "/", cache_default_name);
+
+      struct stat st;
+      if (stat (cache_path, &st) < 0)
+        {
+          char cachedir[PATH_MAX];
+          char *xdg = getenv ("XDG_CACHE_HOME");
+
+          if (xdg != NULL && strlen (xdg) > 0)
+            snprintf (cachedir, PATH_MAX, "%s", xdg);
+          else
+            snprintf (cachedir, PATH_MAX, "%s/.cache", getenv ("HOME") ?: "/");
+
+          /* Create XDG cache directory if it doesn't exist.  */
+          if (stat (cachedir, &st) == 0)
+            {
+              if (! S_ISDIR (st.st_mode))
+                {
+                  rc = -EEXIST;
+                  goto out;
+                }
+            }
+          else
+            {
+              rc = mkdir (cachedir, 0700);
+
+              /* Also check for EEXIST and S_ISDIR in case another client just
+                 happened to create the cache.  */
+              if (rc < 0
+                  && (errno != EEXIST
+                      || stat (cachedir, &st) != 0
+                      || ! S_ISDIR (st.st_mode)))
+                {
+                  rc = -errno;
+                  goto out;
+                }
+            }
+
+          free (cache_path);
+          xalloc_str (cache_path, "%s/%s", cachedir, cache_xdg_name);
+        }
     }
 
-  /* avoid using snprintf here due to compiler warning.  */
-  snprintf(target_cache_dir, sizeof(target_cache_dir), "%s/%s", cache_path, build_id_bytes);
-  snprintf(target_cache_path, sizeof(target_cache_path), "%s/%s%s", target_cache_dir, type, suffix);
-  snprintf(target_cache_tmppath, sizeof(target_cache_tmppath), "%s.XXXXXX", target_cache_path);
+  xalloc_str (target_cache_dir, "%s/%s", cache_path, build_id_bytes);
+  xalloc_str (target_cache_path, "%s/%s%s", target_cache_dir, type, suffix);
+  xalloc_str (target_cache_tmppath, "%s.XXXXXX", target_cache_path);
 
   /* XXX combine these */
-  snprintf(interval_path, sizeof(interval_path), "%s/%s", cache_path, cache_clean_interval_filename);
-  snprintf(maxage_path, sizeof(maxage_path), "%s/%s", cache_path, cache_max_unused_age_filename);
-  int rc = debuginfod_init_cache(cache_path, interval_path, maxage_path);
+  xalloc_str (interval_path, "%s/%s", cache_path, cache_clean_interval_filename);
+  xalloc_str (maxage_path, "%s/%s", cache_path, cache_max_unused_age_filename);
+
+  if (vfd >= 0)
+    dprintf (vfd, "checking cache dir %s\n", cache_path);
+
+  rc = debuginfod_init_cache(cache_path, interval_path, maxage_path);
   if (rc != 0)
     goto out;
   rc = debuginfod_clean_cache(c, cache_path, interval_path, maxage_path);
@@ -387,19 +686,17 @@
       /* Success!!!! */
       if (path != NULL)
         *path = strdup(target_cache_path);
-      return fd;
-    }
-
-
-  urls_envvar = getenv(server_urls_envvar);
-  if (urls_envvar == NULL || urls_envvar[0] == '\0')
-    {
-      rc = -ENOSYS;
+      rc = fd;
       goto out;
     }
 
-  if (getenv(server_timeout_envvar))
-    server_timeout = atoi (getenv(server_timeout_envvar));
+  long timeout = default_timeout;
+  const char* timeout_envvar = getenv(server_timeout_envvar);
+  if (timeout_envvar != NULL)
+    timeout = atoi (timeout_envvar);
+
+  if (vfd >= 0)
+    dprintf (vfd, "using timeout %ld\n", timeout);
 
   /* make a copy of the envvar so it can be safely modified.  */
   server_urls = strdup(urls_envvar);
@@ -435,35 +732,46 @@
         && (i == 0 || server_urls[i - 1] == url_delim_char))
       num_urls++;
 
-  /* Tracks which handle should write to fd. Set to the first
-     handle that is ready to write the target file to the cache.  */
-  CURL *target_handle = NULL;
-  struct handle_data *data = malloc(sizeof(struct handle_data) * num_urls);
-
-  /* Initalize handle_data with default values. */
-  for (int i = 0; i < num_urls; i++)
-    {
-      data[i].handle = NULL;
-      data[i].fd = -1;
-    }
-
   CURLM *curlm = curl_multi_init();
   if (curlm == NULL)
     {
       rc = -ENETUNREACH;
       goto out0;
     }
+
+  /* Tracks which handle should write to fd. Set to the first
+     handle that is ready to write the target file to the cache.  */
+  CURL *target_handle = NULL;
+  struct handle_data *data = malloc(sizeof(struct handle_data) * num_urls);
+  if (data == NULL)
+    {
+      rc = -ENOMEM;
+      goto out0;
+    }
+
   /* thereafter, goto out1 on error.  */
 
+  /* Initialize handle_data with default values. */
+  for (int i = 0; i < num_urls; i++)
+    {
+      data[i].handle = NULL;
+      data[i].fd = -1;
+      data[i].errbuf[0] = '\0';
+    }
+
   char *strtok_saveptr;
   char *server_url = strtok_r(server_urls, url_delim, &strtok_saveptr);
 
   /* Initialize each handle.  */
   for (int i = 0; i < num_urls && server_url != NULL; i++)
     {
+      if (vfd >= 0)
+	dprintf (vfd, "init server %d %s\n", i, server_url);
+
       data[i].fd = fd;
       data[i].target_handle = &target_handle;
       data[i].handle = curl_easy_init();
+      data[i].client = c;
 
       if (data[i].handle == NULL)
         {
@@ -486,38 +794,95 @@
         snprintf(data[i].url, PATH_MAX, "%s%s/%s/%s", server_url,
                  slashbuildid, build_id_bytes, type);
 
+      if (vfd >= 0)
+	dprintf (vfd, "url %d %s\n", i, data[i].url);
+
       curl_easy_setopt(data[i].handle, CURLOPT_URL, data[i].url);
+      if (vfd >= 0)
+	curl_easy_setopt(data[i].handle, CURLOPT_ERRORBUFFER, data[i].errbuf);
       curl_easy_setopt(data[i].handle,
                        CURLOPT_WRITEFUNCTION,
                        debuginfod_write_callback);
       curl_easy_setopt(data[i].handle, CURLOPT_WRITEDATA, (void*)&data[i]);
-      curl_easy_setopt(data[i].handle, CURLOPT_TIMEOUT, (long) server_timeout);
+      if (timeout > 0)
+	{
+	  /* Make sure there is at least some progress,
+	     try to get at least 100K per timeout seconds.  */
+	  curl_easy_setopt (data[i].handle, CURLOPT_LOW_SPEED_TIME,
+			    timeout);
+	  curl_easy_setopt (data[i].handle, CURLOPT_LOW_SPEED_LIMIT,
+			    100 * 1024L);
+	}
       curl_easy_setopt(data[i].handle, CURLOPT_FILETIME, (long) 1);
       curl_easy_setopt(data[i].handle, CURLOPT_FOLLOWLOCATION, (long) 1);
       curl_easy_setopt(data[i].handle, CURLOPT_FAILONERROR, (long) 1);
       curl_easy_setopt(data[i].handle, CURLOPT_NOSIGNAL, (long) 1);
+#if LIBCURL_VERSION_NUM >= 0x072a00 /* 7.42.0 */
+      curl_easy_setopt(data[i].handle, CURLOPT_PATH_AS_IS, (long) 1);
+#else
+      /* On old curl; no big deal, canonicalization here is almost the
+         same, except perhaps for ? # type decorations at the tail. */
+#endif
       curl_easy_setopt(data[i].handle, CURLOPT_AUTOREFERER, (long) 1);
       curl_easy_setopt(data[i].handle, CURLOPT_ACCEPT_ENCODING, "");
-      curl_easy_setopt(data[i].handle, CURLOPT_USERAGENT, (void*) PACKAGE_STRING);
+      curl_easy_setopt(data[i].handle, CURLOPT_HTTPHEADER, c->headers);
 
       curl_multi_add_handle(curlm, data[i].handle);
       server_url = strtok_r(NULL, url_delim, &strtok_saveptr);
     }
 
   /* Query servers in parallel.  */
+  if (vfd >= 0)
+    dprintf (vfd, "query %d urls in parallel\n", num_urls);
   int still_running;
   long loops = 0;
+  int committed_to = -1;
+  bool verbose_reported = false;
   do
     {
-      CURLMcode curl_res;
+      /* Wait 1 second, the minimum DEBUGINFOD_TIMEOUT.  */
+      curl_multi_wait(curlm, NULL, 0, 1000, NULL);
+
+      /* If the target file has been found, abort the other queries.  */
+      if (target_handle != NULL)
+	{
+	  for (int i = 0; i < num_urls; i++)
+	    if (data[i].handle != target_handle)
+	      curl_multi_remove_handle(curlm, data[i].handle);
+	    else
+	      committed_to = i;
+	}
+
+      if (vfd >= 0 && !verbose_reported && committed_to >= 0)
+	{
+	  bool pnl = (c->default_progressfn_printed_p && vfd == STDERR_FILENO);
+	  dprintf (vfd, "%scommitted to url %d\n", pnl ? "\n" : "",
+		   committed_to);
+	  if (pnl)
+	    c->default_progressfn_printed_p = 0;
+	  verbose_reported = true;
+	}
+
+      CURLMcode curlm_res = curl_multi_perform(curlm, &still_running);
+      if (curlm_res != CURLM_OK)
+        {
+          switch (curlm_res)
+            {
+            case CURLM_CALL_MULTI_PERFORM: continue;
+            case CURLM_OUT_OF_MEMORY: rc = -ENOMEM; break;
+            default: rc = -ENETUNREACH; break;
+            }
+          goto out1;
+        }
 
       if (c->progressfn) /* inform/check progress callback */
         {
           loops ++;
           long pa = loops; /* default params for progress callback */
-          long pb = 0;
+          long pb = 0; /* transfer_timeout tempting, but loops != elapsed-time */
           if (target_handle) /* we've committed to a server; report its download progress */
             {
+              CURLcode curl_res;
 #ifdef CURLINFO_SIZE_DOWNLOAD_T
               curl_off_t dl;
               curl_res = curl_easy_getinfo(target_handle,
@@ -534,6 +899,8 @@
                 pa = (dl > LONG_MAX ? LONG_MAX : (long)dl);
 #endif
 
+              /* NB: If going through deflate-compressing proxies, this
+                 number is likely to be unavailable, so -1 may show. */
 #ifdef CURLINFO_CURLINFO_CONTENT_LENGTH_DOWNLOAD_T
               curl_off_t cl;
               curl_res = curl_easy_getinfo(target_handle,
@@ -554,27 +921,6 @@
           if ((*c->progressfn) (c, pa, pb))
             break;
         }
-
-      /* Wait 1 second, the minimum DEBUGINFOD_TIMEOUT.  */
-      curl_multi_wait(curlm, NULL, 0, 1000, NULL);
-
-      /* If the target file has been found, abort the other queries.  */
-      if (target_handle != NULL)
-        for (int i = 0; i < num_urls; i++)
-          if (data[i].handle != target_handle)
-            curl_multi_remove_handle(curlm, data[i].handle);
-
-      curl_res = curl_multi_perform(curlm, &still_running);
-      if (curl_res != CURLM_OK)
-        {
-          switch (curl_res)
-            {
-            case CURLM_CALL_MULTI_PERFORM: continue;
-            case CURLM_OUT_OF_MEMORY: rc = -ENOMEM; break;
-            default: rc = -ENETUNREACH; break;
-            }
-          goto out1;
-        }
     } while (still_running);
 
   /* Check whether a query was successful. If so, assign its handle
@@ -589,14 +935,32 @@
       msg = curl_multi_info_read(curlm, &num_msg);
       if (msg != NULL && msg->msg == CURLMSG_DONE)
         {
+	  if (vfd >= 0)
+	    {
+	      bool pnl = (c->default_progressfn_printed_p
+			  && vfd == STDERR_FILENO);
+	      dprintf (vfd, "%sserver response %s\n", pnl ? "\n" : "",
+		       curl_easy_strerror (msg->data.result));
+	      if (pnl)
+		c->default_progressfn_printed_p = 0;
+	      for (int i = 0; i < num_urls; i++)
+		if (msg->easy_handle == data[i].handle)
+		  {
+		    if (strlen (data[i].errbuf) > 0)
+		      dprintf (vfd, "url %d %s\n", i, data[i].errbuf);
+		    break;
+		  }
+	    }
+
           if (msg->data.result != CURLE_OK)
             {
-              /* Unsucessful query, determine error code.  */
+              /* Unsuccessful query, determine error code.  */
               switch (msg->data.result)
                 {
                 case CURLE_COULDNT_RESOLVE_HOST: rc = -EHOSTUNREACH; break; // no NXDOMAIN
                 case CURLE_URL_MALFORMAT: rc = -EINVAL; break;
                 case CURLE_COULDNT_CONNECT: rc = -ECONNREFUSED; break;
+                case CURLE_PEER_FAILED_VERIFICATION: rc = -ECONNREFUSED; break;
                 case CURLE_REMOTE_ACCESS_DENIED: rc = -EACCES; break;
                 case CURLE_WRITE_ERROR: rc = -EIO; break;
                 case CURLE_OUT_OF_MEMORY: rc = -ENOMEM; break;
@@ -610,20 +974,59 @@
           else
             {
               /* Query completed without an error. Confirm that the
-                 response code is 200 and set verified_handle.  */
-              long resp_code = 500;
-              CURLcode curl_res;
+                 response code is 200 when using HTTP/HTTPS and 0 when
+                 using file:// and set verified_handle.  */
 
-              curl_res = curl_easy_getinfo(target_handle,
-                                           CURLINFO_RESPONSE_CODE,
-                                           &resp_code);
-
-              if (curl_res == CURLE_OK
-                  && resp_code == 200
-                  && msg->easy_handle != NULL)
+              if (msg->easy_handle != NULL)
                 {
-                  verified_handle = msg->easy_handle;
-                  break;
+                  char *effective_url = NULL;
+                  long resp_code = 500;
+                  CURLcode ok1 = curl_easy_getinfo (target_handle,
+						    CURLINFO_EFFECTIVE_URL,
+						    &effective_url);
+                  CURLcode ok2 = curl_easy_getinfo (target_handle,
+						    CURLINFO_RESPONSE_CODE,
+						    &resp_code);
+                  if(ok1 == CURLE_OK && ok2 == CURLE_OK && effective_url)
+                    {
+                      if (strncasecmp (effective_url, "HTTP", 4) == 0)
+                        if (resp_code == 200)
+                          {
+                            verified_handle = msg->easy_handle;
+                            break;
+                          }
+                      if (strncasecmp (effective_url, "FILE", 4) == 0)
+                        if (resp_code == 0)
+                          {
+                            verified_handle = msg->easy_handle;
+                            break;
+                          }
+                    }
+                  /* - libcurl since 7.52.0 version start to support
+                       CURLINFO_SCHEME;
+                     - before 7.61.0, effective_url would give us a
+                       url with upper case SCHEME added in the front;
+                     - effective_url between 7.61 and 7.69 can be lack
+                       of scheme if the original url doesn't include one;
+                     - since version 7.69 effective_url will be provide
+                       a scheme in lower case.  */
+                  #if LIBCURL_VERSION_NUM >= 0x073d00 /* 7.61.0 */
+                  #if LIBCURL_VERSION_NUM <= 0x074500 /* 7.69.0 */
+                  char *scheme = NULL;
+                  CURLcode ok3 = curl_easy_getinfo (target_handle,
+                                                    CURLINFO_SCHEME,
+                                                    &scheme);
+                  if(ok3 == CURLE_OK && scheme)
+                    {
+                      if (strncmp (scheme, "HTTP", 4) == 0)
+                        if (resp_code == 200)
+                          {
+                            verified_handle = msg->easy_handle;
+                            break;
+                          }
+                    }
+                  #endif
+                  #endif
                 }
             }
         }
@@ -632,6 +1035,14 @@
   if (verified_handle == NULL)
     goto out1;
 
+  if (vfd >= 0)
+    {
+      bool pnl = c->default_progressfn_printed_p && vfd == STDERR_FILENO;
+      dprintf (vfd, "%sgot file from server\n", pnl ? "\n" : "");
+      if (pnl)
+	c->default_progressfn_printed_p = 0;
+    }
+
   /* we've got one!!!! */
   time_t mtime;
   CURLcode curl_res = curl_easy_getinfo(verified_handle, CURLINFO_FILETIME, (void*) &mtime);
@@ -659,12 +1070,14 @@
   curl_multi_cleanup (curlm);
   free (data);
   free (server_urls);
+
   /* don't close fd - we're returning it */
   /* don't unlink the tmppath; it's already been renamed. */
   if (path != NULL)
    *path = strdup(target_cache_path);
 
-  return fd;
+  rc = fd;
+  goto out;
 
 /* error exits */
  out1:
@@ -673,32 +1086,87 @@
 
   curl_multi_cleanup(curlm);
   unlink (target_cache_tmppath);
+  close (fd); /* before the rmdir, otherwise it'll fail */
   (void) rmdir (target_cache_dir); /* nop if not empty */
   free(data);
-  close (fd);
 
  out0:
   free (server_urls);
 
+/* general purpose exit */
  out:
+  /* Conclude the last \r status line */
+  /* Another possibility is to use the ANSI CSI n K EL "Erase in Line"
+     code.  That way, the previously printed messages would be erased,
+     and without a newline. */
+  if (c->default_progressfn_printed_p)
+    dprintf(STDERR_FILENO, "\n");
+
+  if (vfd >= 0)
+    {
+      if (rc < 0)
+	dprintf (vfd, "not found %s (err=%d)\n", strerror (-rc), rc);
+      else
+	dprintf (vfd, "found %s (fd=%d)\n", target_cache_path, rc);
+    }
+
+  free (cache_path);
+  free (maxage_path);
+  free (interval_path);
+  free (target_cache_dir);
+  free (target_cache_path);
+  free (target_cache_tmppath);
   return rc;
 }
 
+
+
 /* See debuginfod.h  */
 debuginfod_client  *
 debuginfod_begin (void)
 {
   debuginfod_client *client;
   size_t size = sizeof (struct debuginfod_client);
-  client = (debuginfod_client *) malloc (size);
+  client = (debuginfod_client *) calloc (1, size);
   if (client != NULL)
-    client->progressfn = NULL;
+    {
+      if (getenv(DEBUGINFOD_PROGRESS_ENV_VAR))
+	client->progressfn = default_progressfn;
+      if (getenv(DEBUGINFOD_VERBOSE_ENV_VAR))
+	client->verbose_fd = STDERR_FILENO;
+      else
+	client->verbose_fd = -1;
+    }
   return client;
 }
 
 void
+debuginfod_set_user_data(debuginfod_client *client,
+                         void *data)
+{
+  client->user_data = data;
+}
+
+void *
+debuginfod_get_user_data(debuginfod_client *client)
+{
+  return client->user_data;
+}
+
+const char *
+debuginfod_get_url(debuginfod_client *client)
+{
+  return client->url;
+}
+
+void
 debuginfod_end (debuginfod_client *client)
 {
+  if (client == NULL)
+    return;
+
+  curl_slist_free_all (client->headers);
+  free (client->url);
   free (client);
 }
 
@@ -732,6 +1200,33 @@
 }
 
 
+/* Add an outgoing HTTP header.  */
+int debuginfod_add_http_header (debuginfod_client *client, const char* header)
+{
+  /* Sanity check header value is of the form Header: Value.
+     It should contain exactly one colon that isn't the first or
+     last character.  */
+  char *colon = strchr (header, ':');
+  if (colon == NULL
+      || colon == header
+      || *(colon + 1) == '\0'
+      || strchr (colon + 1, ':') != NULL)
+    return -EINVAL;
+
+  struct curl_slist *temp = curl_slist_append (client->headers, header);
+  if (temp == NULL)
+    return -ENOMEM;
+
+  /* Track if User-Agent: is being set.  If so, signal not to add the
+     default one. */
+  if (strncmp (header, "User-Agent:", 11) == 0)
+    client->user_agent_set_p = 1;
+
+  client->headers = temp;
+  return 0;
+}
+
+
 void
 debuginfod_set_progressfn(debuginfod_client *client,
 			  debuginfod_progressfn_t fn)
@@ -739,6 +1234,12 @@
   client->progressfn = fn;
 }
 
+void
+debuginfod_set_verbose_fd(debuginfod_client *client, int fd)
+{
+  client->verbose_fd = fd;
+}
+
 
 /* NB: these are thread-unsafe. */
 __attribute__((constructor)) attribute_hidden void libdebuginfod_ctor(void)
@@ -752,3 +1253,5 @@
   /* ... so don't do this: */
   /* curl_global_cleanup(); */
 }
+
+#endif /* DUMMY_LIBDEBUGINFOD */
diff --git a/debuginfod/debuginfod-find.c b/debuginfod/debuginfod-find.c
index 8bd3a3d..3e8ab20 100644
--- a/debuginfod/debuginfod-find.c
+++ b/debuginfod/debuginfod-find.c
@@ -1,6 +1,6 @@
 /* Command-line frontend for retrieving ELF / DWARF / source files
    from the debuginfod.
-   Copyright (C) 2019 Red Hat, Inc.
+   Copyright (C) 2019-2020 Red Hat, Inc.
    This file is part of elfutils.
 
    This file is free software; you can redistribute it and/or modify
@@ -13,9 +13,9 @@
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    General Public License for more details.
 
-   You should have received copies of the GNU General Public License and
-   the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>.  */
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
 
 #include "config.h"
 #include "printversion.h"
@@ -24,7 +24,12 @@
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
+#include <time.h>
 #include <argp.h>
+#include <unistd.h>
+#include <fcntl.h>
+#include <gelf.h>
+#include <libdwelf.h>
 
 
 /* Name and version of program.  */
@@ -39,8 +44,12 @@
 
 /* Strings for arguments in help texts.  */
 static const char args_doc[] = N_("debuginfo BUILDID\n"
+                                  "debuginfo PATH\n"
                                   "executable BUILDID\n"
-                                  "source BUILDID /FILENAME");
+                                  "executable PATH\n"
+                                  "source BUILDID /FILENAME\n"
+                                  "source PATH /FILENAME\n");
+
 
 /* Definitions of arguments for argp functions.  */
 static const struct argp_option options[] =
@@ -51,11 +60,33 @@
 
 /* debuginfod connection handle.  */
 static debuginfod_client *client;
+static int verbose;
 
 int progressfn(debuginfod_client *c __attribute__((__unused__)),
 	       long a, long b)
 {
-  fprintf (stderr, "Progress %ld / %ld\n", a, b);
+  static bool first = true;
+  static struct timespec last;
+  struct timespec now;
+  uint64_t delta;
+  if (!first)
+    {
+      clock_gettime (CLOCK_MONOTONIC, &now);
+      delta = ((now.tv_sec - last.tv_sec) * 1000000
+	       + (now.tv_nsec - last.tv_nsec) / 1000);
+    }
+  else
+    {
+      first = false;
+      delta = 250000;
+    }
+
+  /* Show progress the first time and then at most 5 times a second. */
+  if (delta > 200000)
+    {
+      fprintf (stderr, "Progress %ld / %ld\n", a, b);
+      clock_gettime (CLOCK_MONOTONIC, &last);
+    }
   return 0;
 }
 
@@ -66,7 +97,10 @@
   (void) state;
   switch (key)
     {
-    case 'v': debuginfod_set_progressfn (client, & progressfn); break;
+    case 'v': verbose++;
+      debuginfod_set_progressfn (client, & progressfn);
+      debuginfod_set_verbose_fd (client, STDERR_FILENO);
+      break;
     default: return ARGP_ERR_UNKNOWN;
     }
   return 0;
@@ -84,6 +118,8 @@
 int
 main(int argc, char** argv)
 {
+  elf_version (EV_CURRENT);
+
   client = debuginfod_begin ();
   if (client == NULL)
     {
@@ -91,6 +127,9 @@
       return 1;
     }
 
+  /* Exercise user data pointer, to support testing only. */
+  debuginfod_set_user_data (client, (void *)"Progress");
+
   int remaining;
   (void) argp_parse (&argp, argc, argv, ARGP_IN_ORDER|ARGP_NO_ARGS, &remaining, NULL);
 
@@ -100,29 +139,73 @@
       return 1;
     }
 
-  int rc;
+  /* If we were passed an ELF file name in the BUILDID slot, look in there. */
+  unsigned char* build_id = (unsigned char*) argv[remaining+1];
+  int build_id_len = 0; /* assume text */
+
+  int any_non_hex = 0;
+  int i;
+  for (i = 0; build_id[i] != '\0'; i++)
+    if ((build_id[i] >= '0' && build_id[i] <= '9') ||
+        (build_id[i] >= 'a' && build_id[i] <= 'f'))
+      ;
+    else
+      any_non_hex = 1;
+
+  int fd = -1;
+  Elf* elf = NULL;
+  if (any_non_hex) /* raw build-id */
+    {
+      fd = open ((char*) build_id, O_RDONLY);
+      if (fd < 0)
+        fprintf (stderr, "Cannot open %s: %s\n", build_id, strerror(errno));
+    }
+  if (fd >= 0)
+    {
+      elf = dwelf_elf_begin (fd);
+      if (elf == NULL)
+        fprintf (stderr, "Cannot open as ELF file %s: %s\n", build_id,
+		 elf_errmsg (-1));
+    }
+  if (elf != NULL)
+    {
+      const void *extracted_build_id;
+      ssize_t s = dwelf_elf_gnu_build_id(elf, &extracted_build_id);
+      if (s > 0)
+        {
+          /* Success: replace the build_id pointer/len with the binary blob
+             that elfutils is keeping for us.  It'll remain valid until elf_end(). */
+          build_id = (unsigned char*) extracted_build_id;
+          build_id_len = s;
+        }
+      else
+        fprintf (stderr, "Cannot extract build-id from %s: %s\n", build_id, elf_errmsg(-1));
+    }
+
   char *cache_name;
+  int rc = 0;
 
   /* Check whether FILETYPE is valid and call the appropriate
      debuginfod_find_* function. If FILETYPE is "source"
      then ensure a FILENAME was also supplied as an argument.  */
   if (strcmp(argv[remaining], "debuginfo") == 0)
     rc = debuginfod_find_debuginfo(client,
-				   (unsigned char *)argv[remaining+1], 0,
+				   build_id, build_id_len,
 				   &cache_name);
   else if (strcmp(argv[remaining], "executable") == 0)
     rc = debuginfod_find_executable(client,
-				    (unsigned char *)argv[remaining+1], 0,
+                                    build_id, build_id_len,
 				    &cache_name);
   else if (strcmp(argv[remaining], "source") == 0)
     {
-      if (remaining+2 == argc || argv[3][0] != '/')
+      if (remaining+2 == argc || argv[remaining+2][0] != '/')
         {
           fprintf(stderr, "If FILETYPE is \"source\" then absolute /FILENAME must be given\n");
           return 1;
         }
-      rc = debuginfod_find_source(client, (unsigned char *)argv[remaining+1],
-				  0, argv[remaining+2], &cache_name);
+      rc = debuginfod_find_source(client,
+                                  build_id, build_id_len,
+				  argv[remaining+2], &cache_name);
     }
   else
     {
@@ -130,6 +213,19 @@
       return 1;
     }
 
+  if (verbose)
+    {
+      const char* url = debuginfod_get_url (client);
+      if (url != NULL)
+        fprintf(stderr, "Downloaded from %s\n", url);
+    }
+
+  debuginfod_end (client);
+  if (elf)
+    elf_end(elf);
+  if (fd >= 0)
+    close (fd);
+
   if (rc < 0)
     {
       fprintf(stderr, "Server query failed: %s\n", strerror(-rc));
@@ -137,9 +233,7 @@
     }
 
   printf("%s\n", cache_name);
-
   free (cache_name);
-  debuginfod_end (client);
 
   return 0;
 }
diff --git a/debuginfod/debuginfod.cxx b/debuginfod/debuginfod.cxx
index aa7ffcf..b34eacc 100644
--- a/debuginfod/debuginfod.cxx
+++ b/debuginfod/debuginfod.cxx
@@ -1,5 +1,5 @@
 /* Debuginfo-over-http server.
-   Copyright (C) 2019 Red Hat, Inc.
+   Copyright (C) 2019-2021 Red Hat, Inc.
    This file is part of elfutils.
 
    This file is free software; you can redistribute it and/or modify
@@ -46,12 +46,13 @@
 #include <unistd.h>
 #include <stdlib.h>
 #include <error.h>
-// #include <libintl.h> // not until it supports C++ << better
+#include <libintl.h>
 #include <locale.h>
 #include <pthread.h>
 #include <signal.h>
 #include <sys/stat.h>
 #include <sys/time.h>
+#include <sys/vfs.h>
 #include <unistd.h>
 #include <fcntl.h>
 #include <netdb.h>
@@ -79,6 +80,7 @@
 #include <ostream>
 #include <sstream>
 #include <mutex>
+#include <deque>
 #include <condition_variable>
 #include <thread>
 // #include <regex> // on rhel7 gcc 4.8, not competent
@@ -90,6 +92,14 @@
 #include <libdwelf.h>
 
 #include <microhttpd.h>
+
+#if MHD_VERSION >= 0x00097002
+// libmicrohttpd 0.9.71 broke API
+#define MHD_RESULT enum MHD_Result
+#else
+#define MHD_RESULT int
+#endif
+
 #include <curl/curl.h>
 #include <archive.h>
 #include <archive_entry.h>
@@ -106,7 +116,16 @@
 #endif
 
 
-// Roll this identifier for every sqlite schema incompatiblity.
+inline bool
+string_endswith(const string& haystack, const string& needle)
+{
+  return (haystack.size() >= needle.size() &&
+	  equal(haystack.end()-needle.size(), haystack.end(),
+                needle.begin()));
+}
+
+
+// Roll this identifier for every sqlite schema incompatibility.
 #define BUILDIDS "buildids9"
 
 #if SQLITE_VERSION_NUMBER >= 3008000
@@ -231,9 +250,9 @@
   "create view if not exists " BUILDIDS "_stats as\n"
   "          select 'file d/e' as label,count(*) as quantity from " BUILDIDS "_f_de\n"
   "union all select 'file s',count(*) from " BUILDIDS "_f_s\n"
-  "union all select 'rpm d/e',count(*) from " BUILDIDS "_r_de\n"
-  "union all select 'rpm sref',count(*) from " BUILDIDS "_r_sref\n"
-  "union all select 'rpm sdef',count(*) from " BUILDIDS "_r_sdef\n"
+  "union all select 'archive d/e',count(*) from " BUILDIDS "_r_de\n"
+  "union all select 'archive sref',count(*) from " BUILDIDS "_r_sref\n"
+  "union all select 'archive sdef',count(*) from " BUILDIDS "_r_sdef\n"
   "union all select 'buildids',count(*) from " BUILDIDS "_buildids\n"
   "union all select 'filenames',count(*) from " BUILDIDS "_files\n"
   "union all select 'files scanned (#)',count(*) from " BUILDIDS "_file_mtime_scanned\n"
@@ -322,9 +341,11 @@
 static const struct argp_option options[] =
   {
    { NULL, 0, NULL, 0, "Scanners:", 1 },
-   { "scan-file-dir", 'F', NULL, 0, "Enable ELF/DWARF file scanning threads.", 0 },
-   { "scan-rpm-dir", 'R', NULL, 0, "Enable RPM scanning threads.", 0 },
-   // "source-oci-imageregistry"  ... 
+   { "scan-file-dir", 'F', NULL, 0, "Enable ELF/DWARF file scanning.", 0 },
+   { "scan-rpm-dir", 'R', NULL, 0, "Enable RPM scanning.", 0 },
+   { "scan-deb-dir", 'U', NULL, 0, "Enable DEB scanning.", 0 },
+   { "scan-archive", 'Z', "EXT=CMD", 0, "Enable arbitrary archive scanning.", 0 },
+   // "source-oci-imageregistry"  ...
 
    { NULL, 0, NULL, 0, "Options:", 2 },
    { "logical", 'L', NULL, 0, "Follow symlinks, default=ignore.", 0 },
@@ -338,7 +359,14 @@
    { "database", 'd', "FILE", 0, "Path to sqlite database.", 0 },
    { "ddl", 'D', "SQL", 0, "Apply extra sqlite ddl/pragma to connection.", 0 },
    { "verbose", 'v', NULL, 0, "Increase verbosity.", 0 },
-
+#define ARGP_KEY_FDCACHE_FDS 0x1001
+   { "fdcache-fds", ARGP_KEY_FDCACHE_FDS, "NUM", 0, "Maximum number of archive files to keep in fdcache.", 0 },
+#define ARGP_KEY_FDCACHE_MBS 0x1002
+   { "fdcache-mbs", ARGP_KEY_FDCACHE_MBS, "MB", 0, "Maximum total size of archive file fdcache.", 0 },
+#define ARGP_KEY_FDCACHE_PREFETCH 0x1003
+   { "fdcache-prefetch", ARGP_KEY_FDCACHE_PREFETCH, "NUM", 0, "Number of archive files to prefetch into fdcache.", 0 },
+#define ARGP_KEY_FDCACHE_MINTMP 0x1004
+   { "fdcache-mintmp", ARGP_KEY_FDCACHE_MINTMP, "NUM", 0, "Minimum free space% on tmpdir.", 0 },
    { NULL, 0, NULL, 0, NULL, 0 }
   };
 
@@ -359,34 +387,79 @@
 
 
 static string db_path;
-static sqlite3 *db;
+static sqlite3 *db;  // single connection, serialized across all our threads!
+static sqlite3 *dbq; // webapi query-servicing readonly connection, serialized ditto!
 static unsigned verbose;
 static volatile sig_atomic_t interrupted = 0;
+static volatile sig_atomic_t forced_rescan_count = 0;
 static volatile sig_atomic_t sigusr1 = 0;
+static volatile sig_atomic_t forced_groom_count = 0;
 static volatile sig_atomic_t sigusr2 = 0;
 static unsigned http_port = 8002;
 static unsigned rescan_s = 300;
 static unsigned groom_s = 86400;
-static unsigned maxigroom = false;
+static bool maxigroom = false;
 static unsigned concurrency = std::thread::hardware_concurrency() ?: 1;
 static set<string> source_paths;
 static bool scan_files = false;
-static bool scan_rpms = false;
+static map<string,string> scan_archives;
 static vector<string> extra_ddl;
 static regex_t file_include_regex;
 static regex_t file_exclude_regex;
 static bool traverse_logical;
+static long fdcache_fds;
+static long fdcache_mbs;
+static long fdcache_prefetch;
+static long fdcache_mintmp;
+static string tmpdir;
 
-static void set_metric(const string& key, int64_t value);
+static void set_metric(const string& key, double value);
 // static void inc_metric(const string& key);
 static void set_metric(const string& metric,
                        const string& lname, const string& lvalue,
-                       int64_t value);
+                       double value);
 static void inc_metric(const string& metric,
                        const string& lname, const string& lvalue);
 static void add_metric(const string& metric,
                        const string& lname, const string& lvalue,
-                       int64_t value);
+                       double value);
+// static void add_metric(const string& metric, double value);
+
+class tmp_inc_metric { // a RAII style wrapper for exception-safe scoped increment & decrement
+  string m, n, v;
+public:
+  tmp_inc_metric(const string& mname, const string& lname, const string& lvalue):
+    m(mname), n(lname), v(lvalue)
+  {
+    add_metric (m, n, v, 1);
+  }
+  ~tmp_inc_metric()
+  {
+    add_metric (m, n, v, -1);
+  }
+};
+
+class tmp_ms_metric { // a RAII style wrapper for exception-safe scoped timing
+  string m, n, v;
+  struct timespec ts_start;
+public:
+  tmp_ms_metric(const string& mname, const string& lname, const string& lvalue):
+    m(mname), n(lname), v(lvalue)
+  {
+    clock_gettime (CLOCK_MONOTONIC, & ts_start);
+  }
+  ~tmp_ms_metric()
+  {
+    struct timespec ts_end;
+    clock_gettime (CLOCK_MONOTONIC, & ts_end);
+    double deltas = (ts_end.tv_sec - ts_start.tv_sec)
+      + (ts_end.tv_nsec - ts_start.tv_nsec)/1.e9;
+
+    add_metric (m + "_milliseconds_sum", n, v, (deltas*1000.0));
+    inc_metric (m + "_milliseconds_count", n, v);
+  }
+};
+
 
 /* Handle program arguments.  */
 static error_t
@@ -399,10 +472,37 @@
     case 'v': verbose ++; break;
     case 'd': db_path = string(arg); break;
     case 'p': http_port = (unsigned) atoi(arg);
-      if (http_port > 65535) argp_failure(state, 1, EINVAL, "port number");
+      if (http_port == 0 || http_port > 65535)
+        argp_failure(state, 1, EINVAL, "port number");
       break;
     case 'F': scan_files = true; break;
-    case 'R': scan_rpms = true; break;
+    case 'R':
+      scan_archives[".rpm"]="cat"; // libarchive groks rpm natively
+      break;
+    case 'U':
+      if (access("/usr/bin/dpkg-deb", X_OK) == 0)
+        {
+          scan_archives[".deb"]="dpkg-deb --fsys-tarfile";
+          scan_archives[".ddeb"]="dpkg-deb --fsys-tarfile";
+        }
+      else
+        {
+          scan_archives[".deb"]="(bsdtar -O -x -f - data.tar.xz)<";
+          scan_archives[".ddeb"]="(bsdtar -O -x -f - data.tar.xz)<";
+        }
+      // .udeb too?
+      break;
+    case 'Z':
+      {
+        char* extension = strchr(arg, '=');
+        if (arg[0] == '\0')
+          argp_failure(state, 1, EINVAL, "missing EXT");
+        else if (extension)
+          scan_archives[string(arg, (extension-arg))]=string(extension+1);
+        else
+          scan_archives[string(arg)]=string("cat");
+      }
+      break;
     case 'L':
       traverse_logical = true;
       break;
@@ -425,13 +525,25 @@
       regfree (&file_include_regex);
       rc = regcomp (&file_include_regex, arg, REG_EXTENDED|REG_NOSUB);
       if (rc != 0)
-        argp_failure(state, 1, EINVAL, "regular expession");
+        argp_failure(state, 1, EINVAL, "regular expression");
       break;
     case 'X':
       regfree (&file_exclude_regex);
       rc = regcomp (&file_exclude_regex, arg, REG_EXTENDED|REG_NOSUB);
       if (rc != 0)
-        argp_failure(state, 1, EINVAL, "regular expession");
+        argp_failure(state, 1, EINVAL, "regular expression");
+      break;
+    case ARGP_KEY_FDCACHE_FDS:
+      fdcache_fds = atol (arg);
+      break;
+    case ARGP_KEY_FDCACHE_MBS:
+      fdcache_mbs = atol (arg);
+      break;
+    case ARGP_KEY_FDCACHE_PREFETCH:
+      fdcache_prefetch = atol (arg);
+      break;
+    case ARGP_KEY_FDCACHE_MINTMP:
+      fdcache_mintmp = atol (arg);
       break;
     case ARGP_KEY_ARG:
       source_paths.insert(string(arg));
@@ -460,12 +572,12 @@
 
   void report(ostream& o) const; // defined under obatched() class below
 
-  int mhd_send_response(MHD_Connection* c) const {
+  MHD_RESULT mhd_send_response(MHD_Connection* c) const {
     MHD_Response* r = MHD_create_response_from_buffer (message.size(),
                                                        (void*) message.c_str(),
                                                        MHD_RESPMEM_MUST_COPY);
     MHD_add_response_header (r, "Content-Type", "text/plain");
-    int rc = MHD_queue_response (c, code, r);
+    MHD_RESULT rc = MHD_queue_response (c, code, r);
     MHD_destroy_response (r);
     return rc;
   }
@@ -475,67 +587,130 @@
 struct sqlite_exception: public reportable_exception
 {
   sqlite_exception(int rc, const string& msg):
-    reportable_exception(string("sqlite3 error: ") + msg + ": " + string(sqlite3_errstr(rc) ?: "?")) {}
+    reportable_exception(string("sqlite3 error: ") + msg + ": " + string(sqlite3_errstr(rc) ?: "?")) {
+    inc_metric("error_count","sqlite3",sqlite3_errstr(rc));
+  }
 };
 
 struct libc_exception: public reportable_exception
 {
   libc_exception(int rc, const string& msg):
-    reportable_exception(string("libc error: ") + msg + ": " + string(strerror(rc) ?: "?")) {}
+    reportable_exception(string("libc error: ") + msg + ": " + string(strerror(rc) ?: "?")) {
+    inc_metric("error_count","libc",strerror(rc));
+  }
 };
 
 
 struct archive_exception: public reportable_exception
 {
   archive_exception(const string& msg):
-    reportable_exception(string("libarchive error: ") + msg) {}
+    reportable_exception(string("libarchive error: ") + msg) {
+      inc_metric("error_count","libarchive",msg);
+  }
   archive_exception(struct archive* a, const string& msg):
-    reportable_exception(string("libarchive error: ") + msg + ": " + string(archive_error_string(a) ?: "?")) {}
+    reportable_exception(string("libarchive error: ") + msg + ": " + string(archive_error_string(a) ?: "?")) {
+    inc_metric("error_count","libarchive",msg + ": " + string(archive_error_string(a) ?: "?"));
+  }
 };
 
 
 struct elfutils_exception: public reportable_exception
 {
   elfutils_exception(int rc, const string& msg):
-    reportable_exception(string("elfutils error: ") + msg + ": " + string(elf_errmsg(rc) ?: "?")) {}
+    reportable_exception(string("elfutils error: ") + msg + ": " + string(elf_errmsg(rc) ?: "?")) {
+    inc_metric("error_count","elfutils",elf_errmsg(rc));
+  }
 };
 
 
 ////////////////////////////////////////////////////////////////////////
 
-// a c++ counting-semaphore class ... since we're c++11 not c++20
-
-class semaphore
+template <typename Payload>
+class workq
 {
-public:
-  semaphore (unsigned c=1): count(c) {}
-  inline void notify () {
-    unique_lock<mutex> lock(mtx);
-    count++;
-    cv.notify_one();
-  }
-  inline void wait() {
-    unique_lock<mutex> lock(mtx);
-    while (count == 0)
-      cv.wait(lock);
-    count--;
-  }
-private:
+  set<Payload> q; // eliminate duplicates
   mutex mtx;
   condition_variable cv;
-  unsigned count;
-};
+  bool dead;
+  unsigned idlers;
 
-
-class semaphore_borrower
-{
 public:
-  semaphore_borrower(semaphore* s): sem(s) { sem->wait(); }
-  ~semaphore_borrower() { sem->notify(); }
-private:
-  semaphore* sem;
+  workq() { dead = false; idlers = 0; }
+  ~workq() {}
+
+  void push_back(const Payload& p)
+  {
+    unique_lock<mutex> lock(mtx);
+    q.insert (p);
+    set_metric("thread_work_pending","role","scan", q.size());
+    cv.notify_all();
+  }
+
+  // kill this workqueue, wake up all idlers / scanners
+  void nuke() {
+    unique_lock<mutex> lock(mtx);
+    // optional: q.clear();
+    dead = true;
+    cv.notify_all();
+  }
+
+  // clear the workqueue, when scanning is interrupted with USR2
+  void clear() {
+    unique_lock<mutex> lock(mtx);
+    q.clear();
+    set_metric("thread_work_pending","role","scan", q.size());
+    cv.notify_all(); // maybe wake up waiting idlers
+  }
+
+  // block this scanner thread until there is work to do and no active
+  bool wait_front (Payload& p)
+  {
+    unique_lock<mutex> lock(mtx);
+    while (!dead && (q.size() == 0 || idlers > 0))
+      cv.wait(lock);
+    if (dead)
+      return false;
+    else
+      {
+        p = * q.begin();
+        q.erase (q.begin());
+        set_metric("thread_work_pending","role","scan", q.size());
+        if (q.size() == 0)
+          cv.notify_all(); // maybe wake up waiting idlers
+        return true;
+      }
+  }
+
+  // block this idler thread until there is no work to do
+  void wait_idle ()
+  {
+    unique_lock<mutex> lock(mtx);
+    cv.notify_all(); // maybe wake up waiting scanners
+    while (!dead && (q.size() != 0))
+      cv.wait(lock);
+    idlers ++;
+  }
+
+  void done_idle ()
+  {
+    unique_lock<mutex> lock(mtx);
+    idlers --;
+    cv.notify_all(); // maybe wake up waiting scanners, but probably not (shutting down)
+  }
 };
 
+typedef struct stat stat_t;
+typedef pair<string,stat_t> scan_payload;
+inline bool operator< (const scan_payload& a, const scan_payload& b)
+{
+  return a.first < b.first; // don't bother compare the stat fields
+}
+static workq<scan_payload> scanq; // just a single one
+// producer & idler: thread_main_fts_source_paths()
+// consumer: thread_main_scanner()
+// idler: thread_main_groom()
+
+
 
 ////////////////////////////////////////////////////////////////////////
 
@@ -610,6 +785,7 @@
 
 public:
   sqlite_ps (sqlite3* d, const string& n, const string& s): db(d), nickname(n), sql(s) {
+    // tmp_ms_metric tick("sqlite3","prep",nickname);
     if (verbose > 4)
       obatched(clog) << nickname << " prep " << sql << endl;
     int rc = sqlite3_prepare_v2 (db, sql.c_str(), -1 /* to \0 */, & this->pp, NULL);
@@ -619,6 +795,7 @@
 
   sqlite_ps& reset()
   {
+    tmp_ms_metric tick("sqlite3","reset",nickname);
     sqlite3_reset(this->pp);
     return *this;
   }
@@ -655,6 +832,7 @@
 
 
   void step_ok_done() {
+    tmp_ms_metric tick("sqlite3","step_done",nickname);
     int rc = sqlite3_step (this->pp);
     if (verbose > 4)
       obatched(clog) << nickname << " step-ok-done(" << sqlite3_errstr(rc) << ") " << sql << endl;
@@ -665,14 +843,13 @@
 
 
   int step() {
+    tmp_ms_metric tick("sqlite3","step",nickname);
     int rc = sqlite3_step (this->pp);
     if (verbose > 4)
       obatched(clog) << nickname << " step(" << sqlite3_errstr(rc) << ") " << sql << endl;
     return rc;
   }
 
-
-
   ~sqlite_ps () { sqlite3_finalize (this->pp); }
   operator sqlite3_stmt* () { return this->pp; }
 };
@@ -706,7 +883,17 @@
 ////////////////////////////////////////////////////////////////////////
 
 
-
+static string
+header_censor(const string& str)
+{
+  string y;
+  for (auto&& x : str)
+    {
+      if (isalnum(x) || x == '/' || x == '.' || x == ',' || x == '_' || x == ':')
+        y += x;
+    }
+  return y;
+}
 
 
 static string
@@ -735,13 +922,21 @@
     hostname[0] = servname[0] = '\0';
   }
 
-  return string(hostname) + string(":") + string(servname);
+  // extract headers relevant to administration
+  const char* user_agent = MHD_lookup_connection_value (conn, MHD_HEADER_KIND, "User-Agent") ?: "";
+  const char* x_forwarded_for = MHD_lookup_connection_value (conn, MHD_HEADER_KIND, "X-Forwarded-For") ?: "";
+  // NB: these are untrustworthy, beware if machine-processing log files
+
+  return string(hostname) + string(":") + string(servname) +
+    string(" UA:") + header_censor(string(user_agent)) +
+    string(" XFF:") + header_censor(string(x_forwarded_for));
 }
 
 
 
 ////////////////////////////////////////////////////////////////////////
 
+
 static void
 add_mhd_last_modified (struct MHD_Response *resp, time_t mtime)
 {
@@ -760,18 +955,15 @@
 
 
 static struct MHD_Response*
-handle_buildid_f_match (int64_t b_mtime,
+handle_buildid_f_match (bool internal_req_t,
+                        int64_t b_mtime,
                         const string& b_source0,
                         int *result_fd)
 {
+  (void) internal_req_t; // ignored
   int fd = open(b_source0.c_str(), O_RDONLY);
   if (fd < 0)
-    {
-      if (verbose)
-        obatched(clog) << "cannot open " << b_source0 << endl;
-      // if still missing, a periodic groom pass will delete this buildid record
-      return 0;
-    }
+    throw libc_exception (errno, string("open ") + b_source0);
 
   // NB: use manual close(2) in error case instead of defer_dtor, because
   // in the normal case, we want to hand the fd over to libmicrohttpd for
@@ -781,10 +973,8 @@
   int rc = fstat(fd, &s);
   if (rc < 0)
     {
-      if (verbose)
-        clog << "cannot fstat " << b_source0 << endl;
       close(fd);
-      return 0;
+      throw libc_exception (errno, string("fstat ") + b_source0);
     }
 
   if ((int64_t) s.st_mtime != b_mtime)
@@ -833,8 +1023,329 @@
 }
 
 
+// PR25548: Perform POSIX / RFC3986 style path canonicalization on the input string.
+//
+// Namely:
+//    //         ->   /
+//    /foo/../   ->   /
+//    /./        ->   /
+//
+// This mapping is done on dwarf-side source path names, which may
+// include these constructs, so we can deal with debuginfod clients
+// that accidentally canonicalize the paths.
+//
+// realpath(3) is close but not quite right, because it also resolves
+// symbolic links.  Symlinks at the debuginfod server have nothing to
+// do with the build-time symlinks, thus they must not be considered.
+//
+// see also curl Curl_dedotdotify() aka RFC3986, which we mostly follow here
+// see also libc __realpath()
+// see also llvm llvm::sys::path::remove_dots()
+static string
+canon_pathname (const string& input)
+{
+  string i = input; // 5.2.4 (1)
+  string o;
+
+  while (i.size() != 0)
+    {
+      // 5.2.4 (2) A
+      if (i.substr(0,3) == "../")
+        i = i.substr(3);
+      else if(i.substr(0,2) == "./")
+        i = i.substr(2);
+
+      // 5.2.4 (2) B
+      else if (i.substr(0,3) == "/./")
+        i = i.substr(2);
+      else if (i == "/.")
+        i = ""; // no need to handle "/." complete-path-segment case; we're dealing with file names
+
+      // 5.2.4 (2) C
+      else if (i.substr(0,4) == "/../") {
+        i = i.substr(3);
+        string::size_type sl = o.rfind("/");
+        if (sl != string::npos)
+          o = o.substr(0, sl);
+        else
+          o = "";
+      } else if (i == "/..")
+        i = ""; // no need to handle "/.." complete-path-segment case; we're dealing with file names
+
+      // 5.2.4 (2) D
+      // no need to handle these cases; we're dealing with file names
+      else if (i == ".")
+        i = "";
+      else if (i == "..")
+        i = "";
+
+      // POSIX special: map // to /
+      else if (i.substr(0,2) == "//")
+        i = i.substr(1);
+
+      // 5.2.4 (2) E
+      else {
+        string::size_type next_slash = i.find("/", (i[0]=='/' ? 1 : 0)); // skip first slash
+        o += i.substr(0, next_slash);
+        if (next_slash == string::npos)
+          i = "";
+        else
+          i = i.substr(next_slash);
+      }
+    }
+
+  return o;
+}
+
+
+// Estimate available free space for a given filesystem via statfs(2).
+// Return true if the free fraction is known to be smaller than the
+// given minimum percentage.  Also update a related metric.
+bool statfs_free_enough_p(const string& path, const string& label, long minfree = 0)
+{
+  struct statfs sfs;
+  int rc = statfs(path.c_str(), &sfs);
+  if (rc == 0)
+    {
+      double s = (double) sfs.f_bavail / (double) sfs.f_blocks;
+      set_metric("filesys_free_ratio","purpose",label, s);
+      return ((s * 100.0) < minfree);
+    }
+  return false;
+}
+
+
+
+// A map-like class that owns a cache of file descriptors (indexed by
+// file / content names).
+//
+// If only it could use fd's instead of file names ... but we can't
+// dup(2) to create independent descriptors for the same unlinked
+// files, so would have to use some goofy linux /proc/self/fd/%d
+// hack such as the following
+
+#if 0
+int superdup(int fd)
+{
+#ifdef __linux__
+  char *fdpath = NULL;
+  int rc = asprintf(& fdpath, "/proc/self/fd/%d", fd);
+  int newfd;
+  if (rc >= 0)
+    newfd = open(fdpath, O_RDONLY);
+  else
+    newfd = -1;
+  free (fdpath);
+  return newfd;
+#else
+  return -1;
+#endif
+}
+#endif
+
+class libarchive_fdcache
+{
+private:
+  mutex fdcache_lock;
+
+  struct fdcache_entry
+  {
+    string archive;
+    string entry;
+    string fd;
+    double fd_size_mb; // slightly rounded up megabytes
+  };
+  deque<fdcache_entry> lru; // @head: most recently used
+  long max_fds;
+  long max_mbs;
+
+public:
+  void set_metrics()
+  {
+    double total_mb = 0.0;
+    for (auto i = lru.begin(); i < lru.end(); i++)
+      total_mb += i->fd_size_mb;
+    set_metric("fdcache_bytes", (int64_t)(total_mb*1024.0*1024.0));
+    set_metric("fdcache_count", lru.size());
+  }
+
+  void intern(const string& a, const string& b, string fd, off_t sz, bool front_p)
+  {
+    {
+      unique_lock<mutex> lock(fdcache_lock);
+      for (auto i = lru.begin(); i < lru.end(); i++) // nuke preexisting copy
+        {
+          if (i->archive == a && i->entry == b)
+            {
+              unlink (i->fd.c_str());
+              lru.erase(i);
+              inc_metric("fdcache_op_count","op","dequeue");
+              break; // must not continue iterating
+            }
+        }
+      double mb = (sz+65535)/1048576.0; // round up to 64K block
+      fdcache_entry n = { a, b, fd, mb };
+      if (front_p)
+        {
+          inc_metric("fdcache_op_count","op","enqueue_front");
+          lru.push_front(n);
+        }
+      else
+        {
+          inc_metric("fdcache_op_count","op","enqueue_back");
+          lru.push_back(n);
+        }
+      if (verbose > 3)
+        obatched(clog) << "fdcache interned a=" << a << " b=" << b
+                       << " fd=" << fd << " mb=" << mb << " front=" << front_p << endl;
+    }
+    set_metrics();
+
+    // NB: we age the cache at lookup time too
+    if (statfs_free_enough_p(tmpdir, "tmpdir", fdcache_mintmp))
+      {
+        inc_metric("fdcache_op_count","op","emerg-flush");
+        obatched(clog) << "fdcache emergency flush for filling tmpdir" << endl;
+        this->limit(0, 0); // emergency flush
+      }
+    else if (front_p)
+      this->limit(max_fds, max_mbs); // age cache if required
+  }
+
+  int lookup(const string& a, const string& b)
+  {
+    int fd = -1;
+    {
+      unique_lock<mutex> lock(fdcache_lock);
+      for (auto i = lru.begin(); i < lru.end(); i++)
+        {
+          if (i->archive == a && i->entry == b)
+            { // found it; move it to head of lru
+              fdcache_entry n = *i;
+              lru.erase(i); // invalidates i, so no more iteration!
+              lru.push_front(n);
+              inc_metric("fdcache_op_count","op","requeue_front");
+              fd = open(n.fd.c_str(), O_RDONLY); // NB: no problem if dup() fails; looks like cache miss
+              break;
+            }
+        }
+    }
+
+    if (statfs_free_enough_p(tmpdir, "tmpdir", fdcache_mintmp))
+      {
+        inc_metric("fdcache_op_count","op","emerg-flush");
+        obatched(clog) << "fdcache emergency flush for filling tmpdir";
+        this->limit(0, 0); // emergency flush
+      }
+    else if (fd >= 0)
+      this->limit(max_fds, max_mbs); // age cache if required
+
+    return fd;
+  }
+
+  int probe(const string& a, const string& b) // just a cache residency check - don't modify LRU state, don't open
+  {
+    unique_lock<mutex> lock(fdcache_lock);
+    for (auto i = lru.begin(); i < lru.end(); i++)
+      {
+        if (i->archive == a && i->entry == b)
+          {
+            inc_metric("fdcache_op_count","op","probe_hit");
+            return true;
+          }
+      }
+    inc_metric("fdcache_op_count","op","probe_miss");
+    return false;
+  }
+
+  void clear(const string& a, const string& b)
+  {
+    unique_lock<mutex> lock(fdcache_lock);
+    for (auto i = lru.begin(); i < lru.end(); i++)
+      {
+        if (i->archive == a && i->entry == b)
+          { // found it; move it to head of lru
+            fdcache_entry n = *i;
+            lru.erase(i); // invalidates i, so no more iteration!
+            inc_metric("fdcache_op_count","op","clear");
+            unlink (n.fd.c_str());
+            set_metrics();
+            return;
+          }
+      }
+  }
+
+
+  void limit(long maxfds, long maxmbs, bool metrics_p = true)
+  {
+    if (verbose > 3 && (this->max_fds != maxfds || this->max_mbs != maxmbs))
+      obatched(clog) << "fdcache limited to maxfds=" << maxfds << " maxmbs=" << maxmbs << endl;
+
+    unique_lock<mutex> lock(fdcache_lock);
+    this->max_fds = maxfds;
+    this->max_mbs = maxmbs;
+
+    long total_fd = 0;
+    double total_mb = 0.0;
+    for (auto i = lru.begin(); i < lru.end(); i++)
+      {
+        // accumulate totals from most recently used one going backward
+        total_fd ++;
+        total_mb += i->fd_size_mb;
+        if (total_fd > max_fds || total_mb > max_mbs)
+          {
+            // found the cut here point!
+
+            for (auto j = i; j < lru.end(); j++) // close all the fds from here on in
+              {
+                if (verbose > 3)
+                  obatched(clog) << "fdcache evicted a=" << j->archive << " b=" << j->entry
+                                 << " fd=" << j->fd << " mb=" << j->fd_size_mb << endl;
+                if (metrics_p)
+                  inc_metric("fdcache_op_count","op","evict");
+                unlink (j->fd.c_str());
+              }
+
+            lru.erase(i, lru.end()); // erase the nodes generally
+            break;
+          }
+      }
+    if (metrics_p) set_metrics();
+  }
+
+
+  ~libarchive_fdcache()
+  {
+    // unlink any fdcache entries in $TMPDIR
+    // don't update metrics; those globals may be already destroyed
+    limit(0, 0, false);
+  }
+};
+static libarchive_fdcache fdcache;
+
+
+// For security/portability reasons, many distro-package archives have
+// a "./" in front of path names; others have nothing, others have
+// "/".  Canonicalize them all to a single leading "/", with the
+// assumption that this matches the dwarf-derived file names too.
+string canonicalized_archive_entry_pathname(struct archive_entry *e)
+{
+  string fn = archive_entry_pathname(e);
+  if (fn.size() == 0)
+    return fn;
+  if (fn[0] == '/')
+    return fn;
+  if (fn[0] == '.')
+    return fn.substr(1);
+  else
+    return string("/")+fn;
+}
+
+
+
 static struct MHD_Response*
-handle_buildid_r_match (int64_t b_mtime,
+handle_buildid_r_match (bool internal_req_p,
+                        int64_t b_mtime,
                         const string& b_source0,
                         const string& b_source1,
                         int *result_fd)
@@ -851,11 +1362,69 @@
       return 0;
     }
 
-  string popen_cmd = string("rpm2cpio " + shell_escape(b_source0));
-  FILE* fp = popen (popen_cmd.c_str(), "r"); // "e" O_CLOEXEC?
-  if (fp == NULL)
-    throw libc_exception (errno, string("popen ") + popen_cmd);
-  defer_dtor<FILE*,int> fp_closer (fp, pclose);
+  // check for a match in the fdcache first
+  int fd = fdcache.lookup(b_source0, b_source1);
+  while (fd >= 0) // got one!; NB: this is really an if() with a possible branch out to the end
+    {
+      rc = fstat(fd, &fs);
+      if (rc < 0) // disappeared?
+        {
+          if (verbose)
+            obatched(clog) << "cannot fstat fdcache " << b_source0 << endl;
+          close(fd);
+          fdcache.clear(b_source0, b_source1);
+          break; // branch out of if "loop", to try new libarchive fetch attempt
+        }
+
+      struct MHD_Response* r = MHD_create_response_from_fd (fs.st_size, fd);
+      if (r == 0)
+        {
+          if (verbose)
+            obatched(clog) << "cannot create fd-response for " << b_source0 << endl;
+          close(fd);
+          break; // branch out of if "loop", to try new libarchive fetch attempt
+        }
+
+      inc_metric ("http_responses_total","result","archive fdcache");
+
+      MHD_add_response_header (r, "Content-Type", "application/octet-stream");
+      add_mhd_last_modified (r, fs.st_mtime);
+      if (verbose > 1)
+        obatched(clog) << "serving fdcache archive " << b_source0 << " file " << b_source1 << endl;
+      /* libmicrohttpd will close it. */
+      if (result_fd)
+        *result_fd = fd;
+      return r;
+      // NB: see, we never go around the 'loop' more than once
+    }
+
+  // no match ... grumble, must process the archive
+  string archive_decoder = "/dev/null";
+  string archive_extension = "";
+  for (auto&& arch : scan_archives)
+    if (string_endswith(b_source0, arch.first))
+      {
+        archive_extension = arch.first;
+        archive_decoder = arch.second;
+      }
+  FILE* fp;
+  defer_dtor<FILE*,int>::dtor_fn dfn;
+  if (archive_decoder != "cat")
+    {
+      string popen_cmd = archive_decoder + " " + shell_escape(b_source0);
+      fp = popen (popen_cmd.c_str(), "r"); // "e" O_CLOEXEC?
+      dfn = pclose;
+      if (fp == NULL)
+        throw libc_exception (errno, string("popen ") + popen_cmd);
+    }
+  else
+    {
+      fp = fopen (b_source0.c_str(), "r");
+      dfn = fclose;
+      if (fp == NULL)
+        throw libc_exception (errno, string("fopen ") + b_source0);
+    }
+  defer_dtor<FILE*,int> fp_closer (fp, dfn);
 
   struct archive *a;
   a = archive_read_new();
@@ -863,19 +1432,31 @@
     throw archive_exception("cannot create archive reader");
   defer_dtor<struct archive*,int> archive_closer (a, archive_read_free);
 
-  rc = archive_read_support_format_cpio(a);
+  rc = archive_read_support_format_all(a);
   if (rc != ARCHIVE_OK)
-    throw archive_exception(a, "cannot select cpio format");
+    throw archive_exception(a, "cannot select all format");
   rc = archive_read_support_filter_all(a);
   if (rc != ARCHIVE_OK)
     throw archive_exception(a, "cannot select all filters");
 
   rc = archive_read_open_FILE (a, fp);
   if (rc != ARCHIVE_OK)
-    throw archive_exception(a, "cannot open archive from rpm2cpio pipe");
+    throw archive_exception(a, "cannot open archive from pipe");
 
-  while(1) // parse cpio archive entries
+  // archive traversal is in three stages, no, four stages:
+  // 1) skip entries whose names do not match the requested one
+  // 2) extract the matching entry name (set r = result)
+  // 3) extract some number of prefetched entries (just into fdcache)
+  // 4) abort any further processing
+  struct MHD_Response* r = 0;                 // will set in stage 2
+  unsigned prefetch_count =
+    internal_req_p ? 0 : fdcache_prefetch;    // will decrement in stage 3
+
+  while(r == 0 || prefetch_count > 0) // stage 1, 2, or 3
     {
+      if (interrupted)
+        break;
+
       struct archive_entry *e;
       rc = archive_read_next_header (a, &e);
       if (rc != ARCHIVE_OK)
@@ -884,64 +1465,108 @@
       if (! S_ISREG(archive_entry_mode (e))) // skip non-files completely
         continue;
 
-      string fn = archive_entry_pathname (e);
-      if (fn != string(".")+b_source1)
+      string fn = canonicalized_archive_entry_pathname (e);
+      if ((r == 0) && (fn != b_source1)) // stage 1
+        continue;
+
+      if (fdcache.probe (b_source0, fn)) // skip if already interned
         continue;
 
       // extract this file to a temporary file
-      char tmppath[PATH_MAX] = "/tmp/debuginfod.XXXXXX"; // XXX: $TMP_DIR etc.
-      int fd = mkstemp (tmppath);
+      char* tmppath = NULL;
+      rc = asprintf (&tmppath, "%s/debuginfod.XXXXXX", tmpdir.c_str());
+      if (rc < 0)
+        throw libc_exception (ENOMEM, "cannot allocate tmppath");
+      defer_dtor<void*,void> tmmpath_freer (tmppath, free);
+      fd = mkstemp (tmppath);
       if (fd < 0)
         throw libc_exception (errno, "cannot create temporary file");
-      unlink (tmppath); // unlink now so OS will release the file as soon as we close the fd
+      // NB: don't unlink (tmppath), as fdcache will take charge of it.
 
+      // NB: this can take many uninterruptible seconds for a huge file
       rc = archive_read_data_into_fd (a, fd);
-      if (rc != ARCHIVE_OK)
+      if (rc != ARCHIVE_OK) // e.g. ENOSPC!
         {
           close (fd);
+          unlink (tmppath);
           throw archive_exception(a, "cannot extract file");
         }
 
-      inc_metric ("http_responses_total","result","rpm");
-      struct MHD_Response* r = MHD_create_response_from_fd (archive_entry_size(e), fd);
+      // Set the mtime so the fdcache file mtimes, even prefetched ones,
+      // propagate to future webapi clients.
+      struct timeval tvs[2];
+      tvs[0].tv_sec = tvs[1].tv_sec = archive_entry_mtime(e);
+      tvs[0].tv_usec = tvs[1].tv_usec = 0;
+      (void) futimes (fd, tvs);  /* best effort */
+
+      if (r != 0) // stage 3
+        {
+          // NB: now we know we have a complete reusable file; make fdcache
+          // responsible for unlinking it later.
+          fdcache.intern(b_source0, fn,
+                         tmppath, archive_entry_size(e),
+                         false); // prefetched ones go to back of lru
+          prefetch_count --;
+          close (fd); // we're not saving this fd to make a mhd-response from!
+          continue;
+        }
+
+      // NB: now we know we have a complete reusable file; make fdcache
+      // responsible for unlinking it later.
+      fdcache.intern(b_source0, b_source1,
+                     tmppath, archive_entry_size(e),
+                     true); // requested ones go to the front of lru
+
+      inc_metric ("http_responses_total","result",archive_extension + " archive");
+      r = MHD_create_response_from_fd (archive_entry_size(e), fd);
       if (r == 0)
         {
           if (verbose)
             obatched(clog) << "cannot create fd-response for " << b_source0 << endl;
           close(fd);
-          break; // assume no chance of better luck around another iteration
+          break; // assume no chance of better luck around another iteration; no other copies of same file
         }
       else
         {
           MHD_add_response_header (r, "Content-Type", "application/octet-stream");
           add_mhd_last_modified (r, archive_entry_mtime(e));
           if (verbose > 1)
-            obatched(clog) << "serving rpm " << b_source0 << " file " << b_source1 << endl;
+            obatched(clog) << "serving archive " << b_source0 << " file " << b_source1 << endl;
           /* libmicrohttpd will close it. */
           if (result_fd)
             *result_fd = fd;
-          return r;
+          continue;
         }
     }
 
   // XXX: rpm/file not found: delete this R entry?
-  return 0;
+  return r;
 }
 
 
 static struct MHD_Response*
-handle_buildid_match (int64_t b_mtime,
+handle_buildid_match (bool internal_req_p,
+                      int64_t b_mtime,
                       const string& b_stype,
                       const string& b_source0,
                       const string& b_source1,
                       int *result_fd)
 {
-  if (b_stype == "F")
-    return handle_buildid_f_match(b_mtime, b_source0, result_fd);
-  else if (b_stype == "R")
-    return handle_buildid_r_match(b_mtime, b_source0, b_source1, result_fd);
-  else
-    return 0;
+  try
+    {
+      if (b_stype == "F")
+        return handle_buildid_f_match(internal_req_p, b_mtime, b_source0, result_fd);
+      else if (b_stype == "R")
+        return handle_buildid_r_match(internal_req_p, b_mtime, b_source0, b_source1, result_fd);
+    }
+  catch (const reportable_exception &e)
+    {
+      e.report(clog);
+      // Report but swallow libc etc. errors here; let the caller
+      // iterate to other matches of the content.
+    }
+
+  return 0;
 }
 
 
@@ -955,11 +1580,12 @@
 }
 
 
-static struct MHD_Response* handle_buildid (const string& buildid /* unsafe */,
-                                            const string& artifacttype /* unsafe */,
-                                            const string& suffix /* unsafe */,
-                                            int *result_fd
-                                            )
+static struct MHD_Response*
+handle_buildid (MHD_Connection* conn,
+                const string& buildid /* unsafe */,
+                const string& artifacttype /* unsafe */,
+                const string& suffix /* unsafe */,
+                int *result_fd)
 {
   // validate artifacttype
   string atype_code;
@@ -981,11 +1607,15 @@
     obatched(clog) << "searching for buildid=" << buildid << " artifacttype=" << artifacttype
          << " suffix=" << suffix << endl;
 
+  // If invoked from the scanner threads, use the scanners' read-write
+  // connection.  Otherwise use the web query threads' read-only connection.
+  sqlite3 *thisdb = (conn == 0) ? db : dbq;
+
   sqlite_ps *pp = 0;
 
   if (atype_code == "D")
     {
-      pp = new sqlite_ps (db, "mhd-query-d",
+      pp = new sqlite_ps (thisdb, "mhd-query-d",
                           "select mtime, sourcetype, source0, source1 from " BUILDIDS "_query_d where buildid = ? "
                           "order by mtime desc");
       pp->reset();
@@ -993,7 +1623,7 @@
     }
   else if (atype_code == "E")
     {
-      pp = new sqlite_ps (db, "mhd-query-e",
+      pp = new sqlite_ps (thisdb, "mhd-query-e",
                           "select mtime, sourcetype, source0, source1 from " BUILDIDS "_query_e where buildid = ? "
                           "order by mtime desc");
       pp->reset();
@@ -1001,12 +1631,19 @@
     }
   else if (atype_code == "S")
     {
-      pp = new sqlite_ps (db, "mhd-query-s",
-                          "select mtime, sourcetype, source0, source1 from " BUILDIDS "_query_s where buildid = ? and artifactsrc = ? "
+      // PR25548
+      // Incoming source queries may come in with either dwarf-level OR canonicalized paths.
+      // We let the query pass with either one.
+
+      pp = new sqlite_ps (thisdb, "mhd-query-s",
+                          "select mtime, sourcetype, source0, source1 from " BUILDIDS "_query_s where buildid = ? and artifactsrc in (?,?) "
                           "order by sharedprefix(source0,source0ref) desc, mtime desc");
       pp->reset();
       pp->bind(1, buildid);
+      // NB: we don't store the non-canonicalized path names any more, but old databases
+      // might have them (and no canon ones), so we keep searching for both.
       pp->bind(2, suffix);
+      pp->bind(3, canon_pathname(suffix));
     }
   unique_ptr<sqlite_ps> ps_closer(pp); // release pp if exception or return
 
@@ -1029,10 +1666,12 @@
 
       // Try accessing the located match.
       // XXX: in case of multiple matches, attempt them in parallel?
-      auto r = handle_buildid_match (b_mtime, b_stype, b_source0, b_source1, result_fd);
+      auto r = handle_buildid_match (conn ? false : true,
+                                     b_mtime, b_stype, b_source0, b_source1, result_fd);
       if (r)
         return r;
     }
+  pp->reset();
 
   // We couldn't find it in the database.  Last ditch effort
   // is to defer to other debuginfo servers.
@@ -1043,6 +1682,35 @@
     {
       debuginfod_set_progressfn (client, & debuginfod_find_progress);
 
+      if (conn)
+        {
+          // Transcribe incoming User-Agent:
+          string ua = MHD_lookup_connection_value (conn, MHD_HEADER_KIND, "User-Agent") ?: "";
+          string ua_complete = string("User-Agent: ") + ua;
+          debuginfod_add_http_header (client, ua_complete.c_str());
+
+          // Compute larger XFF:, for avoiding info loss during
+          // federation, and for future cyclicity detection.
+          string xff = MHD_lookup_connection_value (conn, MHD_HEADER_KIND, "X-Forwarded-For") ?: "";
+          if (xff != "")
+            xff += string(", "); // comma separated list
+
+          // Compute the client's numeric IP address only - so can't merge with conninfo()
+          const union MHD_ConnectionInfo *u = MHD_get_connection_info (conn,
+                                                                       MHD_CONNECTION_INFO_CLIENT_ADDRESS);
+          struct sockaddr *so = u ? u->client_addr : 0;
+          char hostname[256] = ""; // RFC1035
+          if (so && so->sa_family == AF_INET)
+            (void) getnameinfo (so, sizeof (struct sockaddr_in), hostname, sizeof (hostname), NULL, 0,
+                                NI_NUMERICHOST);
+          else if (so && so->sa_family == AF_INET6)
+            (void) getnameinfo (so, sizeof (struct sockaddr_in6), hostname, sizeof (hostname), NULL, 0,
+                                NI_NUMERICHOST);
+
+          string xff_complete = string("X-Forwarded-For: ")+xff+string(hostname);
+          debuginfod_add_http_header (client, xff_complete.c_str());
+        }
+
       if (artifacttype == "debuginfo")
 	fd = debuginfod_find_debuginfo (client,
 					(const unsigned char*) buildid.c_str(),
@@ -1081,8 +1749,16 @@
         }
       close (fd);
     }
-  else if (fd != -ENOSYS) // no DEBUGINFOD_URLS configured
-    throw libc_exception(-fd, "upstream debuginfod query failed");
+  else
+    switch(fd)
+      {
+      case -ENOSYS:
+        break;
+      case -ENOENT:
+        break;
+      default: // some more tricky error
+        throw libc_exception(-fd, "upstream debuginfod query failed");
+      }
 
   throw reportable_exception(MHD_HTTP_NOT_FOUND, "not found");
 }
@@ -1090,9 +1766,11 @@
 
 ////////////////////////////////////////////////////////////////////////
 
-static map<string,int64_t> metrics; // arbitrary data for /metrics query
+static map<string,double> metrics; // arbitrary data for /metrics query
 // NB: store int64_t since all our metrics are integers; prometheus accepts double
 static mutex metrics_lock;
+// NB: these objects get released during the process exit via global dtors
+// do not call them from within other global dtors
 
 // utility function for assembling prometheus-compatible
 // name="escaped-value" strings
@@ -1117,7 +1795,7 @@
 // add prometheus-format metric name + label tuple (if any) + value
 
 static void
-set_metric(const string& metric, int64_t value)
+set_metric(const string& metric, double value)
 {
   unique_lock<mutex> lock(metrics_lock);
   metrics[metric] = value;
@@ -1133,7 +1811,7 @@
 static void
 set_metric(const string& metric,
            const string& lname, const string& lvalue,
-           int64_t value)
+           double value)
 {
   string key = (metric + "{" + metric_label(lname, lvalue) + "}");
   unique_lock<mutex> lock(metrics_lock);
@@ -1151,30 +1829,57 @@
 static void
 add_metric(const string& metric,
            const string& lname, const string& lvalue,
-           int64_t value)
+           double value)
 {
   string key = (metric + "{" + metric_label(lname, lvalue) + "}");
   unique_lock<mutex> lock(metrics_lock);
   metrics[key] += value;
 }
+#if 0
+static void
+add_metric(const string& metric,
+           double value)
+{
+  unique_lock<mutex> lock(metrics_lock);
+  metrics[metric] += value;
+}
+#endif
 
 
 // and more for higher arity labels if needed
 
 
 static struct MHD_Response*
-handle_metrics ()
+handle_metrics (off_t* size)
 {
   stringstream o;
   {
     unique_lock<mutex> lock(metrics_lock);
     for (auto&& i : metrics)
-      o << i.first << " " << i.second << endl;
+      o << i.first
+        << " "
+        << std::setprecision(std::numeric_limits<double>::digits10 + 1)
+        << i.second
+        << endl;
   }
   const string& os = o.str();
   MHD_Response* r = MHD_create_response_from_buffer (os.size(),
                                                      (void*) os.c_str(),
                                                      MHD_RESPMEM_MUST_COPY);
+  *size = os.size();
+  MHD_add_response_header (r, "Content-Type", "text/plain");
+  return r;
+}
+
+static struct MHD_Response*
+handle_root (off_t* size)
+{
+  static string version = "debuginfod (" + string (PACKAGE_NAME) + ") "
+			  + string (PACKAGE_VERSION);
+  MHD_Response* r = MHD_create_response_from_buffer (version.size (),
+						     (void *) version.c_str (),
+						     MHD_RESPMEM_PERSISTENT);
+  *size = version.size ();
   MHD_add_response_header (r, "Content-Type", "text/plain");
   return r;
 }
@@ -1184,7 +1889,7 @@
 
 
 /* libmicrohttpd callback */
-static int
+static MHD_RESULT
 handler_cb (void * /*cls*/,
             struct MHD_Connection *connection,
             const char *url,
@@ -1197,8 +1902,15 @@
   struct MHD_Response *r = NULL;
   string url_copy = url;
 
-  if (verbose)
-    obatched(clog) << conninfo(connection) << " " << method << " " << url << endl;
+#if MHD_VERSION >= 0x00097002
+  enum MHD_Result rc;
+#else
+  int rc = MHD_NO; // mhd
+#endif
+  int http_code = 500;
+  off_t http_size = -1;
+  struct timespec ts_start, ts_end;
+  clock_gettime (CLOCK_MONOTONIC, &ts_start);
 
   try
     {
@@ -1211,6 +1923,7 @@
 
       if (slash1 != string::npos && url1 == "/buildid")
         {
+          tmp_inc_metric m ("thread_busy", "role", "http-buildid");
           size_t slash2 = url_copy.find('/', slash1+1);
           if (slash2 == string::npos)
             throw reportable_exception("/buildid/ webapi error, need buildid");
@@ -1231,29 +1944,67 @@
             }
 
           inc_metric("http_requests_total", "type", artifacttype);
-          r = handle_buildid(buildid, artifacttype, suffix, 0); // NB: don't care about result-fd
+          // get the resulting fd so we can report its size
+          int fd;
+          r = handle_buildid(connection, buildid, artifacttype, suffix, &fd);
+          if (r)
+            {
+              struct stat fs;
+              if (fstat(fd, &fs) == 0)
+                http_size = fs.st_size;
+              // libmicrohttpd will close (fd);
+            }
         }
       else if (url1 == "/metrics")
         {
+          tmp_inc_metric m ("thread_busy", "role", "http-metrics");
           inc_metric("http_requests_total", "type", "metrics");
-          r = handle_metrics();
+          r = handle_metrics(& http_size);
+        }
+      else if (url1 == "/")
+        {
+          inc_metric("http_requests_total", "type", "/");
+          r = handle_root(& http_size);
         }
       else
-        throw reportable_exception("webapi error, unrecognized /operation");
+        throw reportable_exception("webapi error, unrecognized '" + url1 + "'");
 
       if (r == 0)
         throw reportable_exception("internal error, missing response");
 
-      int rc = MHD_queue_response (connection, MHD_HTTP_OK, r);
+      rc = MHD_queue_response (connection, MHD_HTTP_OK, r);
+      http_code = MHD_HTTP_OK;
       MHD_destroy_response (r);
-      return rc;
     }
   catch (const reportable_exception& e)
     {
       inc_metric("http_responses_total","result","error");
       e.report(clog);
-      return e.mhd_send_response (connection);
+      http_code = e.code;
+      http_size = e.message.size();
+      rc = e.mhd_send_response (connection);
     }
+
+  clock_gettime (CLOCK_MONOTONIC, &ts_end);
+  double deltas = (ts_end.tv_sec - ts_start.tv_sec) + (ts_end.tv_nsec - ts_start.tv_nsec)/1.e9;
+  obatched(clog) << conninfo(connection)
+                 << ' ' << method << ' ' << url
+                 << ' ' << http_code << ' ' << http_size
+                 << ' ' << (int)(deltas*1000) << "ms"
+                 << endl;
+
+  // related prometheus metrics
+  string http_code_str = to_string(http_code);
+  if (http_size >= 0)
+    add_metric("http_responses_transfer_bytes_sum","code",http_code_str,
+               http_size);
+  inc_metric("http_responses_transfer_bytes_count","code",http_code_str);
+
+  add_metric("http_responses_duration_milliseconds_sum","code",http_code_str,
+             deltas*1000); // prometheus prefers _seconds and floating point
+  inc_metric("http_responses_duration_milliseconds_count","code",http_code_str);
+
+  return rc;
 }
 
 
@@ -1300,7 +2051,7 @@
           struct MHD_Response *r = 0;
           try
             {
-              r = handle_buildid (buildid, "debuginfo", "", &alt_fd);
+              r = handle_buildid (0, buildid, "debuginfo", "", &alt_fd);
             }
           catch (const reportable_exception& e)
             {
@@ -1399,7 +2150,8 @@
             waldo = (string (comp_dir) + string("/") + string (hat));
           else
            {
-             obatched(clog) << "skipping hat=" << hat << " due to empty comp_dir" << endl;
+             if (verbose > 3)
+               obatched(clog) << "skipping hat=" << hat << " due to empty comp_dir" << endl;
              continue;
            }
 
@@ -1544,334 +2296,210 @@
 }
 
 
-static semaphore* scan_concurrency_sem = 0; // used to implement -c load limiting
-
-
 static void
-scan_source_file_path (const string& dir)
+scan_source_file (const string& rps, const stat_t& st,
+                  sqlite_ps& ps_upsert_buildids,
+                  sqlite_ps& ps_upsert_files,
+                  sqlite_ps& ps_upsert_de,
+                  sqlite_ps& ps_upsert_s,
+                  sqlite_ps& ps_query,
+                  sqlite_ps& ps_scan_done,
+                  unsigned& fts_cached,
+                  unsigned& fts_executable,
+                  unsigned& fts_debuginfo,
+                  unsigned& fts_sourcefiles)
 {
-  obatched(clog) << "fts/file traversing " << dir << endl;
-
-  struct timeval tv_start, tv_end;
-  gettimeofday (&tv_start, NULL);
-
-  sqlite_ps ps_upsert_buildids (db, "file-buildids-intern", "insert or ignore into " BUILDIDS "_buildids VALUES (NULL, ?);");
-  sqlite_ps ps_upsert_files (db, "file-files-intern", "insert or ignore into " BUILDIDS "_files VALUES (NULL, ?);");
-  sqlite_ps ps_upsert_de (db, "file-de-upsert",
-                          "insert or ignore into " BUILDIDS "_f_de "
-                          "(buildid, debuginfo_p, executable_p, file, mtime) "
-                          "values ((select id from " BUILDIDS "_buildids where hex = ?),"
-                          "        ?,?,"
-                          "        (select id from " BUILDIDS "_files where name = ?), ?);");
-  sqlite_ps ps_upsert_s (db, "file-s-upsert",
-                         "insert or ignore into " BUILDIDS "_f_s "
-                         "(buildid, artifactsrc, file, mtime) "
-                         "values ((select id from " BUILDIDS "_buildids where hex = ?),"
-                         "        (select id from " BUILDIDS "_files where name = ?),"
-                         "        (select id from " BUILDIDS "_files where name = ?),"
-                         "        ?);");
-  sqlite_ps ps_query (db, "file-negativehit-find",
-                      "select 1 from " BUILDIDS "_file_mtime_scanned where sourcetype = 'F' and file = (select id from " BUILDIDS "_files where name = ?) and mtime = ?;");
-  sqlite_ps ps_scan_done (db, "file-scanned",
-                          "insert or ignore into " BUILDIDS "_file_mtime_scanned (sourcetype, file, mtime, size)"
-                          "values ('F', (select id from " BUILDIDS "_files where name = ?), ?, ?);");
-
-
-  char * const dirs[] = { (char*) dir.c_str(), NULL };
-
-  unsigned fts_scanned=0, fts_regex=0, fts_cached=0, fts_debuginfo=0, fts_executable=0, fts_sourcefiles=0;
-
-  FTS *fts = fts_open (dirs,
-                       (traverse_logical ? FTS_LOGICAL : FTS_PHYSICAL|FTS_XDEV)
-                       | FTS_NOCHDIR /* multithreaded */,
-                       NULL);
-  if (fts == NULL)
+  /* See if we know of it already. */
+  int rc = ps_query
+    .reset()
+    .bind(1, rps)
+    .bind(2, st.st_mtime)
+    .step();
+  ps_query.reset();
+  if (rc == SQLITE_ROW) // i.e., a result, as opposed to DONE (no results)
+    // no need to recheck a file/version we already know
+    // specifically, no need to elf-begin a file we already determined is non-elf
+    // (so is stored with buildid=NULL)
     {
-      obatched(cerr) << "cannot fts_open " << dir << endl;
+      fts_cached++;
       return;
     }
 
-  FTSENT *f;
-  while ((f = fts_read (fts)) != NULL)
+  bool executable_p = false, debuginfo_p = false; // E and/or D
+  string buildid;
+  set<string> sourcefiles;
+
+  int fd = open (rps.c_str(), O_RDONLY);
+  try
     {
-      semaphore_borrower handle_one_file (scan_concurrency_sem);
+      if (fd >= 0)
+        elf_classify (fd, executable_p, debuginfo_p, buildid, sourcefiles);
+      else
+        throw libc_exception(errno, string("open ") + rps);
+      add_metric ("scanned_bytes_total","source","file",
+                  st.st_size);
+      inc_metric ("scanned_files_total","source","file");
+    }
+  // NB: we catch exceptions here too, so that we can
+  // cache the corrupt-elf case (!executable_p &&
+  // !debuginfo_p) just below, just as if we had an
+  // EPERM error from open(2).
+  catch (const reportable_exception& e)
+    {
+      e.report(clog);
+    }
 
-      fts_scanned ++;
-      if (interrupted)
-        break;
+  if (fd >= 0)
+    close (fd);
 
-      if (verbose > 2)
-        obatched(clog) << "fts/file traversing " << f->fts_path << endl;
+  // register this file name in the interning table
+  ps_upsert_files
+    .reset()
+    .bind(1, rps)
+    .step_ok_done();
 
-      try
+  if (buildid == "")
+    {
+      // no point storing an elf file without buildid
+      executable_p = false;
+      debuginfo_p = false;
+    }
+  else
+    {
+      // register this build-id in the interning table
+      ps_upsert_buildids
+        .reset()
+        .bind(1, buildid)
+        .step_ok_done();
+    }
+
+  if (executable_p)
+    fts_executable ++;
+  if (debuginfo_p)
+    fts_debuginfo ++;
+  if (executable_p || debuginfo_p)
+    {
+      ps_upsert_de
+        .reset()
+        .bind(1, buildid)
+        .bind(2, debuginfo_p ? 1 : 0)
+        .bind(3, executable_p ? 1 : 0)
+        .bind(4, rps)
+        .bind(5, st.st_mtime)
+        .step_ok_done();
+    }
+  if (executable_p)
+    inc_metric("found_executable_total","source","files");
+  if (debuginfo_p)
+    inc_metric("found_debuginfo_total","source","files");
+
+  if (sourcefiles.size() && buildid != "")
+    {
+      fts_sourcefiles += sourcefiles.size();
+
+      for (auto&& dwarfsrc : sourcefiles)
         {
-          /* Found a file.  Convert it to an absolute path, so
-             the buildid database does not have relative path
-             names that are unresolvable from a subsequent run
-             in a different cwd. */
-          char *rp = realpath(f->fts_path, NULL);
-          if (rp == NULL)
-            continue; // ignore dangling symlink or such
-          string rps = string(rp);
-          free (rp);
+          char *srp = realpath(dwarfsrc.c_str(), NULL);
+          if (srp == NULL) // also if DWZ unresolved dwarfsrc=""
+            continue; // unresolvable files are not a serious problem
+          // throw libc_exception(errno, "fts/file realpath " + srcpath);
+          string srps = string(srp);
+          free (srp);
 
-          bool ri = !regexec (&file_include_regex, rps.c_str(), 0, 0, 0);
-          bool rx = !regexec (&file_exclude_regex, rps.c_str(), 0, 0, 0);
-          if (!ri || rx)
+          struct stat sfs;
+          rc = stat(srps.c_str(), &sfs);
+          if (rc != 0)
+            continue;
+
+          if (verbose > 2)
+            obatched(clog) << "recorded buildid=" << buildid << " file=" << srps
+                           << " mtime=" << sfs.st_mtime
+                           << " as source " << dwarfsrc << endl;
+
+          ps_upsert_files
+            .reset()
+            .bind(1, srps)
+            .step_ok_done();
+
+          // PR25548: store canonicalized dwarfsrc path
+          string dwarfsrc_canon = canon_pathname (dwarfsrc);
+          if (dwarfsrc_canon != dwarfsrc)
             {
               if (verbose > 3)
-                obatched(clog) << "fts/file skipped by regex " << (!ri ? "I" : "") << (rx ? "X" : "") << endl;
-              fts_regex ++;
-              continue;
+                obatched(clog) << "canonicalized src=" << dwarfsrc << " alias=" << dwarfsrc_canon << endl;
             }
 
-          switch (f->fts_info)
-            {
-            case FTS_D:
-              break;
+          ps_upsert_files
+            .reset()
+            .bind(1, dwarfsrc_canon)
+            .step_ok_done();
 
-            case FTS_DP:
-              break;
+          ps_upsert_s
+            .reset()
+            .bind(1, buildid)
+            .bind(2, dwarfsrc_canon)
+            .bind(3, srps)
+            .bind(4, sfs.st_mtime)
+            .step_ok_done();
 
-            case FTS_F:
-              {
-                /* See if we know of it already. */
-                int rc = ps_query
-                  .reset()
-                  .bind(1, rps)
-                  .bind(2, f->fts_statp->st_mtime)
-                  .step();
-                ps_query.reset();
-                if (rc == SQLITE_ROW) // i.e., a result, as opposed to DONE (no results)
-                  // no need to recheck a file/version we already know
-                  // specifically, no need to elf-begin a file we already determined is non-elf
-                  // (so is stored with buildid=NULL)
-                  {
-                    fts_cached ++;
-                    continue;
-                  }
-
-                bool executable_p = false, debuginfo_p = false; // E and/or D
-                string buildid;
-                set<string> sourcefiles;
-
-                int fd = open (rps.c_str(), O_RDONLY);
-                try
-                  {
-                    if (fd >= 0)
-                      elf_classify (fd, executable_p, debuginfo_p, buildid, sourcefiles);
-                    else
-                      throw libc_exception(errno, string("open ") + rps);
-                    inc_metric ("scanned_total","source","file");
-                  }
-
-                // NB: we catch exceptions here too, so that we can
-                // cache the corrupt-elf case (!executable_p &&
-                // !debuginfo_p) just below, just as if we had an
-                // EPERM error from open(2).
-
-                catch (const reportable_exception& e)
-                  {
-                    e.report(clog);
-                  }
-
-                if (fd >= 0)
-                  close (fd);
-
-                // register this file name in the interning table
-                ps_upsert_files
-                  .reset()
-                  .bind(1, rps)
-                  .step_ok_done();
-
-                if (buildid == "")
-                  {
-                    // no point storing an elf file without buildid
-                    executable_p = false;
-                    debuginfo_p = false;
-                  }
-                else
-                  {
-                    // register this build-id in the interning table
-                    ps_upsert_buildids
-                      .reset()
-                      .bind(1, buildid)
-                      .step_ok_done();
-                  }
-
-                if (executable_p)
-                  fts_executable ++;
-                if (debuginfo_p)
-                  fts_debuginfo ++;
-                if (executable_p || debuginfo_p)
-                  {
-                    ps_upsert_de
-                      .reset()
-                      .bind(1, buildid)
-                      .bind(2, debuginfo_p ? 1 : 0)
-                      .bind(3, executable_p ? 1 : 0)
-                      .bind(4, rps)
-                      .bind(5, f->fts_statp->st_mtime)
-                      .step_ok_done();
-                  }
-                if (executable_p)
-                  inc_metric("found_executable_total","source","files");
-                if (debuginfo_p)
-                  inc_metric("found_debuginfo_total","source","files");
-
-                if (sourcefiles.size() && buildid != "")
-                  {
-                    fts_sourcefiles += sourcefiles.size();
-
-                    for (auto&& dwarfsrc : sourcefiles)
-                      {
-                        char *srp = realpath(dwarfsrc.c_str(), NULL);
-                        if (srp == NULL) // also if DWZ unresolved dwarfsrc=""
-                          continue; // unresolvable files are not a serious problem
-                        // throw libc_exception(errno, "fts/file realpath " + srcpath);
-                        string srps = string(srp);
-                        free (srp);
-
-                        struct stat sfs;
-                        rc = stat(srps.c_str(), &sfs);
-                        if (rc != 0)
-                          continue;
-
-                        if (verbose > 2)
-                          obatched(clog) << "recorded buildid=" << buildid << " file=" << srps
-                                         << " mtime=" << sfs.st_mtime
-                                         << " as source " << dwarfsrc << endl;
-
-                        ps_upsert_files
-                          .reset()
-                          .bind(1, srps)
-                          .step_ok_done();
-
-                        // register the dwarfsrc name in the interning table too
-                        ps_upsert_files
-                          .reset()
-                          .bind(1, dwarfsrc)
-                          .step_ok_done();
-
-                        ps_upsert_s
-                          .reset()
-                          .bind(1, buildid)
-                          .bind(2, dwarfsrc)
-                          .bind(3, srps)
-                          .bind(4, sfs.st_mtime)
-                          .step_ok_done();
-
-			inc_metric("found_sourcerefs_total","source","files");
-                      }
-                  }
-
-                ps_scan_done
-                  .reset()
-                  .bind(1, rps)
-                  .bind(2, f->fts_statp->st_mtime)
-                  .bind(3, f->fts_statp->st_size)
-                  .step_ok_done();
-
-                if (verbose > 2)
-                  obatched(clog) << "recorded buildid=" << buildid << " file=" << rps
-                                 << " mtime=" << f->fts_statp->st_mtime << " atype="
-                                 << (executable_p ? "E" : "")
-                                 << (debuginfo_p ? "D" : "") << endl;
-              }
-              break;
-
-            case FTS_ERR:
-            case FTS_NS:
-              throw libc_exception(f->fts_errno, string("fts/file traversal ") + string(f->fts_path));
-
-            default:
-            case FTS_SL: /* ignore symlinks; seen in non-L mode only */
-              break;
-            }
-
-          if ((verbose && f->fts_info == FTS_DP) ||
-              (verbose > 1 && f->fts_info == FTS_F))
-            obatched(clog) << "fts/file traversing " << rps << ", scanned=" << fts_scanned
-                 << ", regex-skipped=" << fts_regex
-                 << ", cached=" << fts_cached << ", debuginfo=" << fts_debuginfo
-                 << ", executable=" << fts_executable << ", source=" << fts_sourcefiles << endl;
-        }
-      catch (const reportable_exception& e)
-        {
-          e.report(clog);
+          inc_metric("found_sourcerefs_total","source","files");
         }
     }
-  fts_close (fts);
 
-  gettimeofday (&tv_end, NULL);
-  double deltas = (tv_end.tv_sec - tv_start.tv_sec) + (tv_end.tv_usec - tv_start.tv_usec)*0.000001;
+  ps_scan_done
+    .reset()
+    .bind(1, rps)
+    .bind(2, st.st_mtime)
+    .bind(3, st.st_size)
+    .step_ok_done();
 
-  obatched(clog) << "fts/file traversed " << dir << " in " << deltas << "s, scanned=" << fts_scanned
-                 << ", regex-skipped=" << fts_regex
-                 << ", cached=" << fts_cached << ", debuginfo=" << fts_debuginfo
-                 << ", executable=" << fts_executable << ", source=" << fts_sourcefiles << endl;
+  if (verbose > 2)
+    obatched(clog) << "recorded buildid=" << buildid << " file=" << rps
+                   << " mtime=" << st.st_mtime << " atype="
+                   << (executable_p ? "E" : "")
+                   << (debuginfo_p ? "D" : "") << endl;
 }
 
 
-static void*
-thread_main_scan_source_file_path (void* arg)
-{
-  string dir = string((const char*) arg);
-
-  unsigned rescan_timer = 0;
-  sig_atomic_t forced_rescan_count = 0;
-  set_metric("thread_timer_max", "file", dir, rescan_s);
-  set_metric("thread_tid", "file", dir, tid());
-  while (! interrupted)
-    {
-      set_metric("thread_timer", "file", dir, rescan_timer);
-      set_metric("thread_forced_total", "file", dir, forced_rescan_count);
-      if (rescan_s && rescan_timer > rescan_s)
-        rescan_timer = 0;
-      if (sigusr1 != forced_rescan_count)
-        {
-          forced_rescan_count = sigusr1;
-          rescan_timer = 0;
-        }
-      if (rescan_timer == 0)
-        try
-          {
-            set_metric("thread_working", "file", dir, time(NULL));
-            inc_metric("thread_work_total", "file", dir);
-            scan_source_file_path (dir);
-            set_metric("thread_working", "file", dir, 0);
-          }
-        catch (const sqlite_exception& e)
-          {
-            obatched(cerr) << e.message << endl;
-          }
-      sleep (1);
-      rescan_timer ++;
-    }
-
-  return 0;
-}
-
-
-////////////////////////////////////////////////////////////////////////
 
 
 
-
-// Analyze given *.rpm file of given age; record buildids / exec/debuginfo-ness of its
+// Analyze given archive file of given age; record buildids / exec/debuginfo-ness of its
 // constituent files with given upsert statements.
 static void
-rpm_classify (const string& rps, sqlite_ps& ps_upsert_buildids, sqlite_ps& ps_upsert_files,
-              sqlite_ps& ps_upsert_de, sqlite_ps& ps_upsert_sref, sqlite_ps& ps_upsert_sdef,
-              time_t mtime,
-              unsigned& fts_executable, unsigned& fts_debuginfo, unsigned& fts_sref, unsigned& fts_sdef,
-              bool& fts_sref_complete_p)
+archive_classify (const string& rps, string& archive_extension,
+                  sqlite_ps& ps_upsert_buildids, sqlite_ps& ps_upsert_files,
+                  sqlite_ps& ps_upsert_de, sqlite_ps& ps_upsert_sref, sqlite_ps& ps_upsert_sdef,
+                  time_t mtime,
+                  unsigned& fts_executable, unsigned& fts_debuginfo, unsigned& fts_sref, unsigned& fts_sdef,
+                  bool& fts_sref_complete_p)
 {
-  string popen_cmd = string("rpm2cpio " + shell_escape(rps));
-  FILE* fp = popen (popen_cmd.c_str(), "r"); // "e" O_CLOEXEC?
-  if (fp == NULL)
-    throw libc_exception (errno, string("popen ") + popen_cmd);
-  defer_dtor<FILE*,int> fp_closer (fp, pclose);
+  string archive_decoder = "/dev/null";
+  for (auto&& arch : scan_archives)
+    if (string_endswith(rps, arch.first))
+      {
+        archive_extension = arch.first;
+        archive_decoder = arch.second;
+      }
+
+  FILE* fp;
+  defer_dtor<FILE*,int>::dtor_fn dfn;
+  if (archive_decoder != "cat")
+    {
+      string popen_cmd = archive_decoder + " " + shell_escape(rps);
+      fp = popen (popen_cmd.c_str(), "r"); // "e" O_CLOEXEC?
+      dfn = pclose;
+      if (fp == NULL)
+        throw libc_exception (errno, string("popen ") + popen_cmd);
+    }
+  else
+    {
+      fp = fopen (rps.c_str(), "r");
+      dfn = fclose;
+      if (fp == NULL)
+        throw libc_exception (errno, string("fopen ") + rps);
+    }
+  defer_dtor<FILE*,int> fp_closer (fp, dfn);
 
   struct archive *a;
   a = archive_read_new();
@@ -1879,23 +2507,26 @@
     throw archive_exception("cannot create archive reader");
   defer_dtor<struct archive*,int> archive_closer (a, archive_read_free);
 
-  int rc = archive_read_support_format_cpio(a);
+  int rc = archive_read_support_format_all(a);
   if (rc != ARCHIVE_OK)
-    throw archive_exception(a, "cannot select cpio format");
+    throw archive_exception(a, "cannot select all formats");
   rc = archive_read_support_filter_all(a);
   if (rc != ARCHIVE_OK)
     throw archive_exception(a, "cannot select all filters");
 
   rc = archive_read_open_FILE (a, fp);
   if (rc != ARCHIVE_OK)
-    throw archive_exception(a, "cannot open archive from rpm2cpio pipe");
+    throw archive_exception(a, "cannot open archive from pipe");
 
   if (verbose > 3)
-    obatched(clog) << "rpm2cpio|libarchive scanning " << rps << endl;
+    obatched(clog) << "libarchive scanning " << rps << endl;
 
-  while(1) // parse cpio archive entries
+  while(1) // parse archive entries
     {
-      try
+    if (interrupted)
+      break;
+
+    try
         {
           struct archive_entry *e;
           rc = archive_read_next_header (a, &e);
@@ -1905,17 +2536,14 @@
           if (! S_ISREG(archive_entry_mode (e))) // skip non-files completely
             continue;
 
-          string fn = archive_entry_pathname (e);
-          if (fn.size() > 1 && fn[0] == '.')
-            fn = fn.substr(1); // trim off the leading '.'
+          string fn = canonicalized_archive_entry_pathname (e);
 
           if (verbose > 3)
-            obatched(clog) << "rpm2cpio|libarchive checking " << fn << endl;
+            obatched(clog) << "libarchive checking " << fn << endl;
 
           // extract this file to a temporary file
-          const char *tmpdir_env = getenv ("TMPDIR") ?: "/tmp";
           char* tmppath = NULL;
-          rc = asprintf (&tmppath, "%s/debuginfod.XXXXXX", tmpdir_env);
+          rc = asprintf (&tmppath, "%s/debuginfod.XXXXXX", tmpdir.c_str());
           if (rc < 0)
             throw libc_exception (ENOMEM, "cannot allocate tmppath");
           defer_dtor<void*,void> tmmpath_freer (tmppath, free);
@@ -1967,15 +2595,24 @@
                       continue;
                     }
 
+                  // PR25548: store canonicalized source path
+                  const string& dwarfsrc = s;
+                  string dwarfsrc_canon = canon_pathname (dwarfsrc);
+                  if (dwarfsrc_canon != dwarfsrc)
+                    {
+                      if (verbose > 3)
+                        obatched(clog) << "canonicalized src=" << dwarfsrc << " alias=" << dwarfsrc_canon << endl;
+                    }
+
                   ps_upsert_files
                     .reset()
-                    .bind(1, s)
+                    .bind(1, dwarfsrc_canon)
                     .step_ok_done();
 
                   ps_upsert_sref
                     .reset()
                     .bind(1, buildid)
-                    .bind(2, s)
+                    .bind(2, dwarfsrc_canon)
                     .step_ok_done();
 
                   fts_sref ++;
@@ -2027,64 +2664,274 @@
 
 
 
-// scan for *.rpm files
+// scan for archive files such as .rpm
 static void
-scan_source_rpm_path (const string& dir)
+scan_archive_file (const string& rps, const stat_t& st,
+                   sqlite_ps& ps_upsert_buildids,
+                   sqlite_ps& ps_upsert_files,
+                   sqlite_ps& ps_upsert_de,
+                   sqlite_ps& ps_upsert_sref,
+                   sqlite_ps& ps_upsert_sdef,
+                   sqlite_ps& ps_query,
+                   sqlite_ps& ps_scan_done,
+                   unsigned& fts_cached,
+                   unsigned& fts_executable,
+                   unsigned& fts_debuginfo,
+                   unsigned& fts_sref,
+                   unsigned& fts_sdef)
 {
-  obatched(clog) << "fts/rpm traversing " << dir << endl;
+  /* See if we know of it already. */
+  int rc = ps_query
+    .reset()
+    .bind(1, rps)
+    .bind(2, st.st_mtime)
+    .step();
+  ps_query.reset();
+  if (rc == SQLITE_ROW) // i.e., a result, as opposed to DONE (no results)
+    // no need to recheck a file/version we already know
+    // specifically, no need to parse this archive again, since we already have
+    // it as a D or E or S record,
+    // (so is stored with buildid=NULL)
+    {
+      fts_cached ++;
+      return;
+    }
 
-  sqlite_ps ps_upsert_buildids (db, "rpm-buildid-intern", "insert or ignore into " BUILDIDS "_buildids VALUES (NULL, ?);");
-  sqlite_ps ps_upsert_files (db, "rpm-file-intern", "insert or ignore into " BUILDIDS "_files VALUES (NULL, ?);");
-  sqlite_ps ps_upsert_de (db, "rpm-de-insert",
+  // intern the archive file name
+  ps_upsert_files
+    .reset()
+    .bind(1, rps)
+    .step_ok_done();
+
+  // extract the archive contents
+  unsigned my_fts_executable = 0, my_fts_debuginfo = 0, my_fts_sref = 0, my_fts_sdef = 0;
+  bool my_fts_sref_complete_p = true;
+  try
+    {
+      string archive_extension;
+      archive_classify (rps, archive_extension,
+                        ps_upsert_buildids, ps_upsert_files,
+                        ps_upsert_de, ps_upsert_sref, ps_upsert_sdef, // dalt
+                        st.st_mtime,
+                        my_fts_executable, my_fts_debuginfo, my_fts_sref, my_fts_sdef,
+                        my_fts_sref_complete_p);
+      add_metric ("scanned_bytes_total","source",archive_extension + " archive",
+                  st.st_size);
+      inc_metric ("scanned_files_total","source",archive_extension + " archive");
+      add_metric("found_debuginfo_total","source",archive_extension + " archive",
+                 my_fts_debuginfo);
+      add_metric("found_executable_total","source",archive_extension + " archive",
+                 my_fts_executable);
+      add_metric("found_sourcerefs_total","source",archive_extension + " archive",
+                 my_fts_sref);
+    }
+  catch (const reportable_exception& e)
+    {
+      e.report(clog);
+    }
+
+  if (verbose > 2)
+    obatched(clog) << "scanned archive=" << rps
+                   << " mtime=" << st.st_mtime
+                   << " executables=" << my_fts_executable
+                   << " debuginfos=" << my_fts_debuginfo
+                   << " srefs=" << my_fts_sref
+                   << " sdefs=" << my_fts_sdef
+                   << endl;
+
+  fts_executable += my_fts_executable;
+  fts_debuginfo += my_fts_debuginfo;
+  fts_sref += my_fts_sref;
+  fts_sdef += my_fts_sdef;
+
+  if (my_fts_sref_complete_p) // leave incomplete?
+    ps_scan_done
+      .reset()
+      .bind(1, rps)
+      .bind(2, st.st_mtime)
+      .bind(3, st.st_size)
+      .step_ok_done();
+}
+
+
+
+////////////////////////////////////////////////////////////////////////
+
+
+
+// The thread that consumes file names off of the scanq.  We hold
+// the persistent sqlite_ps's at this level and delegate file/archive
+// scanning to other functions.
+static void*
+thread_main_scanner (void* arg)
+{
+  (void) arg;
+
+  // all the prepared statements fit to use, the _f_ set:
+  sqlite_ps ps_f_upsert_buildids (db, "file-buildids-intern", "insert or ignore into " BUILDIDS "_buildids VALUES (NULL, ?);");
+  sqlite_ps ps_f_upsert_files (db, "file-files-intern", "insert or ignore into " BUILDIDS "_files VALUES (NULL, ?);");
+  sqlite_ps ps_f_upsert_de (db, "file-de-upsert",
+                          "insert or ignore into " BUILDIDS "_f_de "
+                          "(buildid, debuginfo_p, executable_p, file, mtime) "
+                          "values ((select id from " BUILDIDS "_buildids where hex = ?),"
+                          "        ?,?,"
+                          "        (select id from " BUILDIDS "_files where name = ?), ?);");
+  sqlite_ps ps_f_upsert_s (db, "file-s-upsert",
+                         "insert or ignore into " BUILDIDS "_f_s "
+                         "(buildid, artifactsrc, file, mtime) "
+                         "values ((select id from " BUILDIDS "_buildids where hex = ?),"
+                         "        (select id from " BUILDIDS "_files where name = ?),"
+                         "        (select id from " BUILDIDS "_files where name = ?),"
+                         "        ?);");
+  sqlite_ps ps_f_query (db, "file-negativehit-find",
+                        "select 1 from " BUILDIDS "_file_mtime_scanned where sourcetype = 'F' "
+                        "and file = (select id from " BUILDIDS "_files where name = ?) and mtime = ?;");
+  sqlite_ps ps_f_scan_done (db, "file-scanned",
+                          "insert or ignore into " BUILDIDS "_file_mtime_scanned (sourcetype, file, mtime, size)"
+                          "values ('F', (select id from " BUILDIDS "_files where name = ?), ?, ?);");
+
+  // and now for the _r_ set
+  sqlite_ps ps_r_upsert_buildids (db, "rpm-buildid-intern", "insert or ignore into " BUILDIDS "_buildids VALUES (NULL, ?);");
+  sqlite_ps ps_r_upsert_files (db, "rpm-file-intern", "insert or ignore into " BUILDIDS "_files VALUES (NULL, ?);");
+  sqlite_ps ps_r_upsert_de (db, "rpm-de-insert",
                           "insert or ignore into " BUILDIDS "_r_de (buildid, debuginfo_p, executable_p, file, mtime, content) values ("
                           "(select id from " BUILDIDS "_buildids where hex = ?), ?, ?, "
                           "(select id from " BUILDIDS "_files where name = ?), ?, "
                           "(select id from " BUILDIDS "_files where name = ?));");
-  sqlite_ps ps_upsert_sref (db, "rpm-sref-insert",
+  sqlite_ps ps_r_upsert_sref (db, "rpm-sref-insert",
                             "insert or ignore into " BUILDIDS "_r_sref (buildid, artifactsrc) values ("
                             "(select id from " BUILDIDS "_buildids where hex = ?), "
                             "(select id from " BUILDIDS "_files where name = ?));");
-  sqlite_ps ps_upsert_sdef (db, "rpm-sdef-insert",
+  sqlite_ps ps_r_upsert_sdef (db, "rpm-sdef-insert",
                             "insert or ignore into " BUILDIDS "_r_sdef (file, mtime, content) values ("
                             "(select id from " BUILDIDS "_files where name = ?), ?,"
                             "(select id from " BUILDIDS "_files where name = ?));");
-  sqlite_ps ps_query (db, "rpm-negativehit-query",
+  sqlite_ps ps_r_query (db, "rpm-negativehit-query",
                       "select 1 from " BUILDIDS "_file_mtime_scanned where "
                       "sourcetype = 'R' and file = (select id from " BUILDIDS "_files where name = ?) and mtime = ?;");
-  sqlite_ps ps_scan_done (db, "rpm-scanned",
+  sqlite_ps ps_r_scan_done (db, "rpm-scanned",
                           "insert or ignore into " BUILDIDS "_file_mtime_scanned (sourcetype, file, mtime, size)"
                           "values ('R', (select id from " BUILDIDS "_files where name = ?), ?, ?);");
 
-  char * const dirs[] = { (char*) dir.c_str(), NULL };
 
-  struct timeval tv_start, tv_end;
-  gettimeofday (&tv_start, NULL);
-  unsigned fts_scanned=0, fts_regex=0, fts_cached=0, fts_debuginfo=0;
-  unsigned fts_executable=0, fts_rpm = 0, fts_sref=0, fts_sdef=0;
+  unsigned fts_cached = 0, fts_executable = 0, fts_debuginfo = 0, fts_sourcefiles = 0;
+  unsigned fts_sref = 0, fts_sdef = 0;
 
-  FTS *fts = fts_open (dirs,
-                       (traverse_logical ? FTS_LOGICAL : FTS_PHYSICAL|FTS_XDEV)
-                       | FTS_NOCHDIR /* multithreaded */,
-                       NULL);
-  if (fts == NULL)
+  add_metric("thread_count", "role", "scan", 1);
+  add_metric("thread_busy", "role", "scan", 1);
+  while (! interrupted)
     {
-      obatched(cerr) << "cannot fts_open " << dir << endl;
-      return;
+      scan_payload p;
+
+      add_metric("thread_busy", "role", "scan", -1);
+      bool gotone = scanq.wait_front(p);
+      add_metric("thread_busy", "role", "scan", 1);
+
+      if (! gotone) continue; // go back to waiting
+
+      try
+        {
+          bool scan_archive = false;
+          for (auto&& arch : scan_archives)
+            if (string_endswith(p.first, arch.first))
+              scan_archive = true;
+
+          if (scan_archive)
+            scan_archive_file (p.first, p.second,
+                               ps_r_upsert_buildids,
+                               ps_r_upsert_files,
+                               ps_r_upsert_de,
+                               ps_r_upsert_sref,
+                               ps_r_upsert_sdef,
+                               ps_r_query,
+                               ps_r_scan_done,
+                               fts_cached,
+                               fts_executable,
+                               fts_debuginfo,
+                               fts_sref,
+                               fts_sdef);
+
+          if (scan_files) // NB: maybe "else if" ?
+            scan_source_file (p.first, p.second,
+                              ps_f_upsert_buildids,
+                              ps_f_upsert_files,
+                              ps_f_upsert_de,
+                              ps_f_upsert_s,
+                              ps_f_query,
+                              ps_f_scan_done,
+                              fts_cached, fts_executable, fts_debuginfo, fts_sourcefiles);
+        }
+      catch (const reportable_exception& e)
+        {
+          e.report(cerr);
+        }
+
+      if (fts_cached || fts_executable || fts_debuginfo || fts_sourcefiles || fts_sref || fts_sdef)
+        {} // NB: not just if a successful scan - we might have encountered -ENOSPC & failed
+      (void) statfs_free_enough_p(db_path, "database"); // report sqlite filesystem size
+      (void) statfs_free_enough_p(tmpdir, "tmpdir"); // this too, in case of fdcache/tmpfile usage
+
+      // finished a scanning step -- not a "loop", because we just
+      // consume the traversal loop's work, whenever
+      inc_metric("thread_work_total","role","scan");
     }
 
+
+  add_metric("thread_busy", "role", "scan", -1);
+  return 0;
+}
+
+
+
+// The thread that traverses all the source_paths and enqueues all the
+// matching files into the file/archive scan queue.
+static void
+scan_source_paths()
+{
+  // NB: fedora 31 glibc/fts(3) crashes inside fts_read() on empty
+  // path list.
+  if (source_paths.empty())
+    return;
+
+  // Turn the source_paths into an fts(3)-compatible char**.  Since
+  // source_paths[] does not change after argv processing, the
+  // c_str()'s are safe to keep around awile.
+  vector<const char *> sps;
+  for (auto&& sp: source_paths)
+    sps.push_back(sp.c_str());
+  sps.push_back(NULL);
+
+  FTS *fts = fts_open ((char * const *)sps.data(),
+                      (traverse_logical ? FTS_LOGICAL : FTS_PHYSICAL|FTS_XDEV)
+                      | FTS_NOCHDIR /* multithreaded */,
+                      NULL);
+  if (fts == NULL)
+    throw libc_exception(errno, "cannot fts_open");
+  defer_dtor<FTS*,int> fts_cleanup (fts, fts_close);
+
+  struct timespec ts_start, ts_end;
+  clock_gettime (CLOCK_MONOTONIC, &ts_start);
+  unsigned fts_scanned = 0, fts_regex = 0;
+
   FTSENT *f;
   while ((f = fts_read (fts)) != NULL)
-    {
-      semaphore_borrower handle_one_file (scan_concurrency_sem);
+  {
+    if (interrupted) break;
 
-      fts_scanned ++;
-      if (interrupted)
+    if (sigusr2 != forced_groom_count) // stop early if groom triggered
+      {
+        scanq.clear(); // clear previously issued work for scanner threads
         break;
+      }
 
-      if (verbose > 2)
-        obatched(clog) << "fts/rpm traversing " << f->fts_path << endl;
+    fts_scanned ++;
 
-      try
+    if (verbose > 2)
+      obatched(clog) << "fts traversing " << f->fts_path << endl;
+
+    switch (f->fts_info)
+      {
+      case FTS_F:
         {
           /* Found a file.  Convert it to an absolute path, so
              the buildid database does not have relative path
@@ -2101,176 +2948,104 @@
           if (!ri || rx)
             {
               if (verbose > 3)
-                obatched(clog) << "fts/rpm skipped by regex " << (!ri ? "I" : "") << (rx ? "X" : "") << endl;
+                obatched(clog) << "fts skipped by regex "
+                               << (!ri ? "I" : "") << (rx ? "X" : "") << endl;
               fts_regex ++;
-              continue;
+              if (!ri)
+                inc_metric("traversed_total","type","file-skipped-I");
+              if (rx)
+                inc_metric("traversed_total","type","file-skipped-X");
             }
-
-          switch (f->fts_info)
+          else
             {
-            case FTS_D:
-              break;
-
-            case FTS_DP:
-              break;
-
-            case FTS_F:
-              {
-                // heuristic: reject if file name does not end with ".rpm"
-                // (alternative: try opening with librpm etc., caching)
-                string suffix = ".rpm";
-                if (rps.size() < suffix.size() ||
-                    rps.substr(rps.size()-suffix.size()) != suffix)
-                  continue;
-                fts_rpm ++;
-
-                /* See if we know of it already. */
-                int rc = ps_query
-                  .reset()
-                  .bind(1, rps)
-                  .bind(2, f->fts_statp->st_mtime)
-                  .step();
-                ps_query.reset();
-                if (rc == SQLITE_ROW) // i.e., a result, as opposed to DONE (no results)
-                  // no need to recheck a file/version we already know
-                  // specifically, no need to parse this rpm again, since we already have
-                  // it as a D or E or S record,
-                  // (so is stored with buildid=NULL)
-                  {
-                    fts_cached ++;
-                    continue;
-                  }
-
-                // intern the rpm file name
-                ps_upsert_files
-                  .reset()
-                  .bind(1, rps)
-                  .step_ok_done();
-
-                // extract the rpm contents via popen("rpm2cpio") | libarchive | loop-of-elf_classify()
-                unsigned my_fts_executable = 0, my_fts_debuginfo = 0, my_fts_sref = 0, my_fts_sdef = 0;
-                bool my_fts_sref_complete_p = true;
-                try
-                  {
-                    rpm_classify (rps,
-                                  ps_upsert_buildids, ps_upsert_files,
-                                  ps_upsert_de, ps_upsert_sref, ps_upsert_sdef, // dalt
-                                  f->fts_statp->st_mtime,
-                                  my_fts_executable, my_fts_debuginfo, my_fts_sref, my_fts_sdef,
-                                  my_fts_sref_complete_p);
-                    inc_metric ("scanned_total","source","rpm");
-                    add_metric("found_debuginfo_total","source","rpm",
-                               my_fts_debuginfo);
-                    add_metric("found_executable_total","source","rpm",
-                               my_fts_executable);
-                    add_metric("found_sourcerefs_total","source","rpm",
-                               my_fts_sref);
-                  }
-                catch (const reportable_exception& e)
-                  {
-                    e.report(clog);
-                  }
-
-                if (verbose > 2)
-                  obatched(clog) << "scanned rpm=" << rps
-                                 << " mtime=" << f->fts_statp->st_mtime
-                                 << " executables=" << my_fts_executable
-                                 << " debuginfos=" << my_fts_debuginfo
-                                 << " srefs=" << my_fts_sref
-                                 << " sdefs=" << my_fts_sdef
-                                 << endl;
- 
-                fts_executable += my_fts_executable;
-                fts_debuginfo += my_fts_debuginfo;
-                fts_sref += my_fts_sref;
-                fts_sdef += my_fts_sdef;
-
-                if (my_fts_sref_complete_p) // leave incomplete?
-                  ps_scan_done
-                    .reset()
-                    .bind(1, rps)
-                    .bind(2, f->fts_statp->st_mtime)
-                    .bind(3, f->fts_statp->st_size)
-                    .step_ok_done();
-              }
-              break;
-
-            case FTS_ERR:
-            case FTS_NS:
-              throw libc_exception(f->fts_errno, string("fts/rpm traversal ") + string(f->fts_path));
-
-            default:
-            case FTS_SL: /* ignore symlinks; seen in non-L mode only */
-              break;
+              scanq.push_back (make_pair(rps, *f->fts_statp));
+              inc_metric("traversed_total","type","file");
             }
-
-          if ((verbose && f->fts_info == FTS_DP) ||
-              (verbose > 1 && f->fts_info == FTS_F))
-            obatched(clog) << "fts/rpm traversing " << rps << ", scanned=" << fts_scanned
-                           << ", regex-skipped=" << fts_regex
-                           << ", rpm=" << fts_rpm << ", cached=" << fts_cached << ", debuginfo=" << fts_debuginfo
-                           << ", executable=" << fts_executable
-                           << ", sourcerefs=" << fts_sref << ", sourcedefs=" << fts_sdef << endl;
         }
-      catch (const reportable_exception& e)
+        break;
+
+      case FTS_ERR:
+      case FTS_NS:
+        // report on some types of errors because they may reflect fixable misconfiguration
         {
-          e.report(clog);
+          auto x = libc_exception(f->fts_errno, string("fts traversal ") + string(f->fts_path));
+          x.report(cerr);
         }
-    }
-  fts_close (fts);
+        inc_metric("traversed_total","type","error");
+        break;
 
-  gettimeofday (&tv_end, NULL);
-  double deltas = (tv_end.tv_sec - tv_start.tv_sec) + (tv_end.tv_usec - tv_start.tv_usec)*0.000001;
+      case FTS_SL: // ignore, but count because debuginfod -L would traverse these
+        inc_metric("traversed_total","type","symlink");
+        break;
 
-  obatched(clog) << "fts/rpm traversed " << dir << " in " << deltas << "s, scanned=" << fts_scanned
-                 << ", regex-skipped=" << fts_regex
-                 << ", rpm=" << fts_rpm << ", cached=" << fts_cached << ", debuginfo=" << fts_debuginfo
-                 << ", executable=" << fts_executable
-                 << ", sourcerefs=" << fts_sref << ", sourcedefs=" << fts_sdef << endl;
+      case FTS_D: // ignore
+        inc_metric("traversed_total","type","directory");
+        break;
+
+      default: // ignore
+        inc_metric("traversed_total","type","other");
+        break;
+      }
+  }
+  clock_gettime (CLOCK_MONOTONIC, &ts_end);
+  double deltas = (ts_end.tv_sec - ts_start.tv_sec) + (ts_end.tv_nsec - ts_start.tv_nsec)/1.e9;
+
+  obatched(clog) << "fts traversed source paths in " << deltas << "s, scanned=" << fts_scanned
+                 << ", regex-skipped=" << fts_regex << endl;
 }
 
 
-
 static void*
-thread_main_scan_source_rpm_path (void* arg)
+thread_main_fts_source_paths (void* arg)
 {
-  string dir = string((const char*) arg);
+  (void) arg; // ignore; we operate on global data
 
-  unsigned rescan_timer = 0;
-  sig_atomic_t forced_rescan_count = 0;
-  set_metric("thread_timer_max", "rpm", dir, rescan_s);
-  set_metric("thread_tid", "rpm", dir, tid());
+  set_metric("thread_tid", "role","traverse", tid());
+  add_metric("thread_count", "role", "traverse", 1);
+
+  time_t last_rescan = 0;
+
   while (! interrupted)
     {
-      set_metric("thread_timer", "rpm", dir, rescan_timer);
-      set_metric("thread_forced_total", "rpm", dir, forced_rescan_count);
-      if (rescan_s && rescan_timer > rescan_s)
-        rescan_timer = 0;
+      sleep (1);
+      scanq.wait_idle(); // don't start a new traversal while scanners haven't finished the job
+      scanq.done_idle(); // release the hounds
+      if (interrupted) break;
+
+      time_t now = time(NULL);
+      bool rescan_now = false;
+      if (last_rescan == 0) // at least one initial rescan is documented even for -t0
+        rescan_now = true;
+      if (rescan_s > 0 && (long)now > (long)(last_rescan + rescan_s))
+        rescan_now = true;
       if (sigusr1 != forced_rescan_count)
         {
           forced_rescan_count = sigusr1;
-          rescan_timer = 0;
+          rescan_now = true;
         }
-      if (rescan_timer == 0)
-        try
-          {
-            set_metric("thread_working", "rpm", dir, time(NULL));
-            inc_metric("thread_work_total", "rpm", dir);
-            scan_source_rpm_path (dir);
-            set_metric("thread_working", "rpm", dir, 0);
-          }
-        catch (const sqlite_exception& e)
-          {
-            obatched(cerr) << e.message << endl;
-          }
-      sleep (1);
-      rescan_timer ++;
+      if (rescan_now)
+        {
+          set_metric("thread_busy", "role","traverse", 1);
+          try
+            {
+              scan_source_paths();
+            }
+          catch (const reportable_exception& e)
+            {
+              e.report(cerr);
+            }
+          last_rescan = time(NULL); // NB: now was before scanning
+          // finished a traversal loop
+          inc_metric("thread_work_total", "role","traverse");
+          set_metric("thread_busy", "role","traverse", 0);
+        }
     }
 
   return 0;
 }
 
 
+
 ////////////////////////////////////////////////////////////////////////
 
 static void
@@ -2282,7 +3057,11 @@
   obatched(clog) << "database record counts:" << endl;
   while (1)
     {
-      int rc = sqlite3_step (ps_query);
+      if (interrupted) break;
+      if (sigusr1 != forced_rescan_count) // stop early if scan triggered
+        break;
+
+      int rc = ps_query.step();
       if (rc == SQLITE_DONE) break;
       if (rc != SQLITE_ROW)
         throw sqlite_exception(rc, "step");
@@ -2305,8 +3084,10 @@
 {
   obatched(clog) << "grooming database" << endl;
 
-  struct timeval tv_start, tv_end;
-  gettimeofday (&tv_start, NULL);
+  struct timespec ts_start, ts_end;
+  clock_gettime (CLOCK_MONOTONIC, &ts_start);
+
+  database_stats_report();
 
   // scan for files that have disappeared
   sqlite_ps files (db, "check old files", "select s.mtime, s.file, f.name from "
@@ -2319,6 +3100,8 @@
   files.reset();
   while(1)
     {
+      if (interrupted) break;
+
       int rc = files.step();
       if (rc != SQLITE_ROW)
         break;
@@ -2335,7 +3118,13 @@
           files_del_f_de.reset().bind(1,fileid).bind(2,mtime).step_ok_done();
           files_del_r_de.reset().bind(1,fileid).bind(2,mtime).step_ok_done();
           files_del_scan.reset().bind(1,fileid).bind(2,mtime).step_ok_done();
+          inc_metric("groomed_total", "decision", "stale");
         }
+      else
+        inc_metric("groomed_total", "decision", "fresh");
+
+      if (sigusr1 != forced_rescan_count) // stop early if scan triggered
+        break;
     }
   files.reset();
 
@@ -2347,6 +3136,8 @@
                           "and not exists (select 1 from " BUILDIDS "_r_de d where " BUILDIDS "_buildids.id = d.buildid)");
   buildids_del.reset().step_ok_done();
 
+  if (interrupted) return;
+
   // NB: "vacuum" is too heavy for even daily runs: it rewrites the entire db, so is done as maxigroom -G
   sqlite_ps g1 (db, "incremental vacuum", "pragma incremental_vacuum");
   g1.reset().step_ok_done();
@@ -2357,10 +3148,16 @@
 
   database_stats_report();
 
-  sqlite3_db_release_memory(db); // shrink the process if possible
+  (void) statfs_free_enough_p(db_path, "database"); // report sqlite filesystem size
 
-  gettimeofday (&tv_end, NULL);
-  double deltas = (tv_end.tv_sec - tv_start.tv_sec) + (tv_end.tv_usec - tv_start.tv_usec)*0.000001;
+  sqlite3_db_release_memory(db); // shrink the process if possible
+  sqlite3_db_release_memory(dbq); // ... for both connections
+
+  fdcache.limit(0,0); // release the fdcache contents
+  fdcache.limit(fdcache_fds,fdcache_mbs); // restore status quo parameters
+
+  clock_gettime (CLOCK_MONOTONIC, &ts_end);
+  double deltas = (ts_end.tv_sec - ts_start.tv_sec) + (ts_end.tv_nsec - ts_start.tv_nsec)/1.e9;
 
   obatched(clog) << "groomed database in " << deltas << "s" << endl;
 }
@@ -2369,35 +3166,46 @@
 static void*
 thread_main_groom (void* /*arg*/)
 {
-  unsigned groom_timer = 0;
-  sig_atomic_t forced_groom_count = 0;
-  set_metric("thread_timer_max", "role", "groom", groom_s);
   set_metric("thread_tid", "role", "groom", tid());
-  while (! interrupted)
+  add_metric("thread_count", "role", "groom", 1);
+
+  time_t last_groom = 0;
+
+  while (1)
     {
-      set_metric("thread_timer", "role", "groom", groom_timer);
-      set_metric("thread_forced_total", "role", "groom", forced_groom_count);      
-      if (groom_s && groom_timer > groom_s)
-        groom_timer = 0;
+      sleep (1);
+      scanq.wait_idle(); // PR25394: block scanners during grooming!
+      if (interrupted) break;
+
+      time_t now = time(NULL);
+      bool groom_now = false;
+      if (last_groom == 0) // at least one initial groom is documented even for -g0
+        groom_now = true;
+      if (groom_s > 0 && (long)now > (long)(last_groom + groom_s))
+        groom_now = true;
       if (sigusr2 != forced_groom_count)
         {
           forced_groom_count = sigusr2;
-          groom_timer = 0;
+          groom_now = true;
         }
-      if (groom_timer == 0)
-        try
-          {
-            set_metric("thread_working", "role", "groom", time(NULL));
-            inc_metric("thread_work_total", "role", "groom");
-            groom ();
-            set_metric("thread_working", "role", "groom", 0);
-          }
-        catch (const sqlite_exception& e)
-          {
-            obatched(cerr) << e.message << endl;
-          }
-      sleep (1);
-      groom_timer ++;
+      if (groom_now)
+        {
+          set_metric("thread_busy", "role", "groom", 1);
+          try
+            {
+              groom ();
+            }
+          catch (const sqlite_exception& e)
+            {
+              obatched(cerr) << e.message << endl;
+            }
+          last_groom = time(NULL); // NB: now was before grooming
+          // finished a grooming loop
+          inc_metric("thread_work_total", "role", "groom");
+          set_metric("thread_busy", "role", "groom", 0);
+        }
+
+      scanq.done_idle();
     }
 
   return 0;
@@ -2414,6 +3222,8 @@
 
   if (db)
     sqlite3_interrupt (db);
+  if (dbq)
+    sqlite3_interrupt (dbq);
 
   // NB: don't do anything else in here
 }
@@ -2473,6 +3283,8 @@
   /* Tell the library which version we are expecting.  */
   elf_version (EV_CURRENT);
 
+  tmpdir = string(getenv("TMPDIR") ?: "/tmp");
+
   /* Set computed default values. */
   db_path = string(getenv("HOME") ?: "/") + string("/.debuginfod.sqlite"); /* XDG? */
   int rc = regcomp (& file_include_regex, ".*", REG_EXTENDED|REG_NOSUB); // match everything
@@ -2482,6 +3294,17 @@
   if (rc != 0)
     error (EXIT_FAILURE, 0, "regcomp failure: %d", rc);
 
+  // default parameters for fdcache are computed from system stats
+  struct statfs sfs;
+  rc = statfs(tmpdir.c_str(), &sfs);
+  if (rc < 0)
+    fdcache_mbs = 1024; // 1 gigabyte
+  else
+    fdcache_mbs = sfs.f_bavail * sfs.f_bsize / 1024 / 1024 / 4; // 25% of free space
+  fdcache_mintmp = 25; // emergency flush at 25% remaining (75% full)
+  fdcache_prefetch = 64; // guesstimate storage is this much less costly than re-decompression
+  fdcache_fds = (concurrency + fdcache_prefetch) * 2;
+
   /* Parse and process arguments.  */
   int remaining;
   argp_program_version_hook = print_version; // this works
@@ -2490,8 +3313,10 @@
       error (EXIT_FAILURE, 0,
              "unexpected argument: %s", argv[remaining]);
 
-  if (!scan_rpms && !scan_files && source_paths.size()>0)
-    obatched(clog) << "warning: without -F and/or -R, ignoring PATHs" << endl;
+  if (scan_archives.size()==0 && !scan_files && source_paths.size()>0)
+    obatched(clog) << "warning: without -F -R -U -Z, ignoring PATHs" << endl;
+
+  fdcache.limit(fdcache_fds, fdcache_mbs);
 
   (void) signal (SIGPIPE, SIG_IGN); // microhttpd can generate it incidentally, ignore
   (void) signal (SIGINT, signal_handler); // ^C
@@ -2500,11 +3325,10 @@
   (void) signal (SIGUSR1, sigusr1_handler); // end-user
   (void) signal (SIGUSR2, sigusr2_handler); // end-user
 
-  // do this before any threads start
-  scan_concurrency_sem = new semaphore(concurrency);
-
   /* Get database ready. */
   rc = sqlite3_open_v2 (db_path.c_str(), &db, (SQLITE_OPEN_READWRITE
+                                               |SQLITE_OPEN_URI
+                                               |SQLITE_OPEN_PRIVATECACHE
                                                |SQLITE_OPEN_CREATE
                                                |SQLITE_OPEN_FULLMUTEX), /* thread-safe */
                         NULL);
@@ -2520,15 +3344,30 @@
              "cannot open %s, consider deleting database: %s", db_path.c_str(), sqlite3_errmsg(db));
     }
 
+  // open the readonly query variant
+  // NB: PRIVATECACHE allows web queries to operate in parallel with
+  // much other grooming/scanning operation.
+  rc = sqlite3_open_v2 (db_path.c_str(), &dbq, (SQLITE_OPEN_READONLY
+                                                |SQLITE_OPEN_URI
+                                                |SQLITE_OPEN_PRIVATECACHE
+                                                |SQLITE_OPEN_FULLMUTEX), /* thread-safe */
+                        NULL);
+  if (rc)
+    {
+      error (EXIT_FAILURE, 0,
+             "cannot open %s, consider deleting database: %s", db_path.c_str(), sqlite3_errmsg(dbq));
+    }
+
+
   obatched(clog) << "opened database " << db_path << endl;
   obatched(clog) << "sqlite version " << sqlite3_version << endl;
 
   // add special string-prefix-similarity function used in rpm sref/sdef resolution
-  rc = sqlite3_create_function(db, "sharedprefix", 2, SQLITE_UTF8, NULL,
+  rc = sqlite3_create_function(dbq, "sharedprefix", 2, SQLITE_UTF8, NULL,
                                & sqlite3_sharedprefix_fn, NULL, NULL);
   if (rc != SQLITE_OK)
     error (EXIT_FAILURE, 0,
-           "cannot create sharedprefix( function: %s", sqlite3_errmsg(db));
+           "cannot create sharedprefix function: %s", sqlite3_errmsg(dbq));
 
   if (verbose > 3)
     obatched(clog) << "ddl: " << DEBUGINFOD_SQLITE_DDL << endl;
@@ -2568,7 +3407,9 @@
   if (d4 == NULL && d6 == NULL) // neither ipv4 nor ipv6? boo
     {
       sqlite3 *database = db;
-      db = 0; // for signal_handler not to freak
+      sqlite3 *databaseq = dbq;
+      db = dbq = 0; // for signal_handler not to freak
+      sqlite3_close (databaseq);
       sqlite3_close (database);
       error (EXIT_FAILURE, 0, "cannot start http server at port %d", http_port);
     }
@@ -2611,64 +3452,69 @@
   if (maxigroom)
     obatched(clog) << "maxigroomed database" << endl;
 
-
   obatched(clog) << "search concurrency " << concurrency << endl;
   obatched(clog) << "rescan time " << rescan_s << endl;
+  obatched(clog) << "fdcache fds " << fdcache_fds << endl;
+  obatched(clog) << "fdcache mbs " << fdcache_mbs << endl;
+  obatched(clog) << "fdcache prefetch " << fdcache_prefetch << endl;
+  obatched(clog) << "fdcache tmpdir " << tmpdir << endl;
+  obatched(clog) << "fdcache tmpdir min% " << fdcache_mintmp << endl;
   obatched(clog) << "groom time " << groom_s << endl;
+  if (scan_archives.size()>0)
+    {
+      obatched ob(clog);
+      auto& o = ob << "scanning archive types ";
+      for (auto&& arch : scan_archives)
+	o << arch.first << "(" << arch.second << ") ";
+      o << endl;
+    }
   const char* du = getenv(DEBUGINFOD_URLS_ENV_VAR);
   if (du && du[0] != '\0') // set to non-empty string?
     obatched(clog) << "upstream debuginfod servers: " << du << endl;
 
-  vector<pthread_t> source_file_scanner_threads;
-  vector<pthread_t> source_rpm_scanner_threads;
-  pthread_t groom_thread;
+  vector<pthread_t> all_threads;
 
-  rc = pthread_create (& groom_thread, NULL, thread_main_groom, NULL);
-  if (rc < 0)
-    error (0, 0, "warning: cannot spawn thread (%d) to groom database\n", rc);
- 
-  if (scan_files) for (auto&& it : source_paths)
-    {
-      pthread_t pt;
-      rc = pthread_create (& pt, NULL, thread_main_scan_source_file_path, (void*) it.c_str());
-      if (rc < 0)
-        error (0, 0, "warning: cannot spawn thread (%d) to scan source files %s\n", rc, it.c_str());
-      else
-        source_file_scanner_threads.push_back(pt);
-    }
+  pthread_t pt;
+  rc = pthread_create (& pt, NULL, thread_main_groom, NULL);
+  if (rc)
+    error (EXIT_FAILURE, rc, "cannot spawn thread to groom database\n");
+  else
+    all_threads.push_back(pt);
 
-  if (scan_rpms) for (auto&& it : source_paths)
+  if (scan_files || scan_archives.size() > 0)
     {
-      pthread_t pt;
-      rc = pthread_create (& pt, NULL, thread_main_scan_source_rpm_path, (void*) it.c_str());
-      if (rc < 0)
-        error (0, 0, "warning: cannot spawn thread (%d) to scan source rpms %s\n", rc, it.c_str());
-      else
-        source_rpm_scanner_threads.push_back(pt);
+      rc = pthread_create (& pt, NULL, thread_main_fts_source_paths, NULL);
+      if (rc)
+        error (EXIT_FAILURE, rc, "cannot spawn thread to traverse source paths\n");
+      all_threads.push_back(pt);
+      for (unsigned i=0; i<concurrency; i++)
+        {
+          rc = pthread_create (& pt, NULL, thread_main_scanner, NULL);
+          if (rc)
+            error (EXIT_FAILURE, rc, "cannot spawn thread to scan source files / archives\n");
+          all_threads.push_back(pt);
+        }
     }
 
   /* Trivial main loop! */
   set_metric("ready", 1);
   while (! interrupted)
     pause ();
+  scanq.nuke(); // wake up any remaining scanq-related threads, let them die
   set_metric("ready", 0);
 
   if (verbose)
     obatched(clog) << "stopping" << endl;
 
-  /* Join any source scanning threads. */
-  for (auto&& it : source_file_scanner_threads)
+  /* Join all our threads. */
+  for (auto&& it : all_threads)
     pthread_join (it, NULL);
-  for (auto&& it : source_rpm_scanner_threads)
-    pthread_join (it, NULL);
-  pthread_join (groom_thread, NULL);
-  
+
   /* Stop all the web service threads. */
   if (d4) MHD_stop_daemon (d4);
   if (d6) MHD_stop_daemon (d6);
 
   /* With all threads known dead, we can clean up the global resources. */
-  delete scan_concurrency_sem;
   rc = sqlite3_exec (db, DEBUGINFOD_SQLITE_CLEANUP_DDL, NULL, NULL, NULL);
   if (rc != SQLITE_OK)
     {
@@ -2681,7 +3527,9 @@
   (void) regfree (& file_exclude_regex);
 
   sqlite3 *database = db;
-  db = 0; // for signal_handler not to freak
+  sqlite3 *databaseq = dbq;
+  db = dbq = 0; // for signal_handler not to freak
+  (void) sqlite3_close (databaseq);
   (void) sqlite3_close (database);
 
   return 0;
diff --git a/debuginfod/debuginfod.h b/debuginfod/debuginfod.h.in
similarity index 78%
rename from debuginfod/debuginfod.h
rename to debuginfod/debuginfod.h.in
index 6b1b1cc..559ea94 100644
--- a/debuginfod/debuginfod.h
+++ b/debuginfod/debuginfod.h.in
@@ -1,5 +1,5 @@
 /* External declarations for the libdebuginfod client library.
-   Copyright (C) 2019 Red Hat, Inc.
+   Copyright (C) 2019-2020 Red Hat, Inc.
    This file is part of elfutils.
 
    This file is free software; you can redistribute it and/or modify
@@ -33,6 +33,11 @@
 #define DEBUGINFOD_URLS_ENV_VAR "DEBUGINFOD_URLS"
 #define DEBUGINFOD_CACHE_PATH_ENV_VAR "DEBUGINFOD_CACHE_PATH"
 #define DEBUGINFOD_TIMEOUT_ENV_VAR "DEBUGINFOD_TIMEOUT"
+#define DEBUGINFOD_PROGRESS_ENV_VAR "DEBUGINFOD_PROGRESS"
+#define DEBUGINFOD_VERBOSE_ENV_VAR "DEBUGINFOD_VERBOSE"
+
+/* The libdebuginfod soname.  */
+#define DEBUGINFOD_SONAME "@LIBDEBUGINFOD_SONAME@"
 
 /* Handle for debuginfod-client connection.  */
 typedef struct debuginfod_client debuginfod_client;
@@ -47,13 +52,13 @@
 /* Query the urls contained in $DEBUGINFOD_URLS for a file with
    the specified type and build id.  If build_id_len == 0, the
    build_id is supplied as a lowercase hexadecimal string; otherwise
-   it is a binary blob of given legnth.
+   it is a binary blob of given length.
 
    If successful, return a file descriptor to the target, otherwise
    return a posix error code.  If successful, set *path to a
    strdup'd copy of the name of the same file in the cache.
    Caller must free() it later. */
-  
+
 int debuginfod_find_debuginfo (debuginfod_client *client,
 			       const unsigned char *build_id,
                                int build_id_len,
@@ -74,6 +79,20 @@
 void debuginfod_set_progressfn(debuginfod_client *c,
 			       debuginfod_progressfn_t fn);
 
+void debuginfod_set_verbose_fd(debuginfod_client *c, int fd);
+
+/* Set the user parameter.  */
+void debuginfod_set_user_data (debuginfod_client *client, void *value);
+
+/* Get the user parameter.  */
+void* debuginfod_get_user_data (debuginfod_client *client);
+
+/* Get the current or last active URL, if known.  */
+const char* debuginfod_get_url (debuginfod_client *client);
+
+/* Add an outgoing HTTP request  "Header: Value".  Copies string.  */
+int debuginfod_add_http_header (debuginfod_client *client, const char* header);
+
 /* Release debuginfod client connection context handle.  */
 void debuginfod_end (debuginfod_client *client);
 
diff --git a/debuginfod/libdebuginfod.map b/debuginfod/libdebuginfod.map
index 0d26f93..7d2f588 100644
--- a/debuginfod/libdebuginfod.map
+++ b/debuginfod/libdebuginfod.map
@@ -8,3 +8,13 @@
   debuginfod_find_source;
   debuginfod_set_progressfn;
 } ELFUTILS_0;
+ELFUTILS_0.179 {
+  global:
+  debuginfod_set_user_data;
+  debuginfod_get_user_data;
+  debuginfod_get_url;
+  debuginfod_add_http_header;
+} ELFUTILS_0.178;
+ELFUTILS_0.183 {
+  debuginfod_set_verbose_fd;
+} ELFUTILS_0.179;
diff --git a/doc/ChangeLog b/doc/ChangeLog
index 00a61ac..5cd4fe1 100644
--- a/doc/ChangeLog
+++ b/doc/ChangeLog
@@ -1,3 +1,133 @@
+2021-02-04  Frank Ch. Eigler <fche@redhat.com>
+
+	* debuginfod.8: Mention new --fdcache-mintmp option.
+
+2020-12-11  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* debuginfod.8: Fix spelling typos.
+	* debuginfod_find_debuginfo.3: Likewise.
+	* elfutils.sgml: Likewise.
+	* readelf.1: Likewise.
+
+2020-12-06  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* debuginfod_find_debuginfo.3: Document DEBUGINFOD_SONAME macro.
+
+2020-11-11  Mark Wielaard  <mark@klomp.org>
+
+	* debuginfod_find_debuginfo.3: Document debuginfod_set_verbose_fd
+	and DEBUGINFOD_VERBOSE.
+	* debuginfod_set_verbose_fd.3: New redirect to
+	debuginfod_find_debuginfo.3
+
+2020-10-29  Frank Ch. Eigler  <fche@redhat.com>
+
+	PR26775
+	* debuginfod.8: Document that SIGUSR1 interrupts the groom
+	cycle, and SIGUSR2 interrupts rescan.
+
+2020-10-25  Mark Wielaard  <mark@klomp.org>
+
+	* debuginfod_find_debuginfo.3 (ECONNREFUSED): Document that this
+	is also returned for a bad HTTPS server certificate.
+
+2020-10-07  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod-find.1: Add missing .br for SYNOPSIS section.
+
+2020-06-19  Mark Wielaard  <mark@klomp.org>
+
+	* Makefile.am: Guard all client manpages with LIBDEBUGINFOD.
+
+2020-03-29  Mark Wielaard  <mark@klomp.org>
+
+	* debuginfod_find_debuginfo.3 (HTTP HEADER): Document the expected
+	header format and purpose.
+
+2020-03-28  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod.8: Document valid --port=NUM range, excludes 0.
+
+2020-03-27  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod-find.1: Document /path/-based buildid passing.
+
+2020-03-24  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod_add_http_header.3: New function, documented ...
+	* debuginfod_find_debuginfo.3: ... here.
+	* Makefile.am (notrans_dist_*_man3): Add it.
+
+2020-03-26  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod.8 (-R): Note zstd compression complications
+	and workaround.
+
+2020-03-24  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod-find.1, debuginfod_find_debuginfo.3: Document
+	source path canonicalization.
+
+2020-03-22  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod_get_url.3: New function, documented ...
+	* debuginfod_find_debuginfo.3: ... here.
+	* Makefile.am (notrans_dist_*_man3): Add it.
+
+2020-03-22  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod_get_user.3, _set_user.3: New functions, documented ...
+	* debuginfod_find_debuginfo.3: ... here.
+	* Makefile.am (notrans_dist_*_man3): List all debuginfod .3 functions.
+
+2020-02-25  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod.8: Note that -R works just like -Z.rpm .
+
+2020-02-25  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod.8: Document new --fdcache-prefetch option.
+
+2020-02-05  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod.8: Document new -Z flag and tweak other bits.
+
+2020-01-10  Mark Wielaard  <mark@klomp.org>
+
+	* debuginfod_find_debuginfo.3 (DEBUGINFOD_PROGRESS): Mention progress
+	output goes to stderr.
+
+2020-01-11  Frank Ch. Eigler  <fche@redhat.com
+
+	* debuginfod.8: Document --fdcache-fds and --fdcache-mbs opts.
+
+2020-01-11  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod.8: Rework sections dealing with traversal/scanning,
+	explaining new threading model.
+
+2020-01-02  Mark Wielaard  <mark@klomp.org>
+
+	* debuginfod.8 (DEBUGINFOD_TIMEOUT): Document as seconds to
+	provide 100K, default 90.
+	* debuginfod-find.1 (DEBUGINFOD_TIMEOUT): Likewise.
+	* debuginfod_find_debuginfo.3 (DEBUGINFOD_TIMEOUT): Likewise.
+
+2019-12-22  Frank Ch. Eigler  <fche@redhat.com
+
+	* debuginfod.8: Add -U (DEB) flag, generalize RPM to "archive".
+
+2019-12-04  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod-find.1: Bump default timeout to 30.
+	* debuginfod_find_debuginfo.3: Ditto.
+	Document $DEBUGINFOD_PROGRESS.
+
+2019-11-26  Frank Ch. Eigler  <fche@redhat.com>
+	    Aaron Merey  <amerey@redhat.com>
+
+	* debuginfod.8, find-debuginfo.1, debuginfod_*.3: New files.
+
 2019-09-02  Mark Wielaard  <mark@klomp.org>
 
 	* readelf.1 (symbols): Add optional section name.
diff --git a/doc/Makefile.am b/doc/Makefile.am
index b5db01f..ef66fb8 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -1,7 +1,7 @@
 ## Process this file with automake to create Makefile.in
 ## Configure input file for elfutils.
 ##
-## Copyright (C) 1996-2001, 2002, 2005, 2019 Red Hat, Inc.
+## Copyright (C) 1996-2001, 2002, 2005, 2019-2020 Red Hat, Inc.
 ## This file is part of elfutils.
 ##
 ## This file is free software; you can redistribute it and/or modify
@@ -24,7 +24,18 @@
 
 if DEBUGINFOD
 notrans_dist_man8_MANS += debuginfod.8
-notrans_dist_man3_MANS += debuginfod_find_debuginfo.3 debuginfod_find_source.3 debuginfod_find_executable.3 debuginfod_set_progressfn.3
-notrans_dist_man1_MANS += debuginfod-find.1
 endif
 
+if LIBDEBUGINFOD
+notrans_dist_man3_MANS += debuginfod_add_http_header.3
+notrans_dist_man3_MANS += debuginfod_begin.3
+notrans_dist_man3_MANS += debuginfod_end.3
+notrans_dist_man3_MANS += debuginfod_find_debuginfo.3
+notrans_dist_man3_MANS += debuginfod_find_executable.3
+notrans_dist_man3_MANS += debuginfod_find_source.3
+notrans_dist_man3_MANS += debuginfod_get_user_data.3
+notrans_dist_man3_MANS += debuginfod_get_url.3
+notrans_dist_man3_MANS += debuginfod_set_progressfn.3
+notrans_dist_man3_MANS += debuginfod_set_user_data.3
+notrans_dist_man1_MANS += debuginfod-find.1
+endif
diff --git a/doc/debuginfod-find.1 b/doc/debuginfod-find.1
index a759ecb..12d4ec2 100644
--- a/doc/debuginfod-find.1
+++ b/doc/debuginfod-find.1
@@ -19,10 +19,16 @@
 
 .SH SYNOPSIS
 .B debuginfod-find [\fIOPTION\fP]... debuginfo \fIBUILDID\fP
-
+.br
+.B debuginfod-find [\fIOPTION\fP]... debuginfo \fIPATH\fP
+.br
 .B debuginfod-find [\fIOPTION\fP]... executable \fIBUILDID\fP
-
+.br
+.B debuginfod-find [\fIOPTION\fP]... executable \fIPATH\fP
+.br
 .B debuginfod-find [\fIOPTION\fP]... source \fIBUILDID\fP \fI/FILENAME\fP
+.br
+.B debuginfod-find [\fIOPTION\fP]... source \fIPATH\fP \fI/FILENAME\fP
 
 .SH DESCRIPTION
 \fBdebuginfod-find\fP queries one or more \fBdebuginfod\fP servers for
@@ -52,6 +58,14 @@
 8713b9c3fb8a720137a4a08b325905c7aaf8429d
 .ESAMPLE
 
+In place of the hexadecimal \fIBUILDID\fP, debuginfod-find also
+accepts a path name to to an ELF binary, from which it extracts the
+buildid.  In this case, ensure the file name has some character other
+than \fB[0-9a-f]\fP.  Files ambiguously named files like
+"\fBdeadbeef\fP" can be passed with a \fB./deadbeef\fP extra path
+component.
+
+
 .SS debuginfo \fIBUILDID\fP
 
 If the given buildid is known to a server, this request will result
@@ -78,10 +92,11 @@
 expects source queries to prefix relative path names with the CU
 compilation-directory, followed by a mandatory "/".
 
-Note: the user should not elide \fB../\fP or \fB/./\fP or extraneous
-\fB///\fP sorts of path components in the directory names, because if
-this is how those names appear in the DWARF files, that is what
-debuginfod needs to see too.
+Note: the caller may or may not elide \fB../\fP or \fB/./\fP or extraneous
+\fB///\fP sorts of path components in the directory names.  debuginfod
+accepts both forms.  Specifically, debuginfod canonicalizes path names
+according to RFC3986 section 5.2.4 (Remove Dot Segments), plus reducing
+any \fB//\fP to \fB/\fP in the path.
 
 For example:
 .TS
@@ -120,8 +135,9 @@
 .TP 21
 .B DEBUGINFOD_TIMEOUT
 This environment variable governs the timeout for each debuginfod HTTP
-connection.  A server that fails to respond within this many seconds
-is skipped.  The default is 5.
+connection.  A server that fails to provide at least 100K of data
+within this many seconds is skipped. The default is 90 seconds.  (Zero
+or negative means "no timeout".)
 
 .TP 21
 .B DEBUGINFOD_CACHE_PATH
diff --git a/doc/debuginfod.8 b/doc/debuginfod.8
index 210550e..c33a4b6 100644
--- a/doc/debuginfod.8
+++ b/doc/debuginfod.8
@@ -24,7 +24,7 @@
 .SH DESCRIPTION
 \fBdebuginfod\fP serves debuginfo-related artifacts over HTTP.  It
 periodically scans a set of directories for ELF/DWARF files and their
-associated source code, as well as RPM files containing the above, to
+associated source code, as well as archive files containing the above, to
 build an index by their buildid.  This index is used when remote
 clients use the HTTP webapi, to fetch these files by the same buildid.
 
@@ -34,17 +34,23 @@
 \fBdebuginfod-find\fP would.  If successful, it locally caches then
 relays the file content to the original requester.
 
-If the \fB\-F\fP option is given, each listed PATH creates a thread to
-scan for matching ELF/DWARF/source files under the given physical
-directory.  Source files are matched with DWARF files based on the
-AT_comp_dir (compilation directory) attributes inside it.  Duplicate
-directories are ignored.  You may use a file name for a PATH, but
-source code indexing may be incomplete; prefer using a directory that
-contains the binaries.  Caution: source files listed in the DWARF may
-be a path \fIanywhere\fP in the file system, and debuginfod will
-readily serve their content on demand.  (Imagine a doctored DWARF file
-that lists \fI/etc/passwd\fP as a source file.)  If this is a concern,
-audit your binaries with tools such as:
+Indexing the given PATHs proceeds using multiple threads.  One thread
+periodically traverses all the given PATHs logically or physically
+(see the \fB\-L\fP option).  Duplicate PATHs are ignored.  You may use
+a file name for a PATH, but source code indexing may be incomplete;
+prefer using a directory that contains the binaries.  The traversal
+thread enumerates all matching files (see the \fB\-I\fP and \fB\-X\fP
+options) into a work queue.  A collection of scanner threads (see the
+\fB\-c\fP option) wait at the work queue to analyze files in parallel.
+
+If the \fB\-F\fP option is given, each file is scanned as an ELF/DWARF
+file.  Source files are matched with DWARF files based on the
+AT_comp_dir (compilation directory) attributes inside it.  Caution:
+source files listed in the DWARF may be a path \fIanywhere\fP in the
+file system, and debuginfod will readily serve their content on
+demand.  (Imagine a doctored DWARF file that lists \fI/etc/passwd\fP
+as a source file.)  If this is a concern, audit your binaries with
+tools such as:
 
 .SAMPLE
 % eu-readelf -wline BINARY | sed -n '/^Directory.table/,/^File.name.table/p'
@@ -55,33 +61,55 @@
 ^C
 .ESAMPLE
 
-If the \fB\-R\fP option is given each listed PATH creates a thread to
-scan for ELF/DWARF/source files contained in matching RPMs under the
-given physical directory.  Duplicate directories are ignored.  You may
-use a file name for a PATH, but source code indexing may be
-incomplete; prefer using a directory that contains normal RPMs
-alongside debuginfo/debugsource RPMs.  Because of complications such
-as DWZ-compressed debuginfo, may require \fItwo\fP scan passes to
-identify all source code.  Source files for RPMs are only served
-from other RPMs, so the caution for \-F does not apply.
+If any of the \fB\-R\fP, \fB-U\fP, or \fB-Z\fP options is given, each
+file is scanned as an archive file that may contain ELF/DWARF/source
+files.  Archive files are recognized by extension.  If \-R is given,
+".rpm" files are scanned; if \-D is given, ".deb" and ".ddeb" files
+are scanned; if \-Z is given, the listed extensions are scanned.
+Because of complications such as DWZ-compressed debuginfo, may require
+\fItwo\fP traversal passes to identify all source code.  Source files
+for RPMs are only served from other RPMs, so the caution for \-F does
+not apply.  Note that due to Debian/Ubuntu packaging policies &
+mechanisms, debuginfod cannot resolve source files for DEB/DDEB at
+all.
 
-If no PATH is listed, or neither \-F nor \-R option is given, then
-\fBdebuginfod\fP will simply serve content that it scanned into its
-index in previous runs: the data is cumulative.
-
-File names must match extended regular expressions given by the \-I
-option and not the \-X option (if any) in order to be considered.
+If no PATH is listed, or none of the scanning options is given, then
+\fBdebuginfod\fP will simply serve content that it accumulated into
+its index in all previous runs, and federate to any upstream
+debuginfod servers.
 
 
 .SH OPTIONS
 
 .TP
 .B "\-F"
-Activate ELF/DWARF file scanning threads.  The default is off.
+Activate ELF/DWARF file scanning.  The default is off.
+
+.TP
+.B "\-Z EXT" "\-Z EXT=CMD"
+Activate an additional pattern in archive scanning.  Files with name
+extension EXT (include the dot) will be processed.  If CMD is given,
+it is invoked with the file name added to its argument list, and
+should produce a common archive on its standard output.  Otherwise,
+the file is read as if CMD were "cat".  Since debuginfod internally
+uses \fBlibarchive\fP to read archive files, it can accept a wide
+range of archive formats and compression modes.  The default is no
+additional patterns.  This option may be repeated.
 
 .TP
 .B "\-R"
-Activate RPM file scanning threads.  The default is off.
+Activate RPM patterns in archive scanning.  The default is off.
+Equivalent to \fB\%\-Z\~.rpm=cat\fP, since libarchive can natively
+process RPM archives.  If your version of libarchive is much older
+than 2020, be aware that some distributions have switched to an
+incompatible zstd compression for their payload.  You may experiment
+with \fB\%\-Z\ .rpm='(rpm2cpio|zstdcat)<'\fP instead of \fB\-R\fP.
+
+.TP
+.B "\-U"
+Activate DEB/DDEB patterns in archive scanning.  The default is off.
+Equivalent to \fB\%\-Z\ .deb='dpkg-deb\ \-\-fsys\-tarfile\fP'
+\fB\%\-Z\ .ddeb='dpkg-deb\ \-\-fsys\-tarfile'\fP.
 
 .TP
 .B "\-d FILE" "\-\-database=FILE"
@@ -89,9 +117,9 @@
 file is disposable in the sense that a later rescan will repopulate
 data.  It will contain absolute file path names, so it may not be
 portable across machines.  It may be frequently read/written, so it
-should be on a fast filesytem.  It should not be shared across
+should be on a fast filesystem.  It should not be shared across
 machines or users, to maximize sqlite locking performance.  The
-default database file is $HOME/.debuginfod.sqlite.
+default database file is \%$HOME/.debuginfod.sqlite.
 
 .TP
 .B "\-D SQL" "\-\-ddl=SQL"
@@ -102,9 +130,10 @@
 
 .TP
 .B "\-p NUM" "\-\-port=NUM"
-Set the TCP port number on which debuginfod should listen, to service
-HTTP requests.  Both IPv4 and IPV6 sockets are opened, if possible.
-The webapi is documented below.  The default port number is 8002.
+Set the TCP port number (0 < NUM < 65536) on which debuginfod should
+listen, to service HTTP requests.  Both IPv4 and IPV6 sockets are
+opened, if possible.  The webapi is documented below.  The default
+port number is 8002.
 
 .TP
 .B "\-I REGEX"  "\-\-include=REGEX"  "\-X REGEX"  "\-\-exclude=REGEX"
@@ -114,18 +143,20 @@
 against the full path of each file, based on its \fBrealpath(3)\fP
 canonicalization.  By default, all files are included and none are
 excluded.  A file that matches both include and exclude REGEX is
-excluded.  (The \fIcontents\fP of RPM files are not subject to
-inclusion or exclusion filtering: they are all processed.)
+excluded.  (The \fIcontents\fP of archive files are not subject to
+inclusion or exclusion filtering: they are all processed.)  Only the
+last of each type of regular expression given is used.
 
 .TP
 .B "\-t SECONDS"  "\-\-rescan\-time=SECONDS"
-Set the rescan time for the file and RPM directories.  This is the
-amount of time the scanning threads will wait after finishing a scan,
+Set the rescan time for the file and archive directories.  This is the
+amount of time the traversal thread will wait after finishing a scan,
 before doing it again.  A rescan for unchanged files is fast (because
 the index also stores the file mtimes).  A time of zero is acceptable,
 and means that only one initial scan should performed.  The default
 rescan time is 300 seconds.  Receiving a SIGUSR1 signal triggers a new
-scan, independent of the rescan time (including if it was zero).
+scan, independent of the rescan time (including if it was zero),
+interrupting a groom pass (if any).
 
 .TP
 .B "\-g SECONDS" "\-\-groom\-time=SECONDS"
@@ -137,14 +168,15 @@
 section.  The default groom time is 86400 seconds (1 day).  A time of
 zero is acceptable, and means that only one initial groom should be
 performed.  Receiving a SIGUSR2 signal triggers a new grooming pass,
-independent of the groom time (including if it was zero).
+independent of the groom time (including if it was zero), interrupting
+a rescan pass (if any)..
 
 .TP
 .B "\-G"
 Run an extraordinary maximal-grooming pass at debuginfod startup.
 This pass can take considerable time, because it tries to remove any
-debuginfo-unrelated content from the RPM-related parts of the index.
-It should not be run if any recent RPM-related indexing operations
+debuginfo-unrelated content from the archive-related parts of the index.
+It should not be run if any recent archive-related indexing operations
 were aborted early.  It can take considerable space, because it
 finishes up with an sqlite "vacuum" operation, which repacks the
 database file by triplicating it temporarily.  The default is not to
@@ -152,11 +184,11 @@
 
 .TP
 .B "\-c NUM"  "\-\-concurrency=NUM"
-Set the concurrency limit for all the scanning threads.  While many
-threads may be spawned to cover all the given PATHs, only NUM may
-concurrently do CPU-intensive operations like parsing an ELF file
-or an RPM.  The default is the number of processors on the system;
-the minimum is 1.
+Set the concurrency limit for the scanning queue threads, which work
+together to process archives & files located by the traversal thread.
+This important for controlling CPU-intensive operations like parsing
+an ELF file and especially decompressing archives.  The default is the
+number of processors on the system; the minimum is 1.
 
 .TP
 .B "\-L"
@@ -168,6 +200,30 @@
 traversal\fP.
 
 .TP
+.B "\-\-fdcache\-fds=NUM"  "\-\-fdcache\-mbs=MB"  "\-\-fdcache\-prefetch=NUM2"
+Configure limits on a cache that keeps recently extracted files from
+archives.  Up to NUM requested files and up to a total of MB megabytes
+will be kept extracted, in order to avoid having to decompress their
+archives over and over again.  In addition, up to NUM2 other files
+from an archive may be prefetched into the cache before they are even
+requested.  The default NUM, NUM2, and MB values depend on the
+concurrency of the system, and on the available disk space on the
+$TMPDIR or \fB/tmp\fP filesystem.  This is because that is where the
+most recently used extracted files are kept.  Grooming cleans this
+cache.
+
+.TP
+.B "\-\-fdcache\-mintmp=NUM"
+Configure a disk space threshold for emergency flushing of the cache.
+The filesystem holding the cache is checked periodically.  If the
+available space falls below the given percentage, the cache is
+flushed, and the fdcache will stay disabled until the next groom
+cycle.  This mechanism, along a few associated /metrics on the webapi,
+are intended to give an operator notice about storage scarcity - which
+can translate to RAM scarcity if the disk happens to be on a RAM
+virtual disk.  The default threshold is 25%.
+
+.TP
 .B "\-v"
 Increase verbosity of logging to the standard error file descriptor.
 May be repeated to increase details.  The default verbosity is 0.
@@ -226,10 +282,11 @@
 expects source queries to prefix relative path names with the CU
 compilation-directory, followed by a mandatory "/".
 
-Note: contrary to RFC 3986, the client should not elide \fB../\fP or
-\fB/./\fP or extraneous \fB///\fP sorts of path components in the
-directory names, because if this is how those names appear in the
-DWARF files, that is what debuginfod needs to see too.
+Note: the caller may or may not elide \fB../\fP or \fB/./\fP or extraneous
+\fB///\fP sorts of path components in the directory names.  debuginfod
+accepts both forms.  Specifically, debuginfod canonicalizes path names
+according to RFC3986 section 5.2.4 (Remove Dot Segments), plus reducing
+any \fB//\fP to \fB/\fP in the path.
 
 For example:
 .TS
@@ -257,10 +314,10 @@
 
 As a general explanation for size, consider that debuginfod indexes
 ELF/DWARF files, it stores their names and referenced source file
-names, and buildids will be stored.  When indexing RPMs, it stores
-every file name \fIof or in\fP an RPM, every buildid, plus every
-source file name referenced from a DWARF file.  (Indexing RPMs takes
-more space because the source files often reside in separate
+names, and buildids will be stored.  When indexing archives, it stores
+every file name \fIof or in\fP an archive, every buildid, plus every
+source file name referenced from a DWARF file.  (Indexing archives
+takes more space because the source files often reside in separate
 subpackages that may not be indexed at the same pass, so extra
 metadata has to be kept.)
 
@@ -283,14 +340,14 @@
 slowly during index rescans, and periodically shrink during grooming.
 There is also an optional one-shot \fImaximal grooming\fP pass is
 available.  It removes information debuginfo-unrelated data from the
-RPM content index such as file names found in RPMs ("rpm sdef"
-records) that are not referred to as source files from any binaries
-find in RPMs ("rpm sref" records).  This can save considerable disk
-space.  However, it is slow and temporarily requires up to twice the
-database size as free space.  Worse: it may result in missing
-source-code info if the RPM traversals were interrupted, so the not
-all source file references were known.  Use it rarely to polish a
-complete index.
+archive content index such as file names found in archives ("archive
+sdef" records) that are not referred to as source files from any
+binaries find in archives ("archive sref" records).  This can save
+considerable disk space.  However, it is slow and temporarily requires
+up to twice the database size as free space.  Worse: it may result in
+missing source-code info if the archive traversals were interrupted,
+so that not all source file references were known.  Use it rarely to
+polish a complete index.
 
 You should ensure that ample disk space remains available.  (The flood
 of error messages on -ENOSPC is ugly and nagging.  But, like for most
@@ -317,7 +374,7 @@
 \fIdrop\fP all prior schema & data, and start over.  So, disk space
 will not be wasted for retaining a no-longer-useable dataset.
 
-In summary, if your system can bear a 0.5%-3% index-to-RPM-dataset
+In summary, if your system can bear a 0.5%-3% index-to-archive-dataset
 size ratio, and slow growth afterwards, you should not need to
 worry about disk space.  If a system crash corrupts the database,
 or you want to force debuginfod to reset and start over, simply
@@ -347,25 +404,34 @@
 
 .SH "ENVIRONMENT VARIABLES"
 
-.TP 21
+.TP
+.B TMPDIR
+This environment variable points to a file system to be used for
+temporary files.  The default is /tmp.
+
+.TP
 .B DEBUGINFOD_URLS
 This environment variable contains a list of URL prefixes for trusted
 debuginfod instances.  Alternate URL prefixes are separated by space.
 Avoid referential loops that cause a server to contact itself, directly
 or indirectly - the results would be hilarious.
 
-.TP 21
+.TP
 .B DEBUGINFOD_TIMEOUT
 This environment variable governs the timeout for each debuginfod HTTP
-connection.  A server that fails to respond within this many seconds
-is skipped.  The default is 5.
+connection.  A server that fails to provide at least 100K of data
+within this many seconds is skipped. The default is 90 seconds.  (Zero
+or negative means "no timeout".)
 
-.TP 21
+
+.TP
 .B DEBUGINFOD_CACHE_PATH
 This environment variable governs the location of the cache where
 downloaded files are kept.  It is cleaned periodically as this
-program is reexecuted.  The default is $HOME/.debuginfod_client_cache.
-.\" XXX describe cache eviction policy
+program is reexecuted. If XDG_CACHE_HOME is set then
+$XDG_CACHE_HOME/debuginfod_client is the default location, otherwise
+$HOME/.cache/debuginfod_client is used. For more information regarding
+the client cache see \fIdebuginfod_find_debuginfo(3)\fP.
 
 .SH FILES
 .LP
@@ -376,8 +442,10 @@
 .PD
 
 .TP 20
-.B $HOME/.debuginfod_client_cache
+.B $XDG_CACHE_HOME/debuginfod_client
 Default cache directory for content from upstream debuginfods.
+If XDG_CACHE_HOME is not set then \fB$HOME/.cache/debuginfod_client\fP
+is used.
 .PD
 
 
diff --git a/doc/debuginfod_add_http_header.3 b/doc/debuginfod_add_http_header.3
new file mode 100644
index 0000000..1627993
--- /dev/null
+++ b/doc/debuginfod_add_http_header.3
@@ -0,0 +1 @@
+.so man3/debuginfod_find_debuginfo.3
diff --git a/doc/debuginfod_find_debuginfo.3 b/doc/debuginfod_find_debuginfo.3
index be8eed0..cfddb54 100644
--- a/doc/debuginfod_find_debuginfo.3
+++ b/doc/debuginfod_find_debuginfo.3
@@ -21,9 +21,15 @@
 .nf
 .B #include <elfutils/debuginfod.h>
 .PP
+Link with \fB-ldebuginfod\fP.
+
+CONNECTION HANDLE
+
 .BI "debuginfod_client *debuginfod_begin(void);"
 .BI "void debuginfod_end(debuginfod_client *" client ");"
 
+LOOKUP FUNCTIONS
+
 .BI "int debuginfod_find_debuginfo(debuginfod_client *" client ","
 .BI "                              const unsigned char *" build_id ","
 .BI "                              int " build_id_len ","
@@ -38,12 +44,20 @@
 .BI "                           const char *" filename ","
 .BI "                           char ** " path ");"
 
-.BI "typedef int (*debuginfo_progressfn_t)(debuginfod_client *" client ","
-.BI "                                      long a, long b);"
-.BI "void debuginfod_set_progressfn(debuginfod_client *" client ","
-.BI "                               debuginfo_progressfn_t " progressfn ");"
+OPTIONAL FUNCTIONS
 
-Link with \fB-ldebuginfod\fP.
+.BI "typedef int (*debuginfod_progressfn_t)(debuginfod_client *" client ","
+.BI "                                       long a, long b);"
+.BI "void debuginfod_set_progressfn(debuginfod_client *" client ","
+.BI "                               debuginfod_progressfn_t " progressfn ");"
+.BI "void debuginfod_set_verbose_fd(debuginfod_client *" client ","
+.BI "                               int " fd ");"
+.BI "void debuginfod_set_user_data(debuginfod_client *" client ","
+.BI "                              void *" data ");"
+.BI "void* debuginfod_get_user_data(debuginfod_client *" client ");"
+.BI "const char* debuginfod_get_url(debuginfod_client *" client ");"
+.BI "int debuginfod_add_http_header(debuginfod_client *" client ","
+.BI "                               const char* " header ");"
 
 .SH DESCRIPTION
 
@@ -68,7 +82,7 @@
 the binary blob.
 
 .BR debuginfod_find_source ()
-also requries a \fIfilename\fP in order to specify a particular
+also requires a \fIfilename\fP in order to specify a particular
 source file. \fIfilename\fP should be an absolute path that includes
 the compilation directory of the CU associated with the source file.
 Relative path names commonly appear in the DWARF file's source directory,
@@ -77,10 +91,11 @@
 disambiguate, debuginfod expects source queries to prefix relative path
 names with the CU compilation-directory, followed by a mandatory "/".
 
-Note: the caller should not elide \fB../\fP or \fB/./\fP or extraneous
-\fB///\fP sorts of path components in the directory names, because if
-this is how those names appear in the DWARF files, that is what
-debuginfod needs to see too.
+Note: the caller may or may not elide \fB../\fP or \fB/./\fP or extraneous
+\fB///\fP sorts of path components in the directory names.  debuginfod
+accepts both forms.  Specifically, debuginfod canonicalizes path names
+according to RFC3986 section 5.2.4 (Remove Dot Segments), plus reducing
+any \fB//\fP to \fB/\fP in the path.
 
 If \fIpath\fP is not NULL and the query is successful, \fIpath\fP is set
 to the path of the file in the cache. The caller must \fBfree\fP() this value.
@@ -102,7 +117,12 @@
 The caller needs to \fBclose\fP() this descriptor.  Otherwise, a
 negative error code is returned.
 
-.SH "PROGRESS CALLBACK"
+.SH "OPTIONAL FUNCTIONS"
+
+A small number of optional functions are available to tune or query
+the operation of the debuginfod client.
+
+.SS "PROGRESS CALLBACK"
 
 As the \fBdebuginfod_find_*\fP() functions may block for seconds or
 longer, a progress callback function is called periodically, if
@@ -125,6 +145,56 @@
 possible.  Consequently, the \fBdebuginfod_find_*\fP() function will
 likely return with an error, but might still succeed.
 
+.SS "VERBOSE OUTPUT"
+
+The \fBdebuginfod_find_*\fP() functions may use several techniques
+to retrieve the requested files, through the cache or through one
+or multiple servers or file URLs. To show how a query is handled the
+.BR debuginfod_set_verbose_fd ()
+can be used to set a particular file descriptor on which verbose
+output is given about the query steps and eventual errors encountered.
+
+.SS "USER DATA POINTER"
+
+A single \fIvoid *\fP pointer associated with the connection handle
+may be set any time via
+.BR \%debuginfod_set_user_data () ,
+and retrieved via
+.BR \%debuginfod_get_user_data () .
+The value is undefined if unset.
+
+.SS "URL"
+
+The URL of the current or most recent outgoing download, if known,
+may be retrieved via
+.BR \%debuginfod_get_url ()
+from the progressfn callback, or afterwards.  It may be NULL.
+The resulting string is owned by the library, and must not be modified
+or freed.  The caller should copy it if it is needed beyond the release
+of the client object.
+
+.SS "HTTP HEADER"
+
+Before a lookup function is initiated, a client application may
+add HTTP request headers to future downloads.
+.BR \%debuginfod_add_http_header ()
+may be called with strings of the form
+.BR \%"Header:\~value" .
+These strings are copied by the library.  A zero return value
+indicates success, but out-of-memory conditions may result in
+a non-zero \fI-ENOMEM\fP. If the string is in the wrong form
+\fI-EINVAL\fP will be returned.
+
+Note that the current debuginfod-client library implementation uses
+libcurl, but you shouldn't rely on that fact. Don't use this function
+for replacing any standard headers, except for the User-Agent mentioned
+below. The only supported usage of this function is for adding an
+optional header which might or might not be passed through to the
+server for logging purposes only.
+
+By default, the library adds a descriptive \fIUser-Agent:\fP
+header to outgoing requests.  If the client application adds
+a header with the same name, this default is suppressed.
 
 .SH "CACHE"
 If the query is successful, the \fBdebuginfod_find_*\fP() functions save
@@ -139,6 +209,21 @@
 ASCII decimal integer representing the interval or max unused age in seconds.
 The default is one day and one week, respectively.  Values of zero mean "immediately".
 
+.SH "MACROS"
+
+.SS "DEBUGINFOD_SONAME"
+
+Defined to the string that could be passed to
+.BR dlopen (3)
+if the library is loaded at runtime, for example
+
+.PP
+.in +4n
+.EX
+void *debuginfod_so = dlopen(DEBUGINFOD_SONAME, RTLD_LAZY);
+.EE
+.in
+
 .SH "SECURITY"
 .BR debuginfod_find_debuginfo (),
 .BR debuginfod_find_executable (),
@@ -164,14 +249,32 @@
 .TP 21
 .B DEBUGINFOD_TIMEOUT
 This environment variable governs the timeout for each debuginfod HTTP
-connection.  A server that fails to respond within this many seconds
-is skipped.  The default is 5.
+connection.  A server that fails to provide at least 100K of data
+within this many seconds is skipped. The default is 90 seconds.  (Zero
+or negative means "no timeout".)
+
+.TP 21
+.B DEBUGINFOD_PROGRESS
+This environment variable governs the default progress function.  If
+set, and if a progressfn is not explicitly set, then the library will
+configure a default progressfn.  This function will append a simple
+progress message periodically to stderr.  The default is no progress
+function output.
+
+.TP 21
+.B DEBUGINFOD_VERBOSE
+This environment variable governs the default file descriptor for
+verbose output.  If set, and if a verbose fd is not explicitly set,
+then the verbose output will be produced on STDERR_FILENO.
 
 .TP 21
 .B DEBUGINFOD_CACHE_PATH
 This environment variable governs the location of the cache where
 downloaded files are kept.  It is cleaned periodically as this
-program is reexecuted.  The default is $HOME/.debuginfod_client_cache.
+program is reexecuted. If XDG_CACHE_HOME is set then
+$XDG_CACHE_HOME/debuginfod_client is the default location, otherwise
+$HOME/.cache/debuginfod_client is used.
+
 
 .SH "ERRORS"
 The following list is not comprehensive. Error codes may also
@@ -183,11 +286,12 @@
 
 .TP
 .BR ECONNREFUSED
-Unable to connect to remote host.
+Unable to connect to remote host. Also returned when an HTTPS connection
+couldn't be verified (bad certificate).
 
 .TP
 .BR ECONNRESET
-Unable to either send or recieve network data.
+Unable to either send or receive network data.
 
 .TP
 .BR EHOSTUNREACH
@@ -235,7 +339,8 @@
 .PD .1v
 .TP 20
 .B $HOME/.debuginfod_client_cache
-Default cache directory.
+Default cache directory. If XDG_CACHE_HOME is not set then
+\fB$HOME/.cache/debuginfod_client\fP is used.
 .PD
 
 .SH "SEE ALSO"
diff --git a/doc/debuginfod_get_url.3 b/doc/debuginfod_get_url.3
new file mode 100644
index 0000000..1627993
--- /dev/null
+++ b/doc/debuginfod_get_url.3
@@ -0,0 +1 @@
+.so man3/debuginfod_find_debuginfo.3
diff --git a/doc/debuginfod_get_user_data.3 b/doc/debuginfod_get_user_data.3
new file mode 100644
index 0000000..1627993
--- /dev/null
+++ b/doc/debuginfod_get_user_data.3
@@ -0,0 +1 @@
+.so man3/debuginfod_find_debuginfo.3
diff --git a/doc/debuginfod_set_user_data.3 b/doc/debuginfod_set_user_data.3
new file mode 100644
index 0000000..1627993
--- /dev/null
+++ b/doc/debuginfod_set_user_data.3
@@ -0,0 +1 @@
+.so man3/debuginfod_find_debuginfo.3
diff --git a/doc/elfutils.sgml b/doc/elfutils.sgml
index d7fea40..e8a483a 100644
--- a/doc/elfutils.sgml
+++ b/doc/elfutils.sgml
@@ -429,7 +429,7 @@
     <title><filename>libelf</filename> Internals</title>
 
     <simpara>Since the binary format handling tools need constant
-    attention since there are always new machines and varients
+    attention since there are always new machines and variants
     therefore coming out it is important to have the implementation
     well documented.  Only this way extensions can be made in the
     right places and the mistakes of the past avoided.</simpara>
diff --git a/doc/readelf.1 b/doc/readelf.1
index 3326381..6a843f6 100644
--- a/doc/readelf.1
+++ b/doc/readelf.1
@@ -261,10 +261,10 @@
 Displays the entries in symbol table section of the file, if it has one.
 If a symbol has version information associated with it then this is
 displayed as well.  The version string is displayed as a suffix to the
-symbol name, preceeded by an @ character.  For example
+symbol name, preceded by an @ character.  For example
 \&\fBfoo@VER_1\fR.  If the version is the default version to be used
 when resolving unversioned references to the symbol then it is
-displayed as a suffix preceeded by two @ characters.  For example
+displayed as a suffix preceded by two @ characters.  For example
 \&\fBfoo@@VER_2\fR.
 .IP "\fB\-\-dyn-syms\fR" 4
 .IX Item "--dyn-syms"
diff --git a/lib/Android.bp b/lib/Android.bp
new file mode 100644
index 0000000..86ad65e
--- /dev/null
+++ b/lib/Android.bp
@@ -0,0 +1,10 @@
+package {
+    default_applicable_licenses: ["external_elfutils_license"],
+}
+
+cc_library_host_static {
+    name: "libeu",
+    defaults: ["elfutils_defaults"],
+    srcs: ["*.c"],
+    exclude_srcs: ["dynamicsizehash*.c"],
+}
diff --git a/lib/ChangeLog b/lib/ChangeLog
index 51c7984..371e213 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,27 @@
+2021-02-05  Mark Wielaard  <mark@klomp.org>
+
+	* printversion.c (print_version): Update copyright year.
+
+2020-12-16  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* color.c (parse_opt): Replace gettext(...) and
+	dgettext("elfutils, ...) with _(...).
+	* printversion.c (print_version): Replace gettext(...) with _(...).
+	* system.h (sgettext): Likewise.
+
+	* eu-config.h (_): New macro.
+	* xmalloc.c (_): Remove.
+
+2020-11-01  Érico N. Rolim  <erico.erc@gmail.com>
+
+	* system.h (ACCESSPERMS): Define macro if it doesn't exist.
+	(ALLPERMS): Likewise.
+	(DEFFILEMODE): Likewise.
+
+2020-06-11  Mark Wielaaard  <mark@klomp.org>
+
+	* printversion.c (print_version): Update copyright year.
+
 2019-08-25  Srđan Milaković  <sm108@rice.edu>
 
 	* dynamicsizehash_concurrent.{c,h}: New files.
diff --git a/lib/color.c b/lib/color.c
index 2cb41eb..454cb7c 100644
--- a/lib/color.c
+++ b/lib/color.c
@@ -126,7 +126,7 @@
 	      }
 	  if (i == nvalues)
 	    {
-	      error (0, 0, dgettext ("elfutils", "\
+	      error (0, 0, _("\
 %s: invalid argument '%s' for '--color'\n\
 valid arguments are:\n\
   - 'always', 'yes', 'force'\n\
@@ -191,7 +191,7 @@
 				if (asprintf (known[i].varp, "\e[%.*sm",
 					      (int) (env - val), val) < 0)
 				  error (EXIT_FAILURE, errno,
-					 gettext ("cannot allocate memory"));
+					 _("cannot allocate memory"));
 				break;
 			      }
 			}
diff --git a/lib/eu-config.h b/lib/eu-config.h
index 84b22d7..f0e3d07 100644
--- a/lib/eu-config.h
+++ b/lib/eu-config.h
@@ -52,8 +52,9 @@
 # define rwlock_unlock(lock) ((void) (lock))
 #endif	/* USE_LOCKS */
 
-/* gettext helper macro.  */
+/* gettext helper macros.  */
 #define N_(Str) Str
+#define _(Str) dgettext ("elfutils", Str)
 
 /* Compiler-specific definitions.  */
 #define strong_alias(name, aliasname) \
diff --git a/lib/printversion.c b/lib/printversion.c
index 17832f4..adf127d 100644
--- a/lib/printversion.c
+++ b/lib/printversion.c
@@ -37,9 +37,9 @@
 print_version (FILE *stream, struct argp_state *state)
 {
   fprintf (stream, "%s (%s) %s\n", state->name, PACKAGE_NAME, PACKAGE_VERSION);
-  fprintf (stream, gettext ("\
+  fprintf (stream, _("\
 Copyright (C) %s The elfutils developers <%s>.\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\
-"), "2018", PACKAGE_URL);
+"), "2021", PACKAGE_URL);
 }
diff --git a/lib/system.h b/lib/system.h
index 292082b..1c478e1 100644
--- a/lib/system.h
+++ b/lib/system.h
@@ -71,7 +71,7 @@
 
 /* A special gettext function we use if the strings are too short.  */
 #define sgettext(Str) \
-  ({ const char *__res = strrchr (gettext (Str), '|');			      \
+  ({ const char *__res = strrchr (_(Str), '|');			      \
      __res ? __res + 1 : Str; })
 
 #define gettext_noop(Str) Str
@@ -85,6 +85,18 @@
      __res; })
 #endif
 
+#ifndef ACCESSPERMS
+#define ACCESSPERMS (S_IRWXU|S_IRWXG|S_IRWXO) /* 0777 */
+#endif
+
+#ifndef ALLPERMS
+#define ALLPERMS (S_ISUID|S_ISGID|S_ISVTX|S_IRWXU|S_IRWXG|S_IRWXO) /* 07777 */
+#endif
+
+#ifndef DEFFILEMODE
+#define DEFFILEMODE (S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH)/* 0666 */
+#endif
+
 static inline ssize_t __attribute__ ((unused))
 pwrite_retry (int fd, const void *buf, size_t len, off_t off)
 {
diff --git a/lib/xmalloc.c b/lib/xmalloc.c
index 0424afc..7c09498 100644
--- a/lib/xmalloc.c
+++ b/lib/xmalloc.c
@@ -36,10 +36,6 @@
 #include <sys/types.h>
 #include "system.h"
 
-#ifndef _
-# define _(str) gettext (str)
-#endif
-
 
 /* Allocate N bytes of memory dynamically, with error checking.  */
 void *
diff --git a/libasm/ChangeLog b/libasm/ChangeLog
index a1abac8..98ac331 100644
--- a/libasm/ChangeLog
+++ b/libasm/ChangeLog
@@ -1,3 +1,48 @@
+2020-12-16  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* libasmP.h (_): Remove.
+
+2020-12-12  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* asm_begin.c (prepare_binary_output): Fix spelling typo in comment.
+	* asm_end.c (binary_end): Likewise.
+
+2020-12-11  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* Makefile.am (GCC_INCLUDE): Remove.
+
+2020-12-09  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* Makefile.am (noinst_PROGRAMS): Rename to noinst_DATA.
+	(libasm_so_SOURCES): Remove.
+	(CLEANFILES): Add libasm.so.
+
+2020-11-30  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* Makefile.am (libasm.so$(EXEEXT)): Drop $(EXEEXT) suffix.
+
+2020-10-29  Mark Wielaard  <mark@klomp.org>
+
+	* asm_align.c (__libasm_ensure_section_space): Use calloc, not
+	malloc to allocate extra space.
+
+2020-07-19  Mark Wielaard  <mark@klomp.org>
+
+	* libasmP.h: Include libebl.h after libasm.h.
+
+2020-07-05  Mark Wielaard  <mark@klomp.org>
+
+	* libasm.h: Include gelf.h.
+
+2020-04-25  Mark Wielaard  <mark@klomp.org>
+
+	* asm_end.c (text_end): Call fflush instead of fclose.
+
+2020-01-08  Mark Wielaard  <mark@klomp.org>
+
+	* libasm.h: Don't include libebl.h. Define an opaque Ebl handle.
+	* libasmP.h: Do include libebl.h.
+
 2019-08-28  Mark Wielaard  <mark@klomp.org>
 
 	* Makefile.am (libasm_so_DEPS): Replace libebl.a with libebl_pic.a.
diff --git a/libasm/Makefile.am b/libasm/Makefile.am
index b2bff92..c2b5481 100644
--- a/libasm/Makefile.am
+++ b/libasm/Makefile.am
@@ -30,12 +30,11 @@
 include $(top_srcdir)/config/eu.am
 AM_CPPFLAGS += -I$(top_srcdir)/libelf -I$(top_srcdir)/libebl -I$(top_srcdir)/libdw -I$(top_srcdir)/libdwelf
 
-GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include)
 VERSION = 1
 
 lib_LIBRARIES = libasm.a
 noinst_LIBRARIES = libasm_pic.a
-noinst_PROGRAMS = $(noinst_LIBRARIES:_pic.a=.so)
+noinst_DATA = $(noinst_LIBRARIES:_pic.a=.so)
 pkginclude_HEADERS = libasm.h
 
 libasm_a_SOURCES = asm_begin.c asm_abort.c asm_end.c asm_error.c \
@@ -62,8 +61,7 @@
 endif
 
 libasm_so_LIBS = libasm_pic.a
-libasm_so_SOURCES =
-libasm.so$(EXEEXT): $(srcdir)/libasm.map $(libasm_so_LIBS) $(libasm_so_DEPS)
+libasm.so: $(srcdir)/libasm.map $(libasm_so_LIBS) $(libasm_so_DEPS)
 	$(AM_V_CCLD)$(LINK) $(dso_LDFLAGS) -o $@ \
 		-Wl,--soname,$@.$(VERSION) \
 		-Wl,--version-script,$<,--no-undefined \
@@ -87,4 +85,4 @@
 noinst_HEADERS = libasmP.h symbolhash.h
 EXTRA_DIST = libasm.map
 
-CLEANFILES += $(am_libasm_pic_a_OBJECTS) libasm.so.$(VERSION)
+CLEANFILES += $(am_libasm_pic_a_OBJECTS) libasm.so libasm.so.$(VERSION)
diff --git a/libasm/asm_align.c b/libasm/asm_align.c
index e59a070..c8c671b 100644
--- a/libasm/asm_align.c
+++ b/libasm/asm_align.c
@@ -143,7 +143,7 @@
       /* This is the first block.  */
       size = MAX (2 * len, 960);
 
-      asmscn->content = (struct AsmData *) malloc (sizeof (struct AsmData)
+      asmscn->content = (struct AsmData *) calloc (1, sizeof (struct AsmData)
 						   + size);
       if (asmscn->content == NULL)
 	return -1;
@@ -160,7 +160,7 @@
 
       size = MAX (2 *len, MIN (32768, 2 * asmscn->offset));
 
-      newp = (struct AsmData *) malloc (sizeof (struct AsmData) + size);
+      newp = (struct AsmData *) calloc (1, sizeof (struct AsmData) + size);
       if (newp == NULL)
 	return -1;
 
diff --git a/libasm/asm_begin.c b/libasm/asm_begin.c
index 6248786..1df2d4e 100644
--- a/libasm/asm_begin.c
+++ b/libasm/asm_begin.c
@@ -98,7 +98,7 @@
   /* Set the ELF version.  */
   ehdr->e_version = EV_CURRENT;
 
-  /* Use the machine, class, and endianess values from the Ebl descriptor.  */
+  /* Use the machine, class, and endianness values from the Ebl descriptor.  */
   ehdr->e_machine = ebl_get_elfmachine (ebl);
   ehdr->e_ident[EI_CLASS] = class;
   ehdr->e_ident[EI_DATA] = ebl_get_elfdata (ebl);
diff --git a/libasm/asm_end.c b/libasm/asm_end.c
index 99e9501..077d2aa 100644
--- a/libasm/asm_end.c
+++ b/libasm/asm_end.c
@@ -47,7 +47,7 @@
 static int
 text_end (AsmCtx_t *ctx __attribute__ ((unused)))
 {
-  if (fclose (ctx->out.file) != 0)
+  if (fflush (ctx->out.file) != 0)
     {
       __libasm_seterrno (ASM_E_IOERROR);
       return -1;
@@ -257,7 +257,7 @@
 		    xndxdata->d_off = 0;
 		  }
 
-		/* Store the real section index in the extended setion
+		/* Store the real section index in the extended section
 		   index table.  */
 		assert ((size_t) ptr < ctx->nsymbol_tab + 1);
 		xshndx[ptr] = ndx;
diff --git a/libasm/libasm.h b/libasm/libasm.h
index 5c61224..b67b77d 100644
--- a/libasm/libasm.h
+++ b/libasm/libasm.h
@@ -31,8 +31,9 @@
 
 #include <stdbool.h>
 #include <stdint.h>
+#include <gelf.h>
 
-#include <libebl.h>
+typedef struct ebl Ebl;
 
 
 /* Opaque type for the assembler context descriptor.  */
diff --git a/libasm/libasmP.h b/libasm/libasmP.h
index 54460cf..8b72f32 100644
--- a/libasm/libasmP.h
+++ b/libasm/libasmP.h
@@ -32,12 +32,10 @@
 #include <stdio.h>
 
 #include <libasm.h>
+#include "libebl.h"
 
 #include "libdwelf.h"
 
-/* gettext helper macros.  */
-#define _(Str) dgettext ("elfutils", Str)
-
 
 /* Known error codes.  */
 enum
diff --git a/libcpu/.gitignore b/libcpu/.gitignore
new file mode 100644
index 0000000..9390e5b
--- /dev/null
+++ b/libcpu/.gitignore
@@ -0,0 +1,5 @@
+/*.mnemonics
+/*_dis.h
+/*_gendis
+/*_lex.c
+/*_parse.[ch]
diff --git a/libcpu/Android.bp b/libcpu/Android.bp
new file mode 100644
index 0000000..4b26cdf
--- /dev/null
+++ b/libcpu/Android.bp
@@ -0,0 +1,78 @@
+package {
+    default_applicable_licenses: ["external_elfutils_license"],
+}
+
+genrule {
+    name: "i386_mnemonics",
+    srcs: [
+        "defs/i386",
+    ],
+    out: ["i386.mnemonics"],
+    cmd: "M4=$(location m4) $(location android_mnemonic_preprocess.sh) i386 $(in) $(out)",
+    tool_files: [
+        "android_mnemonic_preprocess.sh",
+    ],
+    tools : [
+        "m4",
+    ]
+}
+
+genrule {
+    name: "x86_64_mnemonics",
+    srcs : [
+        "defs/i386",
+    ],
+    out : ["x86_64.mnemonics"],
+    cmd : "M4=$(location m4) $(location android_mnemonic_preprocess.sh) x86_64 $(in) $(out)",
+    tool_files : [
+        "android_mnemonic_preprocess.sh",
+    ],
+    tools : [
+        "m4",
+    ]
+}
+
+cc_binary_host {
+    name: "i386_gendis",
+    defaults: ["elfutils_defaults"],
+    srcs: [
+        "i386_parse.y",
+        "i386_lex.l",
+        "i386_gendis.c",
+    ],
+    yacc: {
+        flags: ["-pi386_",]
+    },
+    lex: {
+        flags: ["-Pi386_",]
+    },
+    static_libs: [
+        "libeu",
+    ],
+}
+
+genrule {
+    name: "i386_dis",
+    srcs: [
+        "defs/i386",
+    ],
+    out: ["i386_dis.h"],
+    cmd: "$(location m4) -Di386 -DDISASSEMBLER $(in) > i386_defs && $(location i386_gendis) i386_defs > $(out)",
+    tools: [
+        "i386_gendis",
+        "m4",
+    ],
+}
+
+genrule {
+    name: "x86_64_dis",
+    srcs: [
+        "defs/i386",
+    ],
+    out: ["x86_64_dis.h"],
+    cmd: "$(location m4) -Dx86_64 -DDISASSEMBLER $(in) > x86_64_defs && $(location i386_gendis) x86_64_defs > $(out)",
+    tools: [
+        "i386_gendis",
+        "m4",
+    ],
+}
diff --git a/libcpu/ChangeLog b/libcpu/ChangeLog
index 52567be..7cca941 100644
--- a/libcpu/ChangeLog
+++ b/libcpu/ChangeLog
@@ -1,3 +1,34 @@
+2020-12-20  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* .gitignore: New file.
+
+2020-12-16  Érico Nogueira  <ericonr@disroot.org>
+
+	* Makefile.am (i386_gendis_LDADD): Add obstack_LIBS.
+
+2020-12-16  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* i386_lex.l (invalid_char): Replace gettext(...) with _(...).
+	* i386_parse.y (yyerror): Likewise.
+
+2020-12-12  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* bpf_disasm.c (bswap_bpf_insn): Fix spelling typo in comment.
+	* i386_disasm.c (i386_disasm): Likewise.
+
+2020-05-09  Mark Wielaard  <mark@klomp.org>
+
+	* i386_parse.y (new_bitfield): Call free newp on error.
+
+2020-04-16  Mark Wielaard  <mark@klomp.org>
+
+	* i386_disasm.c (i386_disasm): Replace assert with goto invalid_op
+	for bad prefix.
+
+2019-12-11  Omar Sandoval  <osandov@fb.com>
+
+	* Makefile.am (i386_lex_CFLAGS): Add -Wno-implicit-fallthrough.
+
 2019-10-17  Mark Wielaard  <mark@klomp.org>
 
 	* i386_data.h (FCT_sel): Check for param_start + 2 >= end instead
diff --git a/libcpu/Makefile.am b/libcpu/Makefile.am
index 03c71ea..43844ec 100644
--- a/libcpu/Makefile.am
+++ b/libcpu/Makefile.am
@@ -81,11 +81,12 @@
 
 libeu = ../lib/libeu.a
 
-i386_lex_CFLAGS = -Wno-unused-label -Wno-unused-function -Wno-sign-compare
+i386_lex_CFLAGS = -Wno-unused-label -Wno-unused-function -Wno-sign-compare \
+		  -Wno-implicit-fallthrough
 i386_parse.o: i386_parse.c i386.mnemonics
 i386_parse_CFLAGS = -DNMNES="`wc -l < i386.mnemonics`"
 i386_lex.o: i386_parse.h
-i386_gendis_LDADD = $(libeu) -lm
+i386_gendis_LDADD = $(libeu) -lm $(obstack_LIBS)
 
 i386_parse.h: i386_parse.c ;
 
diff --git a/libcpu/android_mnemonic_preprocess.sh b/libcpu/android_mnemonic_preprocess.sh
new file mode 100755
index 0000000..2b05249
--- /dev/null
+++ b/libcpu/android_mnemonic_preprocess.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+
+arch="$1"
+defs="$2"
+out="$3"
+
+$M4 "-D${arch}" -DDISASSEMBLER "$defs" \
+	| sed "1,/^%%/d;/^#/d;/^[[:space:]]*$/d;s/[^:]*:\([^[:space:]]*\).*/MNE(\\1)/;s/{[^}]*}//g;/INVALID/d" \
+	| sort -u \
+> "$out"
diff --git a/libcpu/bpf_disasm.c b/libcpu/bpf_disasm.c
index 3d92d01..62643c8 100644
--- a/libcpu/bpf_disasm.c
+++ b/libcpu/bpf_disasm.c
@@ -74,7 +74,7 @@
 bswap_bpf_insn (struct bpf_insn *p)
 {
   /* Note that the dst_reg and src_reg fields are 4-bit bitfields.
-     That means these two nibbles are (typically) layed out in the
+     That means these two nibbles are (typically) laid out in the
      opposite order between big- and little-endian hosts.  This is
      not required by any standard, but does happen to be true for
      at least ppc, s390, arm and mips as big-endian hosts.  */
diff --git a/libcpu/i386_disasm.c b/libcpu/i386_disasm.c
index 4422ffa..fd7340c 100644
--- a/libcpu/i386_disasm.c
+++ b/libcpu/i386_disasm.c
@@ -407,7 +407,8 @@
 
 	      ++curr;
 
-	      assert (last_prefix_bit != 0);
+	      if (last_prefix_bit == 0)
+		goto invalid_op;
 	      correct_prefix = last_prefix_bit;
 	    }
 
@@ -445,8 +446,8 @@
 	       the input data.  */
 	    goto do_ret;
 
-	  assert (correct_prefix == 0
-		  || (prefixes & correct_prefix) != 0);
+	  if (correct_prefix != 0 && (prefixes & correct_prefix) == 0)
+	    goto invalid_op;
 	  prefixes ^= correct_prefix;
 
 	  if (0)
@@ -473,7 +474,8 @@
 
 	      if (data == end)
 		{
-		  assert (prefixes != 0);
+		  if (prefixes == 0)
+		    goto invalid_op;
 		  goto print_prefix;
 		}
 
@@ -586,7 +588,7 @@
 	    }
 
 	  /* We have a match.  First determine how many bytes are
-	     needed for the adressing mode.  */
+	     needed for the addressing mode.  */
 	  param_start = codep;
 	  if (instrtab[cnt].modrm)
 	    {
@@ -1125,6 +1127,7 @@
 	}
 
       /* Invalid (or at least unhandled) opcode.  */
+    invalid_op:
       if (prefixes != 0)
 	goto print_prefix;
       /* Make sure we get past the unrecognized opcode if we haven't yet.  */
diff --git a/libcpu/i386_lex.l b/libcpu/i386_lex.l
index a4705aa..b6ec0f8 100644
--- a/libcpu/i386_lex.l
+++ b/libcpu/i386_lex.l
@@ -119,8 +119,8 @@
 invalid_char (int ch)
 {
   error (0, 0, (isascii (ch)
-		? gettext ("invalid character '%c' at line %d; ignored")
-		: gettext ("invalid character '\\%o' at line %d; ignored")),
+		? _("invalid character '%c' at line %d; ignored")
+		: _("invalid character '\\%o' at line %d; ignored")),
 	 ch, yylineno);
 }
 
diff --git a/libcpu/i386_parse.y b/libcpu/i386_parse.y
index 910d545..9a92c2e 100644
--- a/libcpu/i386_parse.y
+++ b/libcpu/i386_parse.y
@@ -551,8 +551,8 @@
 static void
 yyerror (const char *s)
 {
-  error (0, 0, gettext ("while reading i386 CPU description: %s at line %d"),
-         gettext (s), i386_lineno);
+  error (0, 0, _("while reading i386 CPU description: %s at line %d"),
+         _(s), i386_lineno);
 }
 
 
@@ -579,6 +579,7 @@
       error (0, 0, "%d: duplicated definition of bitfield '%s'",
 	     i386_lineno, name);
       free (name);
+      free (newp);
       return;
     }
 
diff --git a/libdw/.gitignore b/libdw/.gitignore
new file mode 100644
index 0000000..d5fe053
--- /dev/null
+++ b/libdw/.gitignore
@@ -0,0 +1 @@
+/known-dwarf.h
diff --git a/libdw/ChangeLog b/libdw/ChangeLog
index 59f33f9..b8038f0 100644
--- a/libdw/ChangeLog
+++ b/libdw/ChangeLog
@@ -1,3 +1,111 @@
+2020-12-20  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* .gitignore: New file.
+
+2020-12-16  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* libdwP.h (_): Remove.
+
+2020-12-12  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* dwarf.h: Fix spelling typo in comment.
+	* dwarf_begin_elf.c (dwarf_begin_elf): Likewise.
+	* dwarf_getlocation.c (attr_ok, __libdw_intern_expression): Likewise.
+	* dwarf_getsrclines.c (read_srclines): Likewise.
+	* libdw.h: Fix spelling typos in comments.
+	* libdwP.h: Likewise.
+
+2020-12-09  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* Makefile.am (noinst_PROGRAMS): Rename to noinst_DATA.
+	(libdw_so_SOURCES): Remove.
+	(MOSTLYCLEANFILES): Add libdw.so.
+
+2020-11-30  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* Makefile.am (libdw.so$(EXEEXT)): Drop $(EXEEXT) suffix.
+
+2020-11-01  Érico N. Rolim  <erico.erc@gmail.com>
+
+	* Makefile.am (libdw_so_LDLIBS): Add fts_LIBS.
+
+2020-10-28  Tom Tromey  <tom@tromey.com>
+
+	PR26773
+	* dwarf_getlocation.c (store_implicit_value): Use
+	__libdw_get_uleb128_unchecked.
+	* memory-access.h (get_sleb128_step): Assume unsigned type for
+	'var'.
+	(__libdw_get_sleb128, __libdw_get_sleb128_unchecked): Work in
+	unsigned type.  Handle final byte.
+
+2020-10-19  Mark Wielaard  <mark@klomp.org>
+
+	* dwarf_frame_register.c (dwarf_frame_register): Declare ops_mem
+	as array of (at least) 3 elements.
+	* libdw.h (dwarf_frame_register): Add extra explanation of ops_mem
+	argument.
+
+2020-10-23  Tom Tromey  <tom@tromey.com>
+
+	* memory-access.h (read_3ubyte_unaligned_inc): Call
+	read_3ubyte_unaligned.
+
+2020-09-03  Mark Wielaard  <mark@klomp.org>
+
+	* dwarf.h: Add DW_CFA_AARCH64_negate_ra_state.
+	* cfi.h (struct Dwarf_CFI_s): Add e_machine field.
+	* cfi.c (execute_cfi): Recognize, but ignore
+	DW_CFA_AARCH64_negate_ra_state on aarch64.
+	* dwarf_getcfi.c (dwarf_getcfi): Set cfi e_machine.
+	* dwarf_getcfi_elf.c (allocate_cfi): Take ehdr as argument and set
+	cfi e_machine.
+	(getcfi_gnu_eh_frame): Pass ehdr to allocate_cfi.
+	(getcfi_scn_eh_frame): Likewise.
+
+2020-09-03  Mark Wielaard  <mark@klomp.org>
+
+	* libdw.map (ELFUTILS_0.126): Remove local wildcard.
+	(ELFUTILS_0.127): Likewise.
+	(ELFUTILS_0.130): Likewise.
+	(ELFUTILS_0.136): Likewise.
+	(ELFUTILS_0.138): Likewise.
+
+2020-08-25  Mark Wielaard  <mark@klomp.org>
+
+	* dwarf_getlocation.c (check_constant_offset): Rename to...
+	(is_constant_offset): .. this.
+
+2020-06-28  Mark Wielaard  <mark@klomp.org>
+
+	* linux-kernel-modules.c (intuit_kernel_bounds): Check read_address
+	returns an increasing address when searching for end.
+
+2020-06-16  Mark Wielaard  <mark@klomp.org>
+
+	* cfi.c (execute_cfi): Add missing FALLTHROUGH.
+
+2020-05-08  Mark Wielaard  <mark@klomp.org>
+
+	* libdw_visit_scopes.c (walk_children): Don't recurse into imported
+	DW_TAG_compile_units.
+
+2020-05-08  Mark Wielaard  <mark@klomp.org>
+
+	* dwarf_decl_file.c (dwarf_decl_file): Use attr CU instead of DIE
+	CU to resolve file name.
+	* dwarf_ranges.c(dwarf_ranges): Document which CU we use when.
+	* libdw.h (dwarf_attr_integrate): Extend documentation.
+
+2020-04-25  Mark Wielaard  <mark@klomp.org>
+
+	* libdw_alloc.c (__libdw_alloc_tail): Call Dwarf oom_handler()
+	when malloc fails.
+
+2020-04-17  Mark Wielaard  <mark@klomp.org>
+
+	* dwarf_begin_elf.c (check_section): Handle .gnu.debuglto_ prefix.
+
 2019-10-28  Aaron Merey  <amerey@redhat.com>
 
 	* Makefile.am (libdw_so_LDLIBS): Add -ldl for libdebuginfod.so dlopen.
@@ -89,7 +197,7 @@
 2019-02-02  Mark Wielaard  <mark@klomp.org>
 
 	* dwarf_nextcu.c (__libdw_next_unit): Define bytes_end.
-	Check there are enough bytes to read extended lenght, version
+	Check there are enough bytes to read extended length, version
 	and unit.
 
 2019-01-20  Mark Wielaard  <mark@klomp.org>
diff --git a/libdw/Makefile.am b/libdw/Makefile.am
index 33b5838..6b7834a 100644
--- a/libdw/Makefile.am
+++ b/libdw/Makefile.am
@@ -36,7 +36,7 @@
 
 lib_LIBRARIES = libdw.a
 noinst_LIBRARIES = libdw_pic.a
-noinst_PROGRAMS = $(noinst_LIBRARIES:_pic.a=.so)
+noinst_DATA = $(noinst_LIBRARIES:_pic.a=.so)
 
 include_HEADERS = dwarf.h
 pkginclude_HEADERS = libdw.h known-dwarf.h
@@ -109,9 +109,8 @@
 		../libcpu/libcpu_pic.a libdw_pic.a ../libdwelf/libdwelf_pic.a \
 		../libdwfl/libdwfl_pic.a
 libdw_so_DEPS = ../lib/libeu.a ../libelf/libelf.so
-libdw_so_LDLIBS = $(libdw_so_DEPS) -ldl -lz $(argp_LDADD) $(zip_LIBS) -pthread
-libdw_so_SOURCES =
-libdw.so$(EXEEXT): $(srcdir)/libdw.map $(libdw_so_LIBS) $(libdw_so_DEPS)
+libdw_so_LDLIBS = $(libdw_so_DEPS) -ldl -lz $(argp_LDADD) $(fts_LIBS) $(obstack_LIBS) $(zip_LIBS) -pthread
+libdw.so: $(srcdir)/libdw.map $(libdw_so_LIBS) $(libdw_so_DEPS)
 	$(AM_V_CCLD)$(LINK) $(dso_LDFLAGS) -o $@ \
 		-Wl,--soname,$@.$(VERSION),--enable-new-dtags \
 		-Wl,--version-script,$<,--no-undefined \
@@ -152,4 +151,4 @@
 
 EXTRA_DIST = libdw.map
 
-MOSTLYCLEANFILES = $(am_libdw_pic_a_OBJECTS) libdw.so.$(VERSION)
+MOSTLYCLEANFILES = $(am_libdw_pic_a_OBJECTS) libdw.so libdw.so.$(VERSION)
diff --git a/libdw/cfi.c b/libdw/cfi.c
index 341e055..a73fb03 100644
--- a/libdw/cfi.c
+++ b/libdw/cfi.c
@@ -229,6 +229,7 @@
 	case DW_CFA_offset_extended:
 	  get_uleb128 (operand, program, end);
 	  cfi_assert (program < end);
+	  FALLTHROUGH;
 	case DW_CFA_offset + 0 ... DW_CFA_offset + CFI_PRIMARY_MAX:
 	  get_uleb128 (offset, program, end);
 	  offset *= cie->data_alignment_factor;
@@ -349,24 +350,35 @@
 	case DW_CFA_nop:
 	  continue;
 
-	case DW_CFA_GNU_window_save:
-	  /* This is magic shorthand used only by SPARC.  It's equivalent
-	     to a bunch of DW_CFA_register and DW_CFA_offset operations.  */
-	  if (unlikely (! enough_registers (31, &fs, &result)))
-	    goto out;
-	  for (regno = 8; regno < 16; ++regno)
+	case DW_CFA_GNU_window_save: /* DW_CFA_AARCH64_negate_ra_state */
+	  if (cache->e_machine == EM_AARCH64)
 	    {
-	      /* Find each %oN in %iN.  */
-	      fs->regs[regno].rule = reg_register;
-	      fs->regs[regno].value = regno + 16;
+	      /* Toggles the return address state, indicating whether
+		 the return address is encrypted or not on
+		 aarch64. XXX not handled yet.  */
 	    }
-	  unsigned int address_size = (cache->e_ident[EI_CLASS] == ELFCLASS32
-				       ? 4 : 8);
-	  for (; regno < 32; ++regno)
+	  else
 	    {
-	      /* Find %l0..%l7 and %i0..%i7 in a block at the CFA.  */
-	      fs->regs[regno].rule = reg_offset;
-	      fs->regs[regno].value = (regno - 16) * address_size;
+	      /* This is magic shorthand used only by SPARC.  It's
+		 equivalent to a bunch of DW_CFA_register and
+		 DW_CFA_offset operations.  */
+	      if (unlikely (! enough_registers (31, &fs, &result)))
+		goto out;
+	      for (regno = 8; regno < 16; ++regno)
+		{
+		  /* Find each %oN in %iN.  */
+		  fs->regs[regno].rule = reg_register;
+		  fs->regs[regno].value = regno + 16;
+		}
+	      unsigned int address_size;
+	      address_size = (cache->e_ident[EI_CLASS] == ELFCLASS32
+			      ? 4 : 8);
+	      for (; regno < 32; ++regno)
+		{
+		  /* Find %l0..%l7 and %i0..%i7 in a block at the CFA.  */
+		  fs->regs[regno].rule = reg_offset;
+		  fs->regs[regno].value = (regno - 16) * address_size;
+		}
 	    }
 	  continue;
 
diff --git a/libdw/cfi.h b/libdw/cfi.h
index 1ebf2dc..1b0d712 100644
--- a/libdw/cfi.h
+++ b/libdw/cfi.h
@@ -108,6 +108,8 @@
   size_t search_table_entries;
   uint8_t search_table_encoding;
 
+  uint16_t e_machine;
+
   /* True if the file has a byte order different from the host.  */
   bool other_byte_order;
 
diff --git a/libdw/dwarf.h b/libdw/dwarf.h
index 71ca2ba..19a4be9 100644
--- a/libdw/dwarf.h
+++ b/libdw/dwarf.h
@@ -966,6 +966,7 @@
     DW_CFA_low_user = 0x1c,
     DW_CFA_MIPS_advance_loc8 = 0x1d,
     DW_CFA_GNU_window_save = 0x2d,
+    DW_CFA_AARCH64_negate_ra_state = 0x2d,
     DW_CFA_GNU_args_size = 0x2e,
     DW_CFA_GNU_negative_offset_extended = 0x2f,
     DW_CFA_high_user = 0x3f
@@ -1013,7 +1014,7 @@
 /* Section 7.2.2 of the DWARF3 specification defines a range of escape
    codes that can appear in the length field of certain DWARF structures.
 
-   These defines enumerate the minium and maximum values of this range.
+   These defines enumerate the minimum and maximum values of this range.
    Currently only the maximum value is used (to indicate that 64-bit
    values are going to be used in the dwarf data that accompanies the
    structure).  The other values are reserved.
diff --git a/libdw/dwarf_begin_elf.c b/libdw/dwarf_begin_elf.c
index 8534308..757ac4f 100644
--- a/libdw/dwarf_begin_elf.c
+++ b/libdw/dwarf_begin_elf.c
@@ -137,6 +137,10 @@
 	  gnu_compressed = true;
 	  break;
 	}
+      else if (scnlen > 14 /* .gnu.debuglto_ prefix. */
+	       && strncmp (scnname, ".gnu.debuglto_", 14) == 0
+	       && strcmp (&scnname[14], dwarf_scnnames[cnt]) == 0)
+	break;
     }
 
   if (cnt >= ndwarf_scnnames)
@@ -453,7 +457,7 @@
 	}
 
       /* If the caller provides a section group we get the DWARF
-	 sections only from this setion group.  Otherwise we search
+	 sections only from this section group.  Otherwise we search
 	 for the first section with the required name.  Further
 	 sections with the name are ignored.  The DWARF specification
 	 does not really say this is allowed.  */
diff --git a/libdw/dwarf_decl_file.c b/libdw/dwarf_decl_file.c
index 5657132..d4aa0a1 100644
--- a/libdw/dwarf_decl_file.c
+++ b/libdw/dwarf_decl_file.c
@@ -55,7 +55,7 @@
     }
 
   /* Get the array of source files for the CU.  */
-  struct Dwarf_CU *cu = die->cu;
+  struct Dwarf_CU *cu = attr_mem.cu;
   if (cu->lines == NULL)
     {
       Dwarf_Lines *lines;
diff --git a/libdw/dwarf_frame_register.c b/libdw/dwarf_frame_register.c
index d0159fb..bcf3fa0 100644
--- a/libdw/dwarf_frame_register.c
+++ b/libdw/dwarf_frame_register.c
@@ -34,7 +34,7 @@
 #include <dwarf.h>
 
 int
-dwarf_frame_register (Dwarf_Frame *fs, int regno, Dwarf_Op *ops_mem,
+dwarf_frame_register (Dwarf_Frame *fs, int regno, Dwarf_Op ops_mem[3],
 		      Dwarf_Op **ops, size_t *nops)
 {
   /* Maybe there was a previous error.  */
diff --git a/libdw/dwarf_getcfi.c b/libdw/dwarf_getcfi.c
index 51932cd..afa8a46 100644
--- a/libdw/dwarf_getcfi.c
+++ b/libdw/dwarf_getcfi.c
@@ -57,6 +57,11 @@
       cfi->datarel = 0;
 
       cfi->e_ident = (unsigned char *) elf_getident (dbg->elf, NULL);
+
+      GElf_Ehdr ehdr;
+      gelf_getehdr (dbg->elf, &ehdr);
+      cfi->e_machine = ehdr.e_machine;
+
       cfi->other_byte_order = dbg->other_byte_order;
       cfi->default_same_value = false;
 
diff --git a/libdw/dwarf_getcfi_elf.c b/libdw/dwarf_getcfi_elf.c
index adcaea0..c0e3cad 100644
--- a/libdw/dwarf_getcfi_elf.c
+++ b/libdw/dwarf_getcfi_elf.c
@@ -41,7 +41,7 @@
 
 
 static Dwarf_CFI *
-allocate_cfi (Elf *elf, GElf_Addr vaddr)
+allocate_cfi (Elf *elf, const GElf_Ehdr *ehdr, GElf_Addr vaddr)
 {
   Dwarf_CFI *cfi = calloc (1, sizeof *cfi);
   if (cfi == NULL)
@@ -58,6 +58,8 @@
       return NULL;
     }
 
+  cfi->e_machine = ehdr->e_machine;
+
   if ((BYTE_ORDER == LITTLE_ENDIAN && cfi->e_ident[EI_DATA] == ELFDATA2MSB)
       || (BYTE_ORDER == BIG_ENDIAN && cfi->e_ident[EI_DATA] == ELFDATA2LSB))
     cfi->other_byte_order = true;
@@ -172,7 +174,7 @@
       __libdw_seterrno (DWARF_E_INVALID_ELF); /* XXX might be read error */
       return NULL;
     }
-  Dwarf_CFI *cfi = allocate_cfi (elf, eh_frame_ptr);
+  Dwarf_CFI *cfi = allocate_cfi (elf, ehdr, eh_frame_ptr);
   if (cfi != NULL)
     {
       cfi->data = (Elf_Data_Scn *) data;
@@ -222,7 +224,7 @@
       __libdw_seterrno (DWARF_E_INVALID_ELF);
       return NULL;
     }
-  Dwarf_CFI *cfi = allocate_cfi (elf, shdr->sh_addr);
+  Dwarf_CFI *cfi = allocate_cfi (elf, ehdr, shdr->sh_addr);
   if (cfi != NULL)
     {
       cfi->data = (Elf_Data_Scn *) data;
diff --git a/libdw/dwarf_getlocation.c b/libdw/dwarf_getlocation.c
index 6fb3ff3..4e582db 100644
--- a/libdw/dwarf_getlocation.c
+++ b/libdw/dwarf_getlocation.c
@@ -50,7 +50,7 @@
 
   /* Otherwise must be one of the attributes listed below.  Older
      DWARF versions might have encoded the exprloc as block, and we
-     cannot easily distinquish attributes in the loclist class because
+     cannot easily distinguish attributes in the loclist class because
      the same forms are used for different classes.  */
   switch (attr->code)
     {
@@ -130,9 +130,8 @@
   struct loc_block_s *block = libdw_alloc (dbg, struct loc_block_s,
 					   sizeof (struct loc_block_s), 1);
   const unsigned char *data = (const unsigned char *) (uintptr_t) op->number2;
-  uint64_t len = __libdw_get_uleb128 (&data, data + len_leb128 (Dwarf_Word));
-  if (unlikely (len != op->number))
-    return -1;
+  /* Skip the block length.  */
+  __libdw_get_uleb128_unchecked (&data);
   block->addr = op;
   block->data = (unsigned char *) data;
   block->length = op->number;
@@ -161,11 +160,14 @@
   return 0;
 }
 
-/* DW_AT_data_member_location can be a constant as well as a loclistptr.
-   Only data[48] indicate a loclistptr.  */
+/* If the given attribute is DW_AT_data_member_location and it has constant
+   form then create a fake location using DW_OP_plus_uconst and the offset
+   value.  On success returns zero and fills in llbuf (when not NULL) and
+   sets listlen to 1.  Returns 1 when this isn't a DW_AT_data_member_location
+   offset.  Returns -1 and sets dwarf_errno on failure (bad DWARF data).  */
 static int
-check_constant_offset (Dwarf_Attribute *attr,
-		       Dwarf_Op **llbuf, size_t *listlen)
+is_constant_offset (Dwarf_Attribute *attr,
+		    Dwarf_Op **llbuf, size_t *listlen)
 {
   if (attr->code != DW_AT_data_member_location)
     return 1;
@@ -386,7 +388,7 @@
 	    invalid:
 	      __libdw_seterrno (DWARF_E_INVALID_DWARF);
 	    returnmem:
-	      /* Free any dynamicly allocated loclists, if any.  */
+	      /* Free any dynamically allocated loclists, if any.  */
 	      while (n > MAX_STACK_LOCS)
 		{
 		  struct loclist *loc = loclist;
@@ -665,9 +667,9 @@
   if (! attr_ok (attr))
     return -1;
 
-  int result = check_constant_offset (attr, llbuf, listlen);
+  int result = is_constant_offset (attr, llbuf, listlen);
   if (result != 1)
-    return result;
+    return result; /* Either success 0, or -1 to indicate error.  */
 
   /* If it has a block form, it's a single location expression.
      Except for DW_FORM_data16, which is a 128bit constant.  */
@@ -898,7 +900,8 @@
 	}
     }
 
-  int result = check_constant_offset (attr, llbufs, listlens);
+  /* If is_constant_offset is successful, we are done with 1 result.  */
+  int result = is_constant_offset (attr, llbufs, listlens);
   if (result != 1)
     return result ?: 1;
 
@@ -979,7 +982,7 @@
 	    }
 	}
 
-      int result = check_constant_offset (attr, expr, exprlen);
+      int result = is_constant_offset (attr, expr, exprlen);
       if (result != 1)
 	{
 	  if (result == 0)
@@ -989,7 +992,7 @@
 	      *endp = -1;
 	      return 1;
 	    }
-	  return result;
+	  return result; /* Something bad, dwarf_errno has been set.  */
 	}
 
       /* We must be looking at a true loclistptr, fetch the initial
diff --git a/libdw/dwarf_getsrclines.c b/libdw/dwarf_getsrclines.c
index 75ec9c7..d6a581a 100644
--- a/libdw/dwarf_getsrclines.c
+++ b/libdw/dwarf_getsrclines.c
@@ -757,7 +757,7 @@
 
 	    case DW_LNE_set_address:
 	      /* The value is an address.  The size is defined as
-		 apporiate for the target machine.  We use the
+		 appropriate for the target machine.  We use the
 		 address size field from the CU header.  */
 	      state.op_index = 0;
 	      if (unlikely (lineendp - linep < (uint8_t) address_size))
diff --git a/libdw/dwarf_ranges.c b/libdw/dwarf_ranges.c
index f67d8a5..520f9ff 100644
--- a/libdw/dwarf_ranges.c
+++ b/libdw/dwarf_ranges.c
@@ -506,6 +506,11 @@
       Dwarf_Attribute attr_mem;
       Dwarf_Attribute *attr = INTUSE(dwarf_attr) (die, DW_AT_ranges,
 						  &attr_mem);
+      /* Note that above we use dwarf_attr, not dwarf_attr_integrate.
+	 The only case where the ranges can come from another DIE
+	 attribute are the split CU case. In that case we also have a
+	 different CU to check against. But that is already set up
+	 above using __libdw_find_split_unit.  */
       if (attr == NULL
 	  && is_cudie (die)
 	  && die->cu->unit_type == DW_UT_split_compile)
diff --git a/libdw/known-dwarf.h b/libdw/known-dwarf.h
deleted file mode 100644
index 364d7ca..0000000
--- a/libdw/known-dwarf.h
+++ /dev/null
@@ -1,633 +0,0 @@
-/* Generated by config/known-dwarf.awk from libdw/dwarf.h contents.  */
-
-#define DWARF_ALL_KNOWN_DW_ACCESS \
-  DWARF_ONE_KNOWN_DW_ACCESS (private, DW_ACCESS_private) \
-  DWARF_ONE_KNOWN_DW_ACCESS (protected, DW_ACCESS_protected) \
-  DWARF_ONE_KNOWN_DW_ACCESS (public, DW_ACCESS_public) \
-  /* End of DW_ACCESS_*.  */
-
-#define DWARF_ALL_KNOWN_DW_AT \
-  DWARF_ONE_KNOWN_DW_AT (GNU_all_call_sites, DW_AT_GNU_all_call_sites) \
-  DWARF_ONE_KNOWN_DW_AT (GNU_all_source_call_sites, DW_AT_GNU_all_source_call_sites) \
-  DWARF_ONE_KNOWN_DW_AT (GNU_all_tail_call_sites, DW_AT_GNU_all_tail_call_sites) \
-  DWARF_ONE_KNOWN_DW_AT (GNU_call_site_data_value, DW_AT_GNU_call_site_data_value) \
-  DWARF_ONE_KNOWN_DW_AT (GNU_call_site_target, DW_AT_GNU_call_site_target) \
-  DWARF_ONE_KNOWN_DW_AT (GNU_call_site_target_clobbered, DW_AT_GNU_call_site_target_clobbered) \
-  DWARF_ONE_KNOWN_DW_AT (GNU_call_site_value, DW_AT_GNU_call_site_value) \
-  DWARF_ONE_KNOWN_DW_AT (GNU_deleted, DW_AT_GNU_deleted) \
-  DWARF_ONE_KNOWN_DW_AT (GNU_exclusive_locks_required, DW_AT_GNU_exclusive_locks_required) \
-  DWARF_ONE_KNOWN_DW_AT (GNU_guarded, DW_AT_GNU_guarded) \
-  DWARF_ONE_KNOWN_DW_AT (GNU_guarded_by, DW_AT_GNU_guarded_by) \
-  DWARF_ONE_KNOWN_DW_AT (GNU_locks_excluded, DW_AT_GNU_locks_excluded) \
-  DWARF_ONE_KNOWN_DW_AT (GNU_macros, DW_AT_GNU_macros) \
-  DWARF_ONE_KNOWN_DW_AT (GNU_odr_signature, DW_AT_GNU_odr_signature) \
-  DWARF_ONE_KNOWN_DW_AT (GNU_pt_guarded, DW_AT_GNU_pt_guarded) \
-  DWARF_ONE_KNOWN_DW_AT (GNU_pt_guarded_by, DW_AT_GNU_pt_guarded_by) \
-  DWARF_ONE_KNOWN_DW_AT (GNU_shared_locks_required, DW_AT_GNU_shared_locks_required) \
-  DWARF_ONE_KNOWN_DW_AT (GNU_tail_call, DW_AT_GNU_tail_call) \
-  DWARF_ONE_KNOWN_DW_AT (GNU_template_name, DW_AT_GNU_template_name) \
-  DWARF_ONE_KNOWN_DW_AT (GNU_vector, DW_AT_GNU_vector) \
-  DWARF_ONE_KNOWN_DW_AT (MIPS_abstract_name, DW_AT_MIPS_abstract_name) \
-  DWARF_ONE_KNOWN_DW_AT (MIPS_allocatable_dopetype, DW_AT_MIPS_allocatable_dopetype) \
-  DWARF_ONE_KNOWN_DW_AT (MIPS_assumed_shape_dopetype, DW_AT_MIPS_assumed_shape_dopetype) \
-  DWARF_ONE_KNOWN_DW_AT (MIPS_assumed_size, DW_AT_MIPS_assumed_size) \
-  DWARF_ONE_KNOWN_DW_AT (MIPS_clone_origin, DW_AT_MIPS_clone_origin) \
-  DWARF_ONE_KNOWN_DW_AT (MIPS_epilog_begin, DW_AT_MIPS_epilog_begin) \
-  DWARF_ONE_KNOWN_DW_AT (MIPS_fde, DW_AT_MIPS_fde) \
-  DWARF_ONE_KNOWN_DW_AT (MIPS_has_inlines, DW_AT_MIPS_has_inlines) \
-  DWARF_ONE_KNOWN_DW_AT (MIPS_linkage_name, DW_AT_MIPS_linkage_name) \
-  DWARF_ONE_KNOWN_DW_AT (MIPS_loop_begin, DW_AT_MIPS_loop_begin) \
-  DWARF_ONE_KNOWN_DW_AT (MIPS_loop_unroll_factor, DW_AT_MIPS_loop_unroll_factor) \
-  DWARF_ONE_KNOWN_DW_AT (MIPS_ptr_dopetype, DW_AT_MIPS_ptr_dopetype) \
-  DWARF_ONE_KNOWN_DW_AT (MIPS_software_pipeline_depth, DW_AT_MIPS_software_pipeline_depth) \
-  DWARF_ONE_KNOWN_DW_AT (MIPS_stride, DW_AT_MIPS_stride) \
-  DWARF_ONE_KNOWN_DW_AT (MIPS_stride_byte, DW_AT_MIPS_stride_byte) \
-  DWARF_ONE_KNOWN_DW_AT (MIPS_stride_elem, DW_AT_MIPS_stride_elem) \
-  DWARF_ONE_KNOWN_DW_AT (MIPS_tail_loop_begin, DW_AT_MIPS_tail_loop_begin) \
-  DWARF_ONE_KNOWN_DW_AT (abstract_origin, DW_AT_abstract_origin) \
-  DWARF_ONE_KNOWN_DW_AT (accessibility, DW_AT_accessibility) \
-  DWARF_ONE_KNOWN_DW_AT (address_class, DW_AT_address_class) \
-  DWARF_ONE_KNOWN_DW_AT (allocated, DW_AT_allocated) \
-  DWARF_ONE_KNOWN_DW_AT (artificial, DW_AT_artificial) \
-  DWARF_ONE_KNOWN_DW_AT (associated, DW_AT_associated) \
-  DWARF_ONE_KNOWN_DW_AT (base_types, DW_AT_base_types) \
-  DWARF_ONE_KNOWN_DW_AT (binary_scale, DW_AT_binary_scale) \
-  DWARF_ONE_KNOWN_DW_AT (bit_offset, DW_AT_bit_offset) \
-  DWARF_ONE_KNOWN_DW_AT (bit_size, DW_AT_bit_size) \
-  DWARF_ONE_KNOWN_DW_AT (bit_stride, DW_AT_bit_stride) \
-  DWARF_ONE_KNOWN_DW_AT (body_begin, DW_AT_body_begin) \
-  DWARF_ONE_KNOWN_DW_AT (body_end, DW_AT_body_end) \
-  DWARF_ONE_KNOWN_DW_AT (byte_size, DW_AT_byte_size) \
-  DWARF_ONE_KNOWN_DW_AT (byte_stride, DW_AT_byte_stride) \
-  DWARF_ONE_KNOWN_DW_AT (call_column, DW_AT_call_column) \
-  DWARF_ONE_KNOWN_DW_AT (call_file, DW_AT_call_file) \
-  DWARF_ONE_KNOWN_DW_AT (call_line, DW_AT_call_line) \
-  DWARF_ONE_KNOWN_DW_AT (calling_convention, DW_AT_calling_convention) \
-  DWARF_ONE_KNOWN_DW_AT (common_reference, DW_AT_common_reference) \
-  DWARF_ONE_KNOWN_DW_AT (comp_dir, DW_AT_comp_dir) \
-  DWARF_ONE_KNOWN_DW_AT (const_expr, DW_AT_const_expr) \
-  DWARF_ONE_KNOWN_DW_AT (const_value, DW_AT_const_value) \
-  DWARF_ONE_KNOWN_DW_AT (containing_type, DW_AT_containing_type) \
-  DWARF_ONE_KNOWN_DW_AT (count, DW_AT_count) \
-  DWARF_ONE_KNOWN_DW_AT (data_bit_offset, DW_AT_data_bit_offset) \
-  DWARF_ONE_KNOWN_DW_AT (data_location, DW_AT_data_location) \
-  DWARF_ONE_KNOWN_DW_AT (data_member_location, DW_AT_data_member_location) \
-  DWARF_ONE_KNOWN_DW_AT (decimal_scale, DW_AT_decimal_scale) \
-  DWARF_ONE_KNOWN_DW_AT (decimal_sign, DW_AT_decimal_sign) \
-  DWARF_ONE_KNOWN_DW_AT (decl_column, DW_AT_decl_column) \
-  DWARF_ONE_KNOWN_DW_AT (decl_file, DW_AT_decl_file) \
-  DWARF_ONE_KNOWN_DW_AT (decl_line, DW_AT_decl_line) \
-  DWARF_ONE_KNOWN_DW_AT (declaration, DW_AT_declaration) \
-  DWARF_ONE_KNOWN_DW_AT (default_value, DW_AT_default_value) \
-  DWARF_ONE_KNOWN_DW_AT (description, DW_AT_description) \
-  DWARF_ONE_KNOWN_DW_AT (digit_count, DW_AT_digit_count) \
-  DWARF_ONE_KNOWN_DW_AT (discr, DW_AT_discr) \
-  DWARF_ONE_KNOWN_DW_AT (discr_list, DW_AT_discr_list) \
-  DWARF_ONE_KNOWN_DW_AT (discr_value, DW_AT_discr_value) \
-  DWARF_ONE_KNOWN_DW_AT (element_list, DW_AT_element_list) \
-  DWARF_ONE_KNOWN_DW_AT (elemental, DW_AT_elemental) \
-  DWARF_ONE_KNOWN_DW_AT (encoding, DW_AT_encoding) \
-  DWARF_ONE_KNOWN_DW_AT (endianity, DW_AT_endianity) \
-  DWARF_ONE_KNOWN_DW_AT (entry_pc, DW_AT_entry_pc) \
-  DWARF_ONE_KNOWN_DW_AT (enum_class, DW_AT_enum_class) \
-  DWARF_ONE_KNOWN_DW_AT (explicit, DW_AT_explicit) \
-  DWARF_ONE_KNOWN_DW_AT (extension, DW_AT_extension) \
-  DWARF_ONE_KNOWN_DW_AT (external, DW_AT_external) \
-  DWARF_ONE_KNOWN_DW_AT (frame_base, DW_AT_frame_base) \
-  DWARF_ONE_KNOWN_DW_AT (friend, DW_AT_friend) \
-  DWARF_ONE_KNOWN_DW_AT (high_pc, DW_AT_high_pc) \
-  DWARF_ONE_KNOWN_DW_AT (identifier_case, DW_AT_identifier_case) \
-  DWARF_ONE_KNOWN_DW_AT (import, DW_AT_import) \
-  DWARF_ONE_KNOWN_DW_AT (inline, DW_AT_inline) \
-  DWARF_ONE_KNOWN_DW_AT (is_optional, DW_AT_is_optional) \
-  DWARF_ONE_KNOWN_DW_AT (language, DW_AT_language) \
-  DWARF_ONE_KNOWN_DW_AT (linkage_name, DW_AT_linkage_name) \
-  DWARF_ONE_KNOWN_DW_AT (location, DW_AT_location) \
-  DWARF_ONE_KNOWN_DW_AT (low_pc, DW_AT_low_pc) \
-  DWARF_ONE_KNOWN_DW_AT (lower_bound, DW_AT_lower_bound) \
-  DWARF_ONE_KNOWN_DW_AT (mac_info, DW_AT_mac_info) \
-  DWARF_ONE_KNOWN_DW_AT (macro_info, DW_AT_macro_info) \
-  DWARF_ONE_KNOWN_DW_AT (main_subprogram, DW_AT_main_subprogram) \
-  DWARF_ONE_KNOWN_DW_AT (member, DW_AT_member) \
-  DWARF_ONE_KNOWN_DW_AT (mutable, DW_AT_mutable) \
-  DWARF_ONE_KNOWN_DW_AT (name, DW_AT_name) \
-  DWARF_ONE_KNOWN_DW_AT (namelist_item, DW_AT_namelist_item) \
-  DWARF_ONE_KNOWN_DW_AT (noreturn, DW_AT_noreturn) \
-  DWARF_ONE_KNOWN_DW_AT (object_pointer, DW_AT_object_pointer) \
-  DWARF_ONE_KNOWN_DW_AT (ordering, DW_AT_ordering) \
-  DWARF_ONE_KNOWN_DW_AT (picture_string, DW_AT_picture_string) \
-  DWARF_ONE_KNOWN_DW_AT (priority, DW_AT_priority) \
-  DWARF_ONE_KNOWN_DW_AT (producer, DW_AT_producer) \
-  DWARF_ONE_KNOWN_DW_AT (prototyped, DW_AT_prototyped) \
-  DWARF_ONE_KNOWN_DW_AT (pure, DW_AT_pure) \
-  DWARF_ONE_KNOWN_DW_AT (ranges, DW_AT_ranges) \
-  DWARF_ONE_KNOWN_DW_AT (recursive, DW_AT_recursive) \
-  DWARF_ONE_KNOWN_DW_AT (return_addr, DW_AT_return_addr) \
-  DWARF_ONE_KNOWN_DW_AT (segment, DW_AT_segment) \
-  DWARF_ONE_KNOWN_DW_AT (sf_names, DW_AT_sf_names) \
-  DWARF_ONE_KNOWN_DW_AT (sibling, DW_AT_sibling) \
-  DWARF_ONE_KNOWN_DW_AT (signature, DW_AT_signature) \
-  DWARF_ONE_KNOWN_DW_AT (small, DW_AT_small) \
-  DWARF_ONE_KNOWN_DW_AT (specification, DW_AT_specification) \
-  DWARF_ONE_KNOWN_DW_AT (src_coords, DW_AT_src_coords) \
-  DWARF_ONE_KNOWN_DW_AT (src_info, DW_AT_src_info) \
-  DWARF_ONE_KNOWN_DW_AT (start_scope, DW_AT_start_scope) \
-  DWARF_ONE_KNOWN_DW_AT (static_link, DW_AT_static_link) \
-  DWARF_ONE_KNOWN_DW_AT (stmt_list, DW_AT_stmt_list) \
-  DWARF_ONE_KNOWN_DW_AT (string_length, DW_AT_string_length) \
-  DWARF_ONE_KNOWN_DW_AT (subscr_data, DW_AT_subscr_data) \
-  DWARF_ONE_KNOWN_DW_AT (threads_scaled, DW_AT_threads_scaled) \
-  DWARF_ONE_KNOWN_DW_AT (trampoline, DW_AT_trampoline) \
-  DWARF_ONE_KNOWN_DW_AT (type, DW_AT_type) \
-  DWARF_ONE_KNOWN_DW_AT (upper_bound, DW_AT_upper_bound) \
-  DWARF_ONE_KNOWN_DW_AT (use_UTF8, DW_AT_use_UTF8) \
-  DWARF_ONE_KNOWN_DW_AT (use_location, DW_AT_use_location) \
-  DWARF_ONE_KNOWN_DW_AT (variable_parameter, DW_AT_variable_parameter) \
-  DWARF_ONE_KNOWN_DW_AT (virtuality, DW_AT_virtuality) \
-  DWARF_ONE_KNOWN_DW_AT (visibility, DW_AT_visibility) \
-  DWARF_ONE_KNOWN_DW_AT (vtable_elem_location, DW_AT_vtable_elem_location) \
-  /* End of DW_AT_*.  */
-
-#define DWARF_ALL_KNOWN_DW_ATE \
-  DWARF_ONE_KNOWN_DW_ATE (UTF, DW_ATE_UTF) \
-  DWARF_ONE_KNOWN_DW_ATE (address, DW_ATE_address) \
-  DWARF_ONE_KNOWN_DW_ATE (boolean, DW_ATE_boolean) \
-  DWARF_ONE_KNOWN_DW_ATE (complex_float, DW_ATE_complex_float) \
-  DWARF_ONE_KNOWN_DW_ATE (decimal_float, DW_ATE_decimal_float) \
-  DWARF_ONE_KNOWN_DW_ATE (edited, DW_ATE_edited) \
-  DWARF_ONE_KNOWN_DW_ATE (float, DW_ATE_float) \
-  DWARF_ONE_KNOWN_DW_ATE (imaginary_float, DW_ATE_imaginary_float) \
-  DWARF_ONE_KNOWN_DW_ATE (numeric_string, DW_ATE_numeric_string) \
-  DWARF_ONE_KNOWN_DW_ATE (packed_decimal, DW_ATE_packed_decimal) \
-  DWARF_ONE_KNOWN_DW_ATE (signed, DW_ATE_signed) \
-  DWARF_ONE_KNOWN_DW_ATE (signed_char, DW_ATE_signed_char) \
-  DWARF_ONE_KNOWN_DW_ATE (signed_fixed, DW_ATE_signed_fixed) \
-  DWARF_ONE_KNOWN_DW_ATE (unsigned, DW_ATE_unsigned) \
-  DWARF_ONE_KNOWN_DW_ATE (unsigned_char, DW_ATE_unsigned_char) \
-  DWARF_ONE_KNOWN_DW_ATE (unsigned_fixed, DW_ATE_unsigned_fixed) \
-  DWARF_ONE_KNOWN_DW_ATE (void, DW_ATE_void) \
-  /* End of DW_ATE_*.  */
-
-#define DWARF_ALL_KNOWN_DW_CC \
-  DWARF_ONE_KNOWN_DW_CC (nocall, DW_CC_nocall) \
-  DWARF_ONE_KNOWN_DW_CC (normal, DW_CC_normal) \
-  DWARF_ONE_KNOWN_DW_CC (program, DW_CC_program) \
-  /* End of DW_CC_*.  */
-
-#define DWARF_ALL_KNOWN_DW_CFA \
-  DWARF_ONE_KNOWN_DW_CFA (GNU_args_size, DW_CFA_GNU_args_size) \
-  DWARF_ONE_KNOWN_DW_CFA (GNU_negative_offset_extended, DW_CFA_GNU_negative_offset_extended) \
-  DWARF_ONE_KNOWN_DW_CFA (GNU_window_save, DW_CFA_GNU_window_save) \
-  DWARF_ONE_KNOWN_DW_CFA (MIPS_advance_loc8, DW_CFA_MIPS_advance_loc8) \
-  DWARF_ONE_KNOWN_DW_CFA (advance_loc, DW_CFA_advance_loc) \
-  DWARF_ONE_KNOWN_DW_CFA (advance_loc1, DW_CFA_advance_loc1) \
-  DWARF_ONE_KNOWN_DW_CFA (advance_loc2, DW_CFA_advance_loc2) \
-  DWARF_ONE_KNOWN_DW_CFA (advance_loc4, DW_CFA_advance_loc4) \
-  DWARF_ONE_KNOWN_DW_CFA (def_cfa, DW_CFA_def_cfa) \
-  DWARF_ONE_KNOWN_DW_CFA (def_cfa_expression, DW_CFA_def_cfa_expression) \
-  DWARF_ONE_KNOWN_DW_CFA (def_cfa_offset, DW_CFA_def_cfa_offset) \
-  DWARF_ONE_KNOWN_DW_CFA (def_cfa_offset_sf, DW_CFA_def_cfa_offset_sf) \
-  DWARF_ONE_KNOWN_DW_CFA (def_cfa_register, DW_CFA_def_cfa_register) \
-  DWARF_ONE_KNOWN_DW_CFA (def_cfa_sf, DW_CFA_def_cfa_sf) \
-  DWARF_ONE_KNOWN_DW_CFA (expression, DW_CFA_expression) \
-  DWARF_ONE_KNOWN_DW_CFA (extended, DW_CFA_extended) \
-  DWARF_ONE_KNOWN_DW_CFA (nop, DW_CFA_nop) \
-  DWARF_ONE_KNOWN_DW_CFA (offset, DW_CFA_offset) \
-  DWARF_ONE_KNOWN_DW_CFA (offset_extended, DW_CFA_offset_extended) \
-  DWARF_ONE_KNOWN_DW_CFA (offset_extended_sf, DW_CFA_offset_extended_sf) \
-  DWARF_ONE_KNOWN_DW_CFA (register, DW_CFA_register) \
-  DWARF_ONE_KNOWN_DW_CFA (remember_state, DW_CFA_remember_state) \
-  DWARF_ONE_KNOWN_DW_CFA (restore, DW_CFA_restore) \
-  DWARF_ONE_KNOWN_DW_CFA (restore_extended, DW_CFA_restore_extended) \
-  DWARF_ONE_KNOWN_DW_CFA (restore_state, DW_CFA_restore_state) \
-  DWARF_ONE_KNOWN_DW_CFA (same_value, DW_CFA_same_value) \
-  DWARF_ONE_KNOWN_DW_CFA (set_loc, DW_CFA_set_loc) \
-  DWARF_ONE_KNOWN_DW_CFA (undefined, DW_CFA_undefined) \
-  DWARF_ONE_KNOWN_DW_CFA (val_expression, DW_CFA_val_expression) \
-  DWARF_ONE_KNOWN_DW_CFA (val_offset, DW_CFA_val_offset) \
-  DWARF_ONE_KNOWN_DW_CFA (val_offset_sf, DW_CFA_val_offset_sf) \
-  /* End of DW_CFA_*.  */
-
-#define DWARF_ALL_KNOWN_DW_CHILDREN \
-  DWARF_ONE_KNOWN_DW_CHILDREN (no, DW_CHILDREN_no) \
-  DWARF_ONE_KNOWN_DW_CHILDREN (yes, DW_CHILDREN_yes) \
-  /* End of DW_CHILDREN_*.  */
-
-#define DWARF_ALL_KNOWN_DW_CIE_ID \
-  DWARF_ONE_KNOWN_DW_CIE_ID (32, DW_CIE_ID_32) \
-  DWARF_ONE_KNOWN_DW_CIE_ID (64, DW_CIE_ID_64) \
-  /* End of DW_CIE_ID_*.  */
-
-#define DWARF_ALL_KNOWN_DW_DS \
-  DWARF_ONE_KNOWN_DW_DS (leading_overpunch, DW_DS_leading_overpunch) \
-  DWARF_ONE_KNOWN_DW_DS (leading_separate, DW_DS_leading_separate) \
-  DWARF_ONE_KNOWN_DW_DS (trailing_overpunch, DW_DS_trailing_overpunch) \
-  DWARF_ONE_KNOWN_DW_DS (trailing_separate, DW_DS_trailing_separate) \
-  DWARF_ONE_KNOWN_DW_DS (unsigned, DW_DS_unsigned) \
-  /* End of DW_DS_*.  */
-
-#define DWARF_ALL_KNOWN_DW_DSC \
-  DWARF_ONE_KNOWN_DW_DSC (label, DW_DSC_label) \
-  DWARF_ONE_KNOWN_DW_DSC (range, DW_DSC_range) \
-  /* End of DW_DSC_*.  */
-
-#define DWARF_ALL_KNOWN_DW_EH_PE \
-  DWARF_ONE_KNOWN_DW_EH_PE (absptr, DW_EH_PE_absptr) \
-  DWARF_ONE_KNOWN_DW_EH_PE (aligned, DW_EH_PE_aligned) \
-  DWARF_ONE_KNOWN_DW_EH_PE (datarel, DW_EH_PE_datarel) \
-  DWARF_ONE_KNOWN_DW_EH_PE (funcrel, DW_EH_PE_funcrel) \
-  DWARF_ONE_KNOWN_DW_EH_PE (indirect, DW_EH_PE_indirect) \
-  DWARF_ONE_KNOWN_DW_EH_PE (omit, DW_EH_PE_omit) \
-  DWARF_ONE_KNOWN_DW_EH_PE (pcrel, DW_EH_PE_pcrel) \
-  DWARF_ONE_KNOWN_DW_EH_PE (sdata2, DW_EH_PE_sdata2) \
-  DWARF_ONE_KNOWN_DW_EH_PE (sdata4, DW_EH_PE_sdata4) \
-  DWARF_ONE_KNOWN_DW_EH_PE (sdata8, DW_EH_PE_sdata8) \
-  DWARF_ONE_KNOWN_DW_EH_PE (signed, DW_EH_PE_signed) \
-  DWARF_ONE_KNOWN_DW_EH_PE (sleb128, DW_EH_PE_sleb128) \
-  DWARF_ONE_KNOWN_DW_EH_PE (textrel, DW_EH_PE_textrel) \
-  DWARF_ONE_KNOWN_DW_EH_PE (udata2, DW_EH_PE_udata2) \
-  DWARF_ONE_KNOWN_DW_EH_PE (udata4, DW_EH_PE_udata4) \
-  DWARF_ONE_KNOWN_DW_EH_PE (udata8, DW_EH_PE_udata8) \
-  DWARF_ONE_KNOWN_DW_EH_PE (uleb128, DW_EH_PE_uleb128) \
-  /* End of DW_EH_PE_*.  */
-
-#define DWARF_ALL_KNOWN_DW_END \
-  DWARF_ONE_KNOWN_DW_END (big, DW_END_big) \
-  DWARF_ONE_KNOWN_DW_END (default, DW_END_default) \
-  DWARF_ONE_KNOWN_DW_END (little, DW_END_little) \
-  /* End of DW_END_*.  */
-
-#define DWARF_ALL_KNOWN_DW_FORM \
-  DWARF_ONE_KNOWN_DW_FORM (GNU_ref_alt, DW_FORM_GNU_ref_alt) \
-  DWARF_ONE_KNOWN_DW_FORM (GNU_strp_alt, DW_FORM_GNU_strp_alt) \
-  DWARF_ONE_KNOWN_DW_FORM (addr, DW_FORM_addr) \
-  DWARF_ONE_KNOWN_DW_FORM (block, DW_FORM_block) \
-  DWARF_ONE_KNOWN_DW_FORM (block1, DW_FORM_block1) \
-  DWARF_ONE_KNOWN_DW_FORM (block2, DW_FORM_block2) \
-  DWARF_ONE_KNOWN_DW_FORM (block4, DW_FORM_block4) \
-  DWARF_ONE_KNOWN_DW_FORM (data1, DW_FORM_data1) \
-  DWARF_ONE_KNOWN_DW_FORM (data2, DW_FORM_data2) \
-  DWARF_ONE_KNOWN_DW_FORM (data4, DW_FORM_data4) \
-  DWARF_ONE_KNOWN_DW_FORM (data8, DW_FORM_data8) \
-  DWARF_ONE_KNOWN_DW_FORM (exprloc, DW_FORM_exprloc) \
-  DWARF_ONE_KNOWN_DW_FORM (flag, DW_FORM_flag) \
-  DWARF_ONE_KNOWN_DW_FORM (flag_present, DW_FORM_flag_present) \
-  DWARF_ONE_KNOWN_DW_FORM (indirect, DW_FORM_indirect) \
-  DWARF_ONE_KNOWN_DW_FORM (ref1, DW_FORM_ref1) \
-  DWARF_ONE_KNOWN_DW_FORM (ref2, DW_FORM_ref2) \
-  DWARF_ONE_KNOWN_DW_FORM (ref4, DW_FORM_ref4) \
-  DWARF_ONE_KNOWN_DW_FORM (ref8, DW_FORM_ref8) \
-  DWARF_ONE_KNOWN_DW_FORM (ref_addr, DW_FORM_ref_addr) \
-  DWARF_ONE_KNOWN_DW_FORM (ref_sig8, DW_FORM_ref_sig8) \
-  DWARF_ONE_KNOWN_DW_FORM (ref_udata, DW_FORM_ref_udata) \
-  DWARF_ONE_KNOWN_DW_FORM (sdata, DW_FORM_sdata) \
-  DWARF_ONE_KNOWN_DW_FORM (sec_offset, DW_FORM_sec_offset) \
-  DWARF_ONE_KNOWN_DW_FORM (string, DW_FORM_string) \
-  DWARF_ONE_KNOWN_DW_FORM (strp, DW_FORM_strp) \
-  DWARF_ONE_KNOWN_DW_FORM (udata, DW_FORM_udata) \
-  /* End of DW_FORM_*.  */
-
-#define DWARF_ALL_KNOWN_DW_ID \
-  DWARF_ONE_KNOWN_DW_ID (case_insensitive, DW_ID_case_insensitive) \
-  DWARF_ONE_KNOWN_DW_ID (case_sensitive, DW_ID_case_sensitive) \
-  DWARF_ONE_KNOWN_DW_ID (down_case, DW_ID_down_case) \
-  DWARF_ONE_KNOWN_DW_ID (up_case, DW_ID_up_case) \
-  /* End of DW_ID_*.  */
-
-#define DWARF_ALL_KNOWN_DW_INL \
-  DWARF_ONE_KNOWN_DW_INL (declared_inlined, DW_INL_declared_inlined) \
-  DWARF_ONE_KNOWN_DW_INL (declared_not_inlined, DW_INL_declared_not_inlined) \
-  DWARF_ONE_KNOWN_DW_INL (inlined, DW_INL_inlined) \
-  DWARF_ONE_KNOWN_DW_INL (not_inlined, DW_INL_not_inlined) \
-  /* End of DW_INL_*.  */
-
-#define DWARF_ALL_KNOWN_DW_LANG \
-  DWARF_ONE_KNOWN_DW_LANG (Ada83, DW_LANG_Ada83) \
-  DWARF_ONE_KNOWN_DW_LANG (Ada95, DW_LANG_Ada95) \
-  DWARF_ONE_KNOWN_DW_LANG (C, DW_LANG_C) \
-  DWARF_ONE_KNOWN_DW_LANG (C11, DW_LANG_C11) \
-  DWARF_ONE_KNOWN_DW_LANG (C89, DW_LANG_C89) \
-  DWARF_ONE_KNOWN_DW_LANG (C99, DW_LANG_C99) \
-  DWARF_ONE_KNOWN_DW_LANG (C_plus_plus, DW_LANG_C_plus_plus) \
-  DWARF_ONE_KNOWN_DW_LANG (C_plus_plus_11, DW_LANG_C_plus_plus_11) \
-  DWARF_ONE_KNOWN_DW_LANG (C_plus_plus_14, DW_LANG_C_plus_plus_14) \
-  DWARF_ONE_KNOWN_DW_LANG (Cobol74, DW_LANG_Cobol74) \
-  DWARF_ONE_KNOWN_DW_LANG (Cobol85, DW_LANG_Cobol85) \
-  DWARF_ONE_KNOWN_DW_LANG (D, DW_LANG_D) \
-  DWARF_ONE_KNOWN_DW_LANG (Fortran03, DW_LANG_Fortran03) \
-  DWARF_ONE_KNOWN_DW_LANG (Fortran08, DW_LANG_Fortran08) \
-  DWARF_ONE_KNOWN_DW_LANG (Fortran77, DW_LANG_Fortran77) \
-  DWARF_ONE_KNOWN_DW_LANG (Fortran90, DW_LANG_Fortran90) \
-  DWARF_ONE_KNOWN_DW_LANG (Fortran95, DW_LANG_Fortran95) \
-  DWARF_ONE_KNOWN_DW_LANG (Go, DW_LANG_Go) \
-  DWARF_ONE_KNOWN_DW_LANG (Haskell, DW_LANG_Haskell) \
-  DWARF_ONE_KNOWN_DW_LANG (Java, DW_LANG_Java) \
-  DWARF_ONE_KNOWN_DW_LANG (Mips_Assembler, DW_LANG_Mips_Assembler) \
-  DWARF_ONE_KNOWN_DW_LANG (Modula2, DW_LANG_Modula2) \
-  DWARF_ONE_KNOWN_DW_LANG (ObjC, DW_LANG_ObjC) \
-  DWARF_ONE_KNOWN_DW_LANG (ObjC_plus_plus, DW_LANG_ObjC_plus_plus) \
-  DWARF_ONE_KNOWN_DW_LANG (PL1, DW_LANG_PL1) \
-  DWARF_ONE_KNOWN_DW_LANG (Pascal83, DW_LANG_Pascal83) \
-  DWARF_ONE_KNOWN_DW_LANG (Python, DW_LANG_Python) \
-  DWARF_ONE_KNOWN_DW_LANG (UPC, DW_LANG_UPC) \
-  /* End of DW_LANG_*.  */
-
-#define DWARF_ALL_KNOWN_DW_LNE \
-  DWARF_ONE_KNOWN_DW_LNE (define_file, DW_LNE_define_file) \
-  DWARF_ONE_KNOWN_DW_LNE (end_sequence, DW_LNE_end_sequence) \
-  DWARF_ONE_KNOWN_DW_LNE (set_address, DW_LNE_set_address) \
-  DWARF_ONE_KNOWN_DW_LNE (set_discriminator, DW_LNE_set_discriminator) \
-  /* End of DW_LNE_*.  */
-
-#define DWARF_ALL_KNOWN_DW_LNS \
-  DWARF_ONE_KNOWN_DW_LNS (advance_line, DW_LNS_advance_line) \
-  DWARF_ONE_KNOWN_DW_LNS (advance_pc, DW_LNS_advance_pc) \
-  DWARF_ONE_KNOWN_DW_LNS (const_add_pc, DW_LNS_const_add_pc) \
-  DWARF_ONE_KNOWN_DW_LNS (copy, DW_LNS_copy) \
-  DWARF_ONE_KNOWN_DW_LNS (fixed_advance_pc, DW_LNS_fixed_advance_pc) \
-  DWARF_ONE_KNOWN_DW_LNS (negate_stmt, DW_LNS_negate_stmt) \
-  DWARF_ONE_KNOWN_DW_LNS (set_basic_block, DW_LNS_set_basic_block) \
-  DWARF_ONE_KNOWN_DW_LNS (set_column, DW_LNS_set_column) \
-  DWARF_ONE_KNOWN_DW_LNS (set_epilogue_begin, DW_LNS_set_epilogue_begin) \
-  DWARF_ONE_KNOWN_DW_LNS (set_file, DW_LNS_set_file) \
-  DWARF_ONE_KNOWN_DW_LNS (set_isa, DW_LNS_set_isa) \
-  DWARF_ONE_KNOWN_DW_LNS (set_prologue_end, DW_LNS_set_prologue_end) \
-  /* End of DW_LNS_*.  */
-
-#define DWARF_ALL_KNOWN_DW_MACINFO \
-  DWARF_ONE_KNOWN_DW_MACINFO (define, DW_MACINFO_define) \
-  DWARF_ONE_KNOWN_DW_MACINFO (end_file, DW_MACINFO_end_file) \
-  DWARF_ONE_KNOWN_DW_MACINFO (start_file, DW_MACINFO_start_file) \
-  DWARF_ONE_KNOWN_DW_MACINFO (undef, DW_MACINFO_undef) \
-  DWARF_ONE_KNOWN_DW_MACINFO (vendor_ext, DW_MACINFO_vendor_ext) \
-  /* End of DW_MACINFO_*.  */
-
-#define DWARF_ALL_KNOWN_DW_MACRO_GNU \
-  DWARF_ONE_KNOWN_DW_MACRO_GNU (define, DW_MACRO_GNU_define) \
-  DWARF_ONE_KNOWN_DW_MACRO_GNU (define_indirect, DW_MACRO_GNU_define_indirect) \
-  DWARF_ONE_KNOWN_DW_MACRO_GNU (end_file, DW_MACRO_GNU_end_file) \
-  DWARF_ONE_KNOWN_DW_MACRO_GNU (start_file, DW_MACRO_GNU_start_file) \
-  DWARF_ONE_KNOWN_DW_MACRO_GNU (transparent_include, DW_MACRO_GNU_transparent_include) \
-  DWARF_ONE_KNOWN_DW_MACRO_GNU (undef, DW_MACRO_GNU_undef) \
-  DWARF_ONE_KNOWN_DW_MACRO_GNU (undef_indirect, DW_MACRO_GNU_undef_indirect) \
-  /* End of DW_MACRO_GNU_*.  */
-
-#define DWARF_ALL_KNOWN_DW_OP \
-  DWARF_ONE_KNOWN_DW_OP (GNU_const_type, DW_OP_GNU_const_type) \
-  DWARF_ONE_KNOWN_DW_OP (GNU_convert, DW_OP_GNU_convert) \
-  DWARF_ONE_KNOWN_DW_OP (GNU_deref_type, DW_OP_GNU_deref_type) \
-  DWARF_ONE_KNOWN_DW_OP (GNU_encoded_addr, DW_OP_GNU_encoded_addr) \
-  DWARF_ONE_KNOWN_DW_OP (GNU_entry_value, DW_OP_GNU_entry_value) \
-  DWARF_ONE_KNOWN_DW_OP (GNU_implicit_pointer, DW_OP_GNU_implicit_pointer) \
-  DWARF_ONE_KNOWN_DW_OP (GNU_parameter_ref, DW_OP_GNU_parameter_ref) \
-  DWARF_ONE_KNOWN_DW_OP (GNU_push_tls_address, DW_OP_GNU_push_tls_address) \
-  DWARF_ONE_KNOWN_DW_OP (GNU_regval_type, DW_OP_GNU_regval_type) \
-  DWARF_ONE_KNOWN_DW_OP (GNU_reinterpret, DW_OP_GNU_reinterpret) \
-  DWARF_ONE_KNOWN_DW_OP (GNU_uninit, DW_OP_GNU_uninit) \
-  DWARF_ONE_KNOWN_DW_OP (abs, DW_OP_abs) \
-  DWARF_ONE_KNOWN_DW_OP (addr, DW_OP_addr) \
-  DWARF_ONE_KNOWN_DW_OP (and, DW_OP_and) \
-  DWARF_ONE_KNOWN_DW_OP (bit_piece, DW_OP_bit_piece) \
-  DWARF_ONE_KNOWN_DW_OP (bra, DW_OP_bra) \
-  DWARF_ONE_KNOWN_DW_OP (breg0, DW_OP_breg0) \
-  DWARF_ONE_KNOWN_DW_OP (breg1, DW_OP_breg1) \
-  DWARF_ONE_KNOWN_DW_OP (breg10, DW_OP_breg10) \
-  DWARF_ONE_KNOWN_DW_OP (breg11, DW_OP_breg11) \
-  DWARF_ONE_KNOWN_DW_OP (breg12, DW_OP_breg12) \
-  DWARF_ONE_KNOWN_DW_OP (breg13, DW_OP_breg13) \
-  DWARF_ONE_KNOWN_DW_OP (breg14, DW_OP_breg14) \
-  DWARF_ONE_KNOWN_DW_OP (breg15, DW_OP_breg15) \
-  DWARF_ONE_KNOWN_DW_OP (breg16, DW_OP_breg16) \
-  DWARF_ONE_KNOWN_DW_OP (breg17, DW_OP_breg17) \
-  DWARF_ONE_KNOWN_DW_OP (breg18, DW_OP_breg18) \
-  DWARF_ONE_KNOWN_DW_OP (breg19, DW_OP_breg19) \
-  DWARF_ONE_KNOWN_DW_OP (breg2, DW_OP_breg2) \
-  DWARF_ONE_KNOWN_DW_OP (breg20, DW_OP_breg20) \
-  DWARF_ONE_KNOWN_DW_OP (breg21, DW_OP_breg21) \
-  DWARF_ONE_KNOWN_DW_OP (breg22, DW_OP_breg22) \
-  DWARF_ONE_KNOWN_DW_OP (breg23, DW_OP_breg23) \
-  DWARF_ONE_KNOWN_DW_OP (breg24, DW_OP_breg24) \
-  DWARF_ONE_KNOWN_DW_OP (breg25, DW_OP_breg25) \
-  DWARF_ONE_KNOWN_DW_OP (breg26, DW_OP_breg26) \
-  DWARF_ONE_KNOWN_DW_OP (breg27, DW_OP_breg27) \
-  DWARF_ONE_KNOWN_DW_OP (breg28, DW_OP_breg28) \
-  DWARF_ONE_KNOWN_DW_OP (breg29, DW_OP_breg29) \
-  DWARF_ONE_KNOWN_DW_OP (breg3, DW_OP_breg3) \
-  DWARF_ONE_KNOWN_DW_OP (breg30, DW_OP_breg30) \
-  DWARF_ONE_KNOWN_DW_OP (breg31, DW_OP_breg31) \
-  DWARF_ONE_KNOWN_DW_OP (breg4, DW_OP_breg4) \
-  DWARF_ONE_KNOWN_DW_OP (breg5, DW_OP_breg5) \
-  DWARF_ONE_KNOWN_DW_OP (breg6, DW_OP_breg6) \
-  DWARF_ONE_KNOWN_DW_OP (breg7, DW_OP_breg7) \
-  DWARF_ONE_KNOWN_DW_OP (breg8, DW_OP_breg8) \
-  DWARF_ONE_KNOWN_DW_OP (breg9, DW_OP_breg9) \
-  DWARF_ONE_KNOWN_DW_OP (bregx, DW_OP_bregx) \
-  DWARF_ONE_KNOWN_DW_OP (call2, DW_OP_call2) \
-  DWARF_ONE_KNOWN_DW_OP (call4, DW_OP_call4) \
-  DWARF_ONE_KNOWN_DW_OP (call_frame_cfa, DW_OP_call_frame_cfa) \
-  DWARF_ONE_KNOWN_DW_OP (call_ref, DW_OP_call_ref) \
-  DWARF_ONE_KNOWN_DW_OP (const1s, DW_OP_const1s) \
-  DWARF_ONE_KNOWN_DW_OP (const1u, DW_OP_const1u) \
-  DWARF_ONE_KNOWN_DW_OP (const2s, DW_OP_const2s) \
-  DWARF_ONE_KNOWN_DW_OP (const2u, DW_OP_const2u) \
-  DWARF_ONE_KNOWN_DW_OP (const4s, DW_OP_const4s) \
-  DWARF_ONE_KNOWN_DW_OP (const4u, DW_OP_const4u) \
-  DWARF_ONE_KNOWN_DW_OP (const8s, DW_OP_const8s) \
-  DWARF_ONE_KNOWN_DW_OP (const8u, DW_OP_const8u) \
-  DWARF_ONE_KNOWN_DW_OP (consts, DW_OP_consts) \
-  DWARF_ONE_KNOWN_DW_OP (constu, DW_OP_constu) \
-  DWARF_ONE_KNOWN_DW_OP (deref, DW_OP_deref) \
-  DWARF_ONE_KNOWN_DW_OP (deref_size, DW_OP_deref_size) \
-  DWARF_ONE_KNOWN_DW_OP (div, DW_OP_div) \
-  DWARF_ONE_KNOWN_DW_OP (drop, DW_OP_drop) \
-  DWARF_ONE_KNOWN_DW_OP (dup, DW_OP_dup) \
-  DWARF_ONE_KNOWN_DW_OP (eq, DW_OP_eq) \
-  DWARF_ONE_KNOWN_DW_OP (fbreg, DW_OP_fbreg) \
-  DWARF_ONE_KNOWN_DW_OP (form_tls_address, DW_OP_form_tls_address) \
-  DWARF_ONE_KNOWN_DW_OP (ge, DW_OP_ge) \
-  DWARF_ONE_KNOWN_DW_OP (gt, DW_OP_gt) \
-  DWARF_ONE_KNOWN_DW_OP (implicit_value, DW_OP_implicit_value) \
-  DWARF_ONE_KNOWN_DW_OP (le, DW_OP_le) \
-  DWARF_ONE_KNOWN_DW_OP (lit0, DW_OP_lit0) \
-  DWARF_ONE_KNOWN_DW_OP (lit1, DW_OP_lit1) \
-  DWARF_ONE_KNOWN_DW_OP (lit10, DW_OP_lit10) \
-  DWARF_ONE_KNOWN_DW_OP (lit11, DW_OP_lit11) \
-  DWARF_ONE_KNOWN_DW_OP (lit12, DW_OP_lit12) \
-  DWARF_ONE_KNOWN_DW_OP (lit13, DW_OP_lit13) \
-  DWARF_ONE_KNOWN_DW_OP (lit14, DW_OP_lit14) \
-  DWARF_ONE_KNOWN_DW_OP (lit15, DW_OP_lit15) \
-  DWARF_ONE_KNOWN_DW_OP (lit16, DW_OP_lit16) \
-  DWARF_ONE_KNOWN_DW_OP (lit17, DW_OP_lit17) \
-  DWARF_ONE_KNOWN_DW_OP (lit18, DW_OP_lit18) \
-  DWARF_ONE_KNOWN_DW_OP (lit19, DW_OP_lit19) \
-  DWARF_ONE_KNOWN_DW_OP (lit2, DW_OP_lit2) \
-  DWARF_ONE_KNOWN_DW_OP (lit20, DW_OP_lit20) \
-  DWARF_ONE_KNOWN_DW_OP (lit21, DW_OP_lit21) \
-  DWARF_ONE_KNOWN_DW_OP (lit22, DW_OP_lit22) \
-  DWARF_ONE_KNOWN_DW_OP (lit23, DW_OP_lit23) \
-  DWARF_ONE_KNOWN_DW_OP (lit24, DW_OP_lit24) \
-  DWARF_ONE_KNOWN_DW_OP (lit25, DW_OP_lit25) \
-  DWARF_ONE_KNOWN_DW_OP (lit26, DW_OP_lit26) \
-  DWARF_ONE_KNOWN_DW_OP (lit27, DW_OP_lit27) \
-  DWARF_ONE_KNOWN_DW_OP (lit28, DW_OP_lit28) \
-  DWARF_ONE_KNOWN_DW_OP (lit29, DW_OP_lit29) \
-  DWARF_ONE_KNOWN_DW_OP (lit3, DW_OP_lit3) \
-  DWARF_ONE_KNOWN_DW_OP (lit30, DW_OP_lit30) \
-  DWARF_ONE_KNOWN_DW_OP (lit31, DW_OP_lit31) \
-  DWARF_ONE_KNOWN_DW_OP (lit4, DW_OP_lit4) \
-  DWARF_ONE_KNOWN_DW_OP (lit5, DW_OP_lit5) \
-  DWARF_ONE_KNOWN_DW_OP (lit6, DW_OP_lit6) \
-  DWARF_ONE_KNOWN_DW_OP (lit7, DW_OP_lit7) \
-  DWARF_ONE_KNOWN_DW_OP (lit8, DW_OP_lit8) \
-  DWARF_ONE_KNOWN_DW_OP (lit9, DW_OP_lit9) \
-  DWARF_ONE_KNOWN_DW_OP (lt, DW_OP_lt) \
-  DWARF_ONE_KNOWN_DW_OP (minus, DW_OP_minus) \
-  DWARF_ONE_KNOWN_DW_OP (mod, DW_OP_mod) \
-  DWARF_ONE_KNOWN_DW_OP (mul, DW_OP_mul) \
-  DWARF_ONE_KNOWN_DW_OP (ne, DW_OP_ne) \
-  DWARF_ONE_KNOWN_DW_OP (neg, DW_OP_neg) \
-  DWARF_ONE_KNOWN_DW_OP (nop, DW_OP_nop) \
-  DWARF_ONE_KNOWN_DW_OP (not, DW_OP_not) \
-  DWARF_ONE_KNOWN_DW_OP (or, DW_OP_or) \
-  DWARF_ONE_KNOWN_DW_OP (over, DW_OP_over) \
-  DWARF_ONE_KNOWN_DW_OP (pick, DW_OP_pick) \
-  DWARF_ONE_KNOWN_DW_OP (piece, DW_OP_piece) \
-  DWARF_ONE_KNOWN_DW_OP (plus, DW_OP_plus) \
-  DWARF_ONE_KNOWN_DW_OP (plus_uconst, DW_OP_plus_uconst) \
-  DWARF_ONE_KNOWN_DW_OP (push_object_address, DW_OP_push_object_address) \
-  DWARF_ONE_KNOWN_DW_OP (reg0, DW_OP_reg0) \
-  DWARF_ONE_KNOWN_DW_OP (reg1, DW_OP_reg1) \
-  DWARF_ONE_KNOWN_DW_OP (reg10, DW_OP_reg10) \
-  DWARF_ONE_KNOWN_DW_OP (reg11, DW_OP_reg11) \
-  DWARF_ONE_KNOWN_DW_OP (reg12, DW_OP_reg12) \
-  DWARF_ONE_KNOWN_DW_OP (reg13, DW_OP_reg13) \
-  DWARF_ONE_KNOWN_DW_OP (reg14, DW_OP_reg14) \
-  DWARF_ONE_KNOWN_DW_OP (reg15, DW_OP_reg15) \
-  DWARF_ONE_KNOWN_DW_OP (reg16, DW_OP_reg16) \
-  DWARF_ONE_KNOWN_DW_OP (reg17, DW_OP_reg17) \
-  DWARF_ONE_KNOWN_DW_OP (reg18, DW_OP_reg18) \
-  DWARF_ONE_KNOWN_DW_OP (reg19, DW_OP_reg19) \
-  DWARF_ONE_KNOWN_DW_OP (reg2, DW_OP_reg2) \
-  DWARF_ONE_KNOWN_DW_OP (reg20, DW_OP_reg20) \
-  DWARF_ONE_KNOWN_DW_OP (reg21, DW_OP_reg21) \
-  DWARF_ONE_KNOWN_DW_OP (reg22, DW_OP_reg22) \
-  DWARF_ONE_KNOWN_DW_OP (reg23, DW_OP_reg23) \
-  DWARF_ONE_KNOWN_DW_OP (reg24, DW_OP_reg24) \
-  DWARF_ONE_KNOWN_DW_OP (reg25, DW_OP_reg25) \
-  DWARF_ONE_KNOWN_DW_OP (reg26, DW_OP_reg26) \
-  DWARF_ONE_KNOWN_DW_OP (reg27, DW_OP_reg27) \
-  DWARF_ONE_KNOWN_DW_OP (reg28, DW_OP_reg28) \
-  DWARF_ONE_KNOWN_DW_OP (reg29, DW_OP_reg29) \
-  DWARF_ONE_KNOWN_DW_OP (reg3, DW_OP_reg3) \
-  DWARF_ONE_KNOWN_DW_OP (reg30, DW_OP_reg30) \
-  DWARF_ONE_KNOWN_DW_OP (reg31, DW_OP_reg31) \
-  DWARF_ONE_KNOWN_DW_OP (reg4, DW_OP_reg4) \
-  DWARF_ONE_KNOWN_DW_OP (reg5, DW_OP_reg5) \
-  DWARF_ONE_KNOWN_DW_OP (reg6, DW_OP_reg6) \
-  DWARF_ONE_KNOWN_DW_OP (reg7, DW_OP_reg7) \
-  DWARF_ONE_KNOWN_DW_OP (reg8, DW_OP_reg8) \
-  DWARF_ONE_KNOWN_DW_OP (reg9, DW_OP_reg9) \
-  DWARF_ONE_KNOWN_DW_OP (regx, DW_OP_regx) \
-  DWARF_ONE_KNOWN_DW_OP (rot, DW_OP_rot) \
-  DWARF_ONE_KNOWN_DW_OP (shl, DW_OP_shl) \
-  DWARF_ONE_KNOWN_DW_OP (shr, DW_OP_shr) \
-  DWARF_ONE_KNOWN_DW_OP (shra, DW_OP_shra) \
-  DWARF_ONE_KNOWN_DW_OP (skip, DW_OP_skip) \
-  DWARF_ONE_KNOWN_DW_OP (stack_value, DW_OP_stack_value) \
-  DWARF_ONE_KNOWN_DW_OP (swap, DW_OP_swap) \
-  DWARF_ONE_KNOWN_DW_OP (xderef, DW_OP_xderef) \
-  DWARF_ONE_KNOWN_DW_OP (xderef_size, DW_OP_xderef_size) \
-  DWARF_ONE_KNOWN_DW_OP (xor, DW_OP_xor) \
-  /* End of DW_OP_*.  */
-
-#define DWARF_ALL_KNOWN_DW_ORD \
-  DWARF_ONE_KNOWN_DW_ORD (col_major, DW_ORD_col_major) \
-  DWARF_ONE_KNOWN_DW_ORD (row_major, DW_ORD_row_major) \
-  /* End of DW_ORD_*.  */
-
-#define DWARF_ALL_KNOWN_DW_TAG \
-  DWARF_ONE_KNOWN_DW_TAG (GNU_BINCL, DW_TAG_GNU_BINCL) \
-  DWARF_ONE_KNOWN_DW_TAG (GNU_EINCL, DW_TAG_GNU_EINCL) \
-  DWARF_ONE_KNOWN_DW_TAG (GNU_call_site, DW_TAG_GNU_call_site) \
-  DWARF_ONE_KNOWN_DW_TAG (GNU_call_site_parameter, DW_TAG_GNU_call_site_parameter) \
-  DWARF_ONE_KNOWN_DW_TAG (GNU_formal_parameter_pack, DW_TAG_GNU_formal_parameter_pack) \
-  DWARF_ONE_KNOWN_DW_TAG (GNU_template_parameter_pack, DW_TAG_GNU_template_parameter_pack) \
-  DWARF_ONE_KNOWN_DW_TAG (GNU_template_template_param, DW_TAG_GNU_template_template_param) \
-  DWARF_ONE_KNOWN_DW_TAG (MIPS_loop, DW_TAG_MIPS_loop) \
-  DWARF_ONE_KNOWN_DW_TAG (access_declaration, DW_TAG_access_declaration) \
-  DWARF_ONE_KNOWN_DW_TAG (array_type, DW_TAG_array_type) \
-  DWARF_ONE_KNOWN_DW_TAG (atomic_type, DW_TAG_atomic_type) \
-  DWARF_ONE_KNOWN_DW_TAG (base_type, DW_TAG_base_type) \
-  DWARF_ONE_KNOWN_DW_TAG (catch_block, DW_TAG_catch_block) \
-  DWARF_ONE_KNOWN_DW_TAG (class_template, DW_TAG_class_template) \
-  DWARF_ONE_KNOWN_DW_TAG (class_type, DW_TAG_class_type) \
-  DWARF_ONE_KNOWN_DW_TAG (common_block, DW_TAG_common_block) \
-  DWARF_ONE_KNOWN_DW_TAG (common_inclusion, DW_TAG_common_inclusion) \
-  DWARF_ONE_KNOWN_DW_TAG (compile_unit, DW_TAG_compile_unit) \
-  DWARF_ONE_KNOWN_DW_TAG (condition, DW_TAG_condition) \
-  DWARF_ONE_KNOWN_DW_TAG (const_type, DW_TAG_const_type) \
-  DWARF_ONE_KNOWN_DW_TAG (constant, DW_TAG_constant) \
-  DWARF_ONE_KNOWN_DW_TAG (dwarf_procedure, DW_TAG_dwarf_procedure) \
-  DWARF_ONE_KNOWN_DW_TAG (entry_point, DW_TAG_entry_point) \
-  DWARF_ONE_KNOWN_DW_TAG (enumeration_type, DW_TAG_enumeration_type) \
-  DWARF_ONE_KNOWN_DW_TAG (enumerator, DW_TAG_enumerator) \
-  DWARF_ONE_KNOWN_DW_TAG (file_type, DW_TAG_file_type) \
-  DWARF_ONE_KNOWN_DW_TAG (formal_parameter, DW_TAG_formal_parameter) \
-  DWARF_ONE_KNOWN_DW_TAG (format_label, DW_TAG_format_label) \
-  DWARF_ONE_KNOWN_DW_TAG (friend, DW_TAG_friend) \
-  DWARF_ONE_KNOWN_DW_TAG (function_template, DW_TAG_function_template) \
-  DWARF_ONE_KNOWN_DW_TAG (imported_declaration, DW_TAG_imported_declaration) \
-  DWARF_ONE_KNOWN_DW_TAG (imported_module, DW_TAG_imported_module) \
-  DWARF_ONE_KNOWN_DW_TAG (imported_unit, DW_TAG_imported_unit) \
-  DWARF_ONE_KNOWN_DW_TAG (inheritance, DW_TAG_inheritance) \
-  DWARF_ONE_KNOWN_DW_TAG (inlined_subroutine, DW_TAG_inlined_subroutine) \
-  DWARF_ONE_KNOWN_DW_TAG (interface_type, DW_TAG_interface_type) \
-  DWARF_ONE_KNOWN_DW_TAG (label, DW_TAG_label) \
-  DWARF_ONE_KNOWN_DW_TAG (lexical_block, DW_TAG_lexical_block) \
-  DWARF_ONE_KNOWN_DW_TAG (member, DW_TAG_member) \
-  DWARF_ONE_KNOWN_DW_TAG (module, DW_TAG_module) \
-  DWARF_ONE_KNOWN_DW_TAG (namelist, DW_TAG_namelist) \
-  DWARF_ONE_KNOWN_DW_TAG (namelist_item, DW_TAG_namelist_item) \
-  DWARF_ONE_KNOWN_DW_TAG (namespace, DW_TAG_namespace) \
-  DWARF_ONE_KNOWN_DW_TAG (packed_type, DW_TAG_packed_type) \
-  DWARF_ONE_KNOWN_DW_TAG (partial_unit, DW_TAG_partial_unit) \
-  DWARF_ONE_KNOWN_DW_TAG (pointer_type, DW_TAG_pointer_type) \
-  DWARF_ONE_KNOWN_DW_TAG (ptr_to_member_type, DW_TAG_ptr_to_member_type) \
-  DWARF_ONE_KNOWN_DW_TAG (reference_type, DW_TAG_reference_type) \
-  DWARF_ONE_KNOWN_DW_TAG (restrict_type, DW_TAG_restrict_type) \
-  DWARF_ONE_KNOWN_DW_TAG (rvalue_reference_type, DW_TAG_rvalue_reference_type) \
-  DWARF_ONE_KNOWN_DW_TAG (set_type, DW_TAG_set_type) \
-  DWARF_ONE_KNOWN_DW_TAG (shared_type, DW_TAG_shared_type) \
-  DWARF_ONE_KNOWN_DW_TAG (string_type, DW_TAG_string_type) \
-  DWARF_ONE_KNOWN_DW_TAG (structure_type, DW_TAG_structure_type) \
-  DWARF_ONE_KNOWN_DW_TAG (subprogram, DW_TAG_subprogram) \
-  DWARF_ONE_KNOWN_DW_TAG (subrange_type, DW_TAG_subrange_type) \
-  DWARF_ONE_KNOWN_DW_TAG (subroutine_type, DW_TAG_subroutine_type) \
-  DWARF_ONE_KNOWN_DW_TAG (template_alias, DW_TAG_template_alias) \
-  DWARF_ONE_KNOWN_DW_TAG (template_type_parameter, DW_TAG_template_type_parameter) \
-  DWARF_ONE_KNOWN_DW_TAG (template_value_parameter, DW_TAG_template_value_parameter) \
-  DWARF_ONE_KNOWN_DW_TAG (thrown_type, DW_TAG_thrown_type) \
-  DWARF_ONE_KNOWN_DW_TAG (try_block, DW_TAG_try_block) \
-  DWARF_ONE_KNOWN_DW_TAG (type_unit, DW_TAG_type_unit) \
-  DWARF_ONE_KNOWN_DW_TAG (typedef, DW_TAG_typedef) \
-  DWARF_ONE_KNOWN_DW_TAG (union_type, DW_TAG_union_type) \
-  DWARF_ONE_KNOWN_DW_TAG (unspecified_parameters, DW_TAG_unspecified_parameters) \
-  DWARF_ONE_KNOWN_DW_TAG (unspecified_type, DW_TAG_unspecified_type) \
-  DWARF_ONE_KNOWN_DW_TAG (variable, DW_TAG_variable) \
-  DWARF_ONE_KNOWN_DW_TAG (variant, DW_TAG_variant) \
-  DWARF_ONE_KNOWN_DW_TAG (variant_part, DW_TAG_variant_part) \
-  DWARF_ONE_KNOWN_DW_TAG (volatile_type, DW_TAG_volatile_type) \
-  DWARF_ONE_KNOWN_DW_TAG (with_stmt, DW_TAG_with_stmt) \
-  /* End of DW_TAG_*.  */
-
-#define DWARF_ALL_KNOWN_DW_VIRTUALITY \
-  DWARF_ONE_KNOWN_DW_VIRTUALITY (none, DW_VIRTUALITY_none) \
-  DWARF_ONE_KNOWN_DW_VIRTUALITY (pure_virtual, DW_VIRTUALITY_pure_virtual) \
-  DWARF_ONE_KNOWN_DW_VIRTUALITY (virtual, DW_VIRTUALITY_virtual) \
-  /* End of DW_VIRTUALITY_*.  */
-
-#define DWARF_ALL_KNOWN_DW_VIS \
-  DWARF_ONE_KNOWN_DW_VIS (exported, DW_VIS_exported) \
-  DWARF_ONE_KNOWN_DW_VIS (local, DW_VIS_local) \
-  DWARF_ONE_KNOWN_DW_VIS (qualified, DW_VIS_qualified) \
-  /* End of DW_VIS_*.  */
diff --git a/libdw/libdw.h b/libdw/libdw.h
index e20961b..77174d2 100644
--- a/libdw/libdw.h
+++ b/libdw/libdw.h
@@ -243,7 +243,7 @@
 /* Retrieve ELF descriptor used for DWARF access.  */
 extern Elf *dwarf_getelf (Dwarf *dwarf);
 
-/* Retieve DWARF descriptor used for a Dwarf_Die or Dwarf_Attribute.
+/* Retrieve DWARF descriptor used for a Dwarf_Die or Dwarf_Attribute.
    A Dwarf_Die or a Dwarf_Attribute is associated with a particular
    Dwarf_CU handle.  This function returns the DWARF descriptor for
    that Dwarf_CU.  */
@@ -429,7 +429,7 @@
    given DIE) that isn't a type alias or qualifier type.  Returns 1
    when RESULT contains a type alias or qualifier Dwarf_Die that
    couldn't be peeled further (it doesn't have a DW_TAG_type
-   attribute).  Returns -1 when an error occured.
+   attribute).  Returns -1 when an error occurred.
 
    The current DWARF specification defines one type alias tag
    (DW_TAG_typedef) and seven modifier/qualifier type tags
@@ -474,7 +474,14 @@
 extern int dwarf_hasattr (Dwarf_Die *die, unsigned int search_name);
 
 /* These are the same as dwarf_attr and dwarf_hasattr, respectively,
-   but they resolve an indirect attribute through DW_AT_abstract_origin.  */
+   but they resolve an indirect attribute through
+   DW_AT_abstract_origin, DW_AT_specification or, if the DIE is a
+   top-level split CU, the skeleton DIE.  Note that the attribute
+   might come from a DIE in a different CU (possibly from a different
+   Dwarf file).  In that case all attribute information needs to be
+   resolved through the CU associated with the returned
+   Dwarf_Attribute.  The dwarf_form functions already do this
+   automatically.  */
 extern Dwarf_Attribute *dwarf_attr_integrate (Dwarf_Die *die,
 					      unsigned int search_name,
 					      Dwarf_Attribute *result)
@@ -689,13 +696,13 @@
 
 
 /* Find line information for address.  The returned string is NULL when
-   an error occured, or the file path.  The file path is either absolute
+   an error occurred, or the file path.  The file path is either absolute
    or relative to the compilation directory.  See dwarf_decl_file.  */
 extern const char *dwarf_linesrc (Dwarf_Line *line,
 				  Dwarf_Word *mtime, Dwarf_Word *length);
 
 /* Return file information.  The returned string is NULL when
-   an error occured, or the file path.  The file path is either absolute
+   an error occurred, or the file path.  The file path is either absolute
    or relative to the compilation directory.  See dwarf_decl_file.  */
 extern const char *dwarf_filesrc (Dwarf_Files *file, size_t idx,
 				  Dwarf_Word *mtime, Dwarf_Word *length);
@@ -893,7 +900,7 @@
    directory can be retrieved through:
    dwarf_formstring (dwarf_attr (dwarf_diecu (decl, &cudie, NULL, NULL),
                                  DW_AT_comp_dir, &attr));
-   Returns NULL if no decl_file could be found or an error occured.  */
+   Returns NULL if no decl_file could be found or an error occurred.  */
 extern const char *dwarf_decl_file (Dwarf_Die *decl);
 
 /* Get line number of beginning of given declaration.  */
@@ -1054,9 +1061,11 @@
    caller's REGNO is "same_value", i.e. this frame did not change it;
    ask the caller frame where to find it.
 
-   For common simple expressions *OPS is OPS_MEM.  For arbitrary DWARF
-   expressions in the CFI, *OPS is an internal pointer that can be used as
-   long as the Dwarf_CFI used to create FRAME remains alive.  */
+   For common simple expressions *OPS is OPS_MEM (which is a caller
+   owned array for at least 3 Dwarf_Ops).  For arbitrary DWARF
+   expressions in the CFI, *OPS is an internal pointer that can be
+   used as long as the Dwarf_CFI used to create FRAME remains
+   alive.  */
 extern int dwarf_frame_register (Dwarf_Frame *frame, int regno,
 				 Dwarf_Op ops_mem[3],
 				 Dwarf_Op **ops, size_t *nops)
diff --git a/libdw/libdw.map b/libdw/libdw.map
index decac05..8ab0a2a 100644
--- a/libdw/libdw.map
+++ b/libdw/libdw.map
@@ -149,8 +149,6 @@
   global:
     dwarf_getelf;
 
-  local:
-    *;
 } ELFUTILS_0.122;
 
 ELFUTILS_0.127 {
@@ -161,8 +159,6 @@
     dwfl_report_begin_add;
     dwfl_module_address_section;
 
-  local:
-    *;
 } ELFUTILS_0.126;
 
 ELFUTILS_0.130 {
@@ -172,8 +168,6 @@
     dwfl_module_build_id;
     dwfl_module_report_build_id;
 
-  local:
-    *;
 } ELFUTILS_0.127;
 
 ELFUTILS_0.136 {
@@ -181,8 +175,6 @@
     dwfl_addrsegment;
     dwfl_report_segment;
 
-  local:
-    *;
 } ELFUTILS_0.130;
 
 ELFUTILS_0.138 {
@@ -190,8 +182,6 @@
     # Replaced ELFUTILS_0.130 version, which has bug-compatibility wrapper.
     dwfl_module_build_id;
 
-  local:
-    *;
 } ELFUTILS_0.136;
 
 ELFUTILS_0.142 {
diff --git a/libdw/libdwP.h b/libdw/libdwP.h
index 36c2acd..7174ea9 100644
--- a/libdw/libdwP.h
+++ b/libdw/libdwP.h
@@ -38,10 +38,6 @@
 #include "atomics.h"
 
 
-/* gettext helper macros.  */
-#define _(Str) dgettext ("elfutils", Str)
-
-
 /* Known location expressions already decoded.  */
 struct loc_s
 {
@@ -68,7 +64,7 @@
   Dwarf_Lines *lines;
 };
 
-/* Valid indeces for the section data.  */
+/* Valid indices for the section data.  */
 enum
   {
     IDX_debug_info = 0,
@@ -438,7 +434,7 @@
         Both signature and type offset are optional.
 
         Note same 4/8 offset size trick as above.
-        We explicitly ignore unknow unit types (see asserts above).  */
+        We explicitly ignore unknown unit types (see asserts above).  */
       off += 3 * offset_size - 4 + 4;
       if (unit_type == DW_UT_skeleton || unit_type == DW_UT_split_compile
 	  || unit_type == DW_UT_type || unit_type == DW_UT_split_type)
diff --git a/libdw/libdw_alloc.c b/libdw/libdw_alloc.c
index e0281a3..b3e5334 100644
--- a/libdw/libdw_alloc.c
+++ b/libdw/libdw_alloc.c
@@ -87,6 +87,11 @@
   if (result == NULL)
     {
       result = malloc (dbg->mem_default_size);
+      if (result == NULL)
+	{
+	  pthread_rwlock_unlock (&dbg->mem_rwl);
+	  dbg->oom_handler();
+	}
       result->size = dbg->mem_default_size
                      - offsetof (struct libdw_memblock, mem);
       result->remaining = result->size;
diff --git a/libdw/libdw_visit_scopes.c b/libdw/libdw_visit_scopes.c
index eb892e1..7dfa5f6 100644
--- a/libdw/libdw_visit_scopes.c
+++ b/libdw/libdw_visit_scopes.c
@@ -125,8 +125,12 @@
 	  Dwarf_Attribute *attr = INTUSE(dwarf_attr) (&state->child.die,
 						      DW_AT_import,
 						      &attr_mem);
+	  /* Some gcc -flto versions imported other top-level compile units,
+	     skip those.  */
 	  if (INTUSE(dwarf_formref_die) (attr, &state->child.die) != NULL
-	      && INTUSE(dwarf_child) (&state->child.die, &state->child.die) == 0)
+	      && INTUSE(dwarf_tag) (&state->child.die) != DW_TAG_compile_unit
+	      && (INTUSE(dwarf_child) (&state->child.die, &state->child.die)
+		  == 0))
 	    {
 	      /* Checks the given DIE hasn't been imported yet
 	         to prevent cycles.  */
diff --git a/libdw/memory-access.h b/libdw/memory-access.h
index a39ad6d..8b2386e 100644
--- a/libdw/memory-access.h
+++ b/libdw/memory-access.h
@@ -113,19 +113,22 @@
 #define get_sleb128_step(var, addr, nth)				      \
   do {									      \
     unsigned char __b = *(addr)++;					      \
+    (var) |= (typeof (var)) (__b & 0x7f) << ((nth) * 7);		      \
     if (likely ((__b & 0x80) == 0))					      \
       {									      \
-	struct { signed int i:7; } __s = { .i = __b };			      \
-	(var) |= (typeof (var)) __s.i * ((typeof (var)) 1 << ((nth) * 7));    \
+	if ((__b & 0x40) != 0)						      \
+	  (var) |= - ((typeof (var)) 1 << (((nth) + 1) * 7));		      \
 	return (var);							      \
       }									      \
-    (var) |= (typeof (var)) (__b & 0x7f) << ((nth) * 7);		      \
   } while (0)
 
 static inline int64_t
 __libdw_get_sleb128 (const unsigned char **addrp, const unsigned char *end)
 {
-  int64_t acc = 0;
+  /* Do the work in an unsigned type, but use implementation-defined
+     behavior to cast to signed on return.  This avoids some undefined
+     behavior when shifting.  */
+  uint64_t acc = 0;
 
   /* Unroll the first step to help the compiler optimize
      for the common single-byte case.  */
@@ -134,6 +137,20 @@
   const size_t max = __libdw_max_len_sleb128 (*addrp - 1, end);
   for (size_t i = 1; i < max; ++i)
     get_sleb128_step (acc, *addrp, i);
+  if (*addrp == end)
+    return INT64_MAX;
+
+  /* There might be one extra byte.  */
+  unsigned char b = **addrp;
+  ++*addrp;
+  if (likely ((b & 0x80) == 0))
+    {
+      /* We only need the low bit of the final byte, and as it is the
+	 sign bit, we don't need to do anything else here.  */
+      acc |= ((typeof (acc)) b) << 7 * max;
+      return acc;
+    }
+
   /* Other implementations set VALUE to INT_MAX in this
      case.  So we better do this as well.  */
   return INT64_MAX;
@@ -142,7 +159,10 @@
 static inline int64_t
 __libdw_get_sleb128_unchecked (const unsigned char **addrp)
 {
-  int64_t acc = 0;
+  /* Do the work in an unsigned type, but use implementation-defined
+     behavior to cast to signed on return.  This avoids some undefined
+     behavior when shifting.  */
+  uint64_t acc = 0;
 
   /* Unroll the first step to help the compiler optimize
      for the common single-byte case.  */
@@ -152,6 +172,18 @@
   const size_t max = len_leb128 (int64_t) - 1;
   for (size_t i = 1; i < max; ++i)
     get_sleb128_step (acc, *addrp, i);
+
+  /* There might be one extra byte.  */
+  unsigned char b = **addrp;
+  ++*addrp;
+  if (likely ((b & 0x80) == 0))
+    {
+      /* We only need the low bit of the final byte, and as it is the
+	 sign bit, we don't need to do anything else here.  */
+      acc |= ((typeof (acc)) b) << 7 * max;
+      return acc;
+    }
+
   /* Other implementations set VALUE to INT_MAX in this
      case.  So we better do this as well.  */
   return INT64_MAX;
@@ -363,7 +395,7 @@
 
 
 #define read_3ubyte_unaligned_inc(Dbg, Addr) \
-  ({ uint32_t t_ = read_2ubyte_unaligned (Dbg, Addr);			      \
+  ({ uint32_t t_ = read_3ubyte_unaligned (Dbg, Addr);			      \
      Addr = (__typeof (Addr)) (((uintptr_t) (Addr)) + 3);		      \
      t_; })
 
diff --git a/libdwelf/ChangeLog b/libdwelf/ChangeLog
index 5b48ed8..a0ff9f4 100644
--- a/libdwelf/ChangeLog
+++ b/libdwelf/ChangeLog
@@ -1,3 +1,16 @@
+2020-12-12  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* libdwelf.h: Fix spelling typos in comments.
+	* dwelf_strtab.c (newstring): Likewise.
+
+	* dwelf_elf_e_machine_string.c (dwelf_elf_e_machine_string): Fix
+	spelling typos in returned strings.
+
+2020-06-04  Mark Wielaard  <mark@klomp.org>
+
+	* dwelf_elf_e_machine_string.c (dwelf_elf_e_machine_string):
+	Rename EM_ARC_COMPACT2 to EM_ARCV2.
+
 2019-08-12  Mark Wielaard  <mark@klomp.org>
 
 	* libdwelf.h (dwelf_elf_begin): Update documentation.
diff --git a/libdwelf/dwelf_elf_e_machine_string.c b/libdwelf/dwelf_elf_e_machine_string.c
index de07b01..387648e 100644
--- a/libdwelf/dwelf_elf_e_machine_string.c
+++ b/libdwelf/dwelf_elf_e_machine_string.c
@@ -117,7 +117,7 @@
     case EM_PCP:
       return "Siemens PCP";
     case EM_NCPU:
-      return "Sony nCPU embeded RISC";
+      return "Sony nCPU embedded RISC";
     case EM_NDR1:
       return "Denso NDR1 microprocessor";
     case EM_STARCORE:
@@ -289,11 +289,11 @@
     case EM_STXP7X:
       return "STMicroelectronics STxP7x";
     case EM_NDS32:
-      return "Andes Technology compact code size embeded RISC";
+      return "Andes Technology compact code size embedded RISC";
     case EM_ECOG1X:
       return "Cyan Technology eCOG1X";
     case EM_MAXQ30:
-      return "Dallas Semicondutor MAXQ30";
+      return "Dallas Semiconductor MAXQ30";
     case EM_XIMO16:
       return "New Japan Radio (NJR) 16-bit DSP";
     case EM_MANIK:
@@ -340,8 +340,8 @@
       return "KIPO-KAIST Core-A 1st gen";
     case EM_COREA_2ND:
       return "KIPO-KAIST Core-A 2nd gen";
-    case EM_ARC_COMPACT2:
-      return "Synopsys ARCompact V2";
+    case EM_ARCV2:
+      return "Synopsys ARCv2 ISA";
     case EM_OPEN8:
       return "Open8 RISC";
     case EM_RL78:
diff --git a/libdwelf/dwelf_strtab.c b/libdwelf/dwelf_strtab.c
index 01e091c..c6ae7cd 100644
--- a/libdwelf/dwelf_strtab.c
+++ b/libdwelf/dwelf_strtab.c
@@ -183,7 +183,7 @@
 
 
 /* XXX This function should definitely be rewritten to use a balancing
-   tree algorith (AVL, red-black trees).  For now a simple, correct
+   tree algorithm (AVL, red-black trees).  For now a simple, correct
    implementation is enough.  */
 static Dwelf_Strent **
 searchstring (Dwelf_Strent **sep, Dwelf_Strent *newstr)
diff --git a/libdwelf/libdwelf.h b/libdwelf/libdwelf.h
index dbb8f08..263ca60 100644
--- a/libdwelf/libdwelf.h
+++ b/libdwelf/libdwelf.h
@@ -44,7 +44,7 @@
 /* Returns the name and the CRC32 of the separate debug file from the
    .gnu_debuglink section if found in the ELF.  Return NULL if the ELF
    file didn't have a .gnu_debuglink section, had malformed data in the
-   section or some other error occured.  */
+   section or some other error occurred.  */
 extern const char *dwelf_elf_gnu_debuglink (Elf *elf, GElf_Word *crc);
 
 /* Returns the name and build ID from the .gnu_debugaltlink section if
@@ -69,7 +69,7 @@
    section.  The section name should start with .zdebug (but this
    isn't checked by this function).  If the section isn't compressed
    (the section data doesn't start with ZLIB) -1 is returned. If an
-   error occured -1 is returned and elf_errno is set.  */
+   error occurred -1 is returned and elf_errno is set.  */
 extern ssize_t dwelf_scn_gnu_compressed_size (Elf_Scn *scn);
 
 /* ELF/DWARF string table handling.  */
diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog
index b822218..d107e78 100644
--- a/libdwfl/ChangeLog
+++ b/libdwfl/ChangeLog
@@ -1,3 +1,234 @@
+2021-02-01  Érico Nogueira  <ericonr@disroot.org>
+
+	* dwfl_error.c (strerror_r): Only use the GNU version when available.
+
+2021-01-08  Timm Bäder  <tbaeder@redhat.com>
+
+	* elf-from-memory.c (elf_from_remote_memory): Add for loop over
+	switch. inline handle_segment call, set vaddr, offset and filesz
+	directly based on class.
+
+2021-01-08  Timm Bäder  <tbaeder@redhat.com>
+
+	* elf-from-memory.c (elf_from_remote_memory): Use if instead of
+	switch on class. Set new vaddr, memsz, offset and filesz
+	variables. Inline handle_segment function check and set loadbase,
+	found_base, segments_end and segments_end_mem directly.
+
+2020-12-16  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* argp-std.c (_): Remove.
+	* libdwflP.h (_): Likewise.
+
+2020-12-12  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* libdwfl.h: Fix spelling typos in comments.
+	* dwfl_module_getdwarf.c (open_elf, find_symtab): Likewise.
+	* dwfl_report_elf.c (__libdwfl_elf_address_range): Likewise.
+	* linux-pid-attach.c (read_cached_memory): Likewise.
+
+2020-12-07  Timm Bäder  <tbaeder@redhat.com>
+
+	* link_map.c (report_r_debug): Pull read_addrs() function into
+	file scope.
+
+2020-12-07  Timm Bäder  <tbaeder@redhat.com>
+
+	* link_map.c (report_r_debug): Pull release_buffer() function into
+	file scope. Add memory_closure struct.
+
+2020-12-08  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* debuginfod-client.c (__libdwfl_debuginfod_init): Replace
+	"libdebuginfod-" VERSION ".so" with DEBUGINFOD_SONAME in dlopen call.
+	Do not fall back to dlopen of "libdebuginfod.so".
+
+2020-12-01  Timm Bäder  <tbaeder@redhat.com>
+
+	* link_map.c (dwfl_link_map_report): Removed consider_phdr function
+	and inline code.
+
+2020-11-28  Mark Wielaard  <mark@klomp.org>
+
+	* dwfl_segment_report_module.c (dwfl_segment_report_module):
+	Use GElf_Addr to calculate note_vaddr instead of size_t.
+
+2020-11-26  Timm Bäder  <tbaeder@redhat.com>
+
+	* dwfl_segment_report_module.c (dwfl_segment_report_module):
+	Remove consider_notes function. Inline code for type == PT_NOTE.
+
+2020-11-26  Timm Bäder  <tbaeder@redhat.com>
+
+	* dwfl_segment_report_module.c (read_portion): New static function.
+	(dwfl_segment_report_module): Remove read_portion function.
+	Call static function with read_state, start and segment.
+
+2020-11-26  Timm Bäder  <tbaeder@redhat.com>
+
+	* dwfl_segment_report_module.c (struct read_state): New.
+	(finish_portion): New static function.
+	(dwfl_segment_report_module): Introduce read_state. Remove
+	finish_portion function. Call static function with read_state.
+
+2020-11-23  Timm Bäder  <tbaeder@redhat.com>
+
+	* segment_report_module.c (dwfl_segment_report_module): Remove
+	consider_phdr, do checks inline.
+
+2020-11-23  Timm Bäder  <tbaeder@redhat.com>
+
+	* segment_report_module.c (dwfl_segment_report_module): Remove
+	consider_dyn, do checks inline.
+
+2020-11-23  Timm Bäder  <tbaeder@redhat.com>
+
+	* segment_report_module.c (dwfl_segment_report_module): Do one
+	loop check for d32/d64 arrays.
+
+2020-11-23  Timm Bäder  <tbaeder@redhat.com>
+
+	* segment_report_module.c (dwfl_segment_report_module): Remove
+	read_phdr, do check and call memory_callback directly.
+
+2020-11-23  Timm Bäder  <tbaeder@redhat.com>
+
+	* segment_report_module.c (dwfl_segment_report_module): Do one
+	loop check for p32/p64 arrays.
+
+2020-11-23  Timm Bäder  <tbaeder@redhat.com>
+
+	* segment_report_module.c (dwfl_segment_report_module): Remove
+	final_read, call memory_callback directly.
+
+2020-11-23  Timm Bäder  <tbaeder@redhat.com>
+
+	* segment_report_module.c (struct elf_build_id): New.
+	(dwfl_segment_report_module): Pass build_id as struct.
+
+2020-11-23  Timm Bäder  <tbaeder@redhat.com>
+
+	* segment_report_module.c (dwfl_segment_report_module): Remove
+	release_buffer, call memory_callback directly.
+
+2020-11-23  Timm Bäder  <tbaeder@redhat.com>
+
+	* segment_report_module.c (dwfl_segment_report_module): Remove
+	segment_read, call memory_callback directly.
+
+2020-11-19  Andreas Krebbel  <krebbel@linux.ibm.com>
+
+	* linux-pid-attach.c (pid_memory_read): Shift the upper 4 bytes
+	down on big endian 64 bit targets.
+
+2020-11-12  Timm Bäder <tbaeder@redhat.com>
+
+	* dwfl_segment_report_module.c (dwfl_segment_report_module): Remove
+	finish function, replace with goto out.
+
+2020-11-12  Timm Bäder <tbaeder@redhat.com>
+
+	* dwfl_segment_report_module.c (dwfl_segment_report_module): Declare
+	p32 and p64 as pointers instead of arrays.
+
+2020-09-18  Mark Wielaard  <mark@klomp.org>
+
+	* zstd.c: New file.
+	* libdwflP.h: Add DWFL_E_ZSTD and __libdw_unzstd.
+	* Makefile.am (libdwfl_a_SOURCES): add zstd.c if ZSTD.
+	* gzip.c: Add defines and includes for ZSTD.
+	(zlib_fail): Don't define for ZSTD.
+	(unzip): Change pread_retry failure from zlib_fail to fail.
+	Add ZSTD support.
+	* open.c (decompress): Also try __libdw_unzstd.
+	* linux-kernel-modules.c (check_suffix): Also TRY ".ko.zst".
+
+2020-08-20  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* Makefile.am (libdwfl_a_SOURCES): Conditionalize
+	debuginfod-client.c on LIBDEBUGINFOD.
+	* dwfl_build_id_find_elf.c (dwfl_build_id_find_elf): Conditionalize
+	__libdwfl_debuginfod_find_executable invocation on
+	ENABLE_LIBDEBUGINFOD.
+	* dwfl_end.c (dwfl_end): Conditionalize __libdwfl_debuginfod_end
+	invocation on ENABLE_LIBDEBUGINFOD.
+	* find-debuginfo.c (dwfl_standard_find_debuginfo): Conditionalize
+	__libdwfl_debuginfod_find_debuginfo invocation on
+	ENABLE_LIBDEBUGINFOD.
+	* libdwflP.h: Guard debuginfod.h include with ENABLE_LIBDEBUGINFOD.
+	(struct Dwfl): Guard debuginfod field with ENABLE_LIBDEBUGINFOD.
+	(__libdwfl_debuginfod_find_executable,
+	__libdwfl_debuginfod_find_debuginfo, __libdwfl_debuginfod_end):
+	Guard declarations with ENABLE_LIBDEBUGINFOD.
+
+2020-07-05  Mark Wielaard  <mark@klomp.org>
+
+	* argp-std.c (parse_opt): Don't assert, but call fail when
+	dwfl_report_end fails.
+	* dwfl_build_id_find_elf.c (__libdwfl_open_by_build_id): Don't
+	assert, but goto bad_id when snprintf fails.
+	* frame_unwind.c (__libdwfl_frame_unwind): Don't assert, but
+	return when dwfl_frame_pc fails.
+	* linux-core-attach.c (core_set_initial_registers): Don't assert,
+	but return false when gelf_getnote fails or the core note is not
+	as expected.
+	* linux-pid-attach.c (dwfl_linux_proc_attach): Don't assert, but
+	goto fail when snprintf fails.
+
+2020-06-16  Mark Wielaard  <mark@klomp.org>
+
+	* frame_unwind.c (handle_cfi): Flag an error if
+	return_address_register is invalid.
+
+2020-06-16  Mark Wielaard  <mark@klomp.org>
+
+	* linux-kernel-modules.c (try_kernel_name): Don't try other
+	compressed kernels if we already found an compressed image.
+
+2020-05-09  Mark Wielaard  <mark@klomp.org>
+
+	* find-debuginfo.c (dwfl_standard_find_debuginfo): Return failure
+	when mod is NULL.
+
+2020-05-08  Mark Wielaard  <mark@klomp.org>
+
+	* libdwfl/core-file.c (dwfl_core_file_report): Keep track of
+	new bool cleanup_user_core and cleanup dwfl->user_core in error
+	case.
+
+2020-04-30  Mark Wielaard  <mark@klomp.org>
+
+	* find-debuginfo.c (dwfl_standard_find_debuginfo): When mod->dw
+	is already set then try fetching debugaltlink.
+
+2020-04-25  Mark Wielaard  <mark@klomp.org>
+
+	* gzip.c (open_stream): Return DWFL_E_NOMEM instead of calling
+	zlib_fail.
+
+2020-04-16  Mark Wielaard  <mark@klomp.org>
+
+	* find-debuginfo.c (dwfl_standard_find_debuginfo): Initialize bits
+	to NULL.
+
+2020-01-24  Mark Wielaard  <mark@klomp.org>
+
+	* linux-kernel-modules.c (find_kernel_elf): Check release isn't NULL.
+	(report_kernel): Check release and *release aren't NULL.
+	(report_kernel_archive): Likewise.
+
+2019-12-11  Omar Sandoval  <osandov@fb.com>
+
+	* libdwflP.h (Dwfl_Module): Remove coalescing state.
+	Rename lookup_tail_ndx to next_segndx.
+	* segment.c (dwfl_report_segment): Remove coalescing logic.
+	* libdwfl.h (dwfl_report_segment): Document that IDENT is ignored.
+
+2019-12-05  Mark Wielaard  <mark@klomp.org>
+
+	* linux-kernel-modules.c (find_kernel_elf): Also try to find
+	vmlinux image.
+
 2019-10-28  Aaron Merey  <amerey@redhat.com>
 
 	* dwfl_build_id_find_elf.c (dwfl_build_id_find_elf): Call debuginfod
@@ -614,7 +845,7 @@
 	* link_map.c (check32): Use read_4ubyte_unaligned_noncvt to read
 	type and value.
 	(read_addrs): Use read_(4|8)ubyte_unaligned_noncvt or to read
-	adresses.
+	addresses.
 
 2015-05-30  Mark Wielaard  <mjw@redhat.com>
 
@@ -1536,7 +1767,7 @@
 
 2013-01-23  Mark Wielaard  <mjw@redhat.com>
 
-	* dwfl_module_getdwarf.c (find_aux_sym): Don't substract one
+	* dwfl_module_getdwarf.c (find_aux_sym): Don't subtract one
 	from aux_syments by default.
 	(find_symtab): Also succeed when only aux_symdata is found.
 	When no symtab is found always try to load auxiliary table.
@@ -1544,7 +1775,7 @@
 	tables have symbols.
 	* dwfl_module_getsym.c (dwfl_module_getsym): Only skip auxiliary
 	zero entry when both tables have symbols.
-	* dwfl_module_addrsym.c (dwfl_module_addrsym): Only substract
+	* dwfl_module_addrsym.c (dwfl_module_addrsym): Only subtract
 	one from first_global when both tables have symbols.
 
 2013-01-16  Mark Wielaard  <mjw@redhat.com>
diff --git a/libdwfl/Makefile.am b/libdwfl/Makefile.am
index 47bd62a..a0013e4 100644
--- a/libdwfl/Makefile.am
+++ b/libdwfl/Makefile.am
@@ -70,7 +70,7 @@
 		    link_map.c core-file.c open.c image-header.c \
 		    dwfl_frame.c frame_unwind.c dwfl_frame_pc.c \
 		    linux-pid-attach.c linux-core-attach.c dwfl_frame_regs.c \
-		    gzip.c debuginfod-client.c
+		    gzip.c
 
 if BZLIB
 libdwfl_a_SOURCES += bzip2.c
@@ -78,6 +78,12 @@
 if LZMA
 libdwfl_a_SOURCES += lzma.c
 endif
+if ZSTD
+libdwfl_a_SOURCES += zstd.c
+endif
+if LIBDEBUGINFOD
+libdwfl_a_SOURCES += debuginfod-client.c
+endif
 
 libdwfl = $(libdw)
 libdw = ../libdw/libdw.so
diff --git a/libdwfl/argp-std.c b/libdwfl/argp-std.c
index 8ee9158..01ec18e 100644
--- a/libdwfl/argp-std.c
+++ b/libdwfl/argp-std.c
@@ -38,9 +38,6 @@
 #include <fcntl.h>
 #include <unistd.h>
 
-/* gettext helper macros.  */
-#define _(Str) dgettext ("elfutils", Str)
-
 
 #define OPT_DEBUGINFO	0x100
 #define OPT_COREFILE	0x101
@@ -342,7 +339,8 @@
 	   argp_parse.  */
 
 	int result = INTUSE(dwfl_report_end) (dwfl, NULL, NULL);
-	assert (result == 0);
+	if (result != 0)
+	  return fail (dwfl, -1, arg, state);
 
 	/* Update the input all along, so a parent parser can see it.
 	   As we free OPT the update below will be no longer active.  */
diff --git a/libdwfl/core-file.c b/libdwfl/core-file.c
index 01109f4..a0ccc9b 100644
--- a/libdwfl/core-file.c
+++ b/libdwfl/core-file.c
@@ -450,6 +450,7 @@
       return -1;
     }
 
+  bool cleanup_user_core = false;
   if (dwfl->user_core != NULL)
     free (dwfl->user_core->executable_for_core);
   if (executable == NULL)
@@ -461,6 +462,7 @@
     {
       if (dwfl->user_core == NULL)
 	{
+	  cleanup_user_core = true;
 	  dwfl->user_core = calloc (1, sizeof (struct Dwfl_User_Core));
 	  if (dwfl->user_core == NULL)
 	    {
@@ -472,6 +474,11 @@
       dwfl->user_core->executable_for_core = strdup (executable);
       if (dwfl->user_core->executable_for_core == NULL)
 	{
+	  if (cleanup_user_core)
+	    {
+	      free (dwfl->user_core);
+	      dwfl->user_core = NULL;
+	    }
 	  __libdwfl_seterrno (DWFL_E_NOMEM);
 	  return -1;
 	}
@@ -481,7 +488,15 @@
   GElf_Phdr notes_phdr;
   int ndx = dwfl_report_core_segments (dwfl, elf, phnum, &notes_phdr);
   if (unlikely (ndx <= 0))
-    return ndx;
+    {
+      if (cleanup_user_core)
+	{
+	  free (dwfl->user_core->executable_for_core);
+	  free (dwfl->user_core);
+	  dwfl->user_core = NULL;
+	}
+      return ndx;
+    }
 
   /* Next, we should follow the chain from DT_DEBUG.  */
 
diff --git a/libdwfl/debuginfod-client.c b/libdwfl/debuginfod-client.c
index ee604ad..99b66b6 100644
--- a/libdwfl/debuginfod-client.c
+++ b/libdwfl/debuginfod-client.c
@@ -101,10 +101,7 @@
 void __attribute__ ((constructor))
 __libdwfl_debuginfod_init (void)
 {
-  void *debuginfod_so = dlopen("libdebuginfod-" VERSION ".so", RTLD_LAZY);
-
-  if (debuginfod_so == NULL)
-    debuginfod_so = dlopen("libdebuginfod.so", RTLD_LAZY);
+  void *debuginfod_so = dlopen(DEBUGINFOD_SONAME, RTLD_LAZY);
 
   if (debuginfod_so != NULL)
     {
diff --git a/libdwfl/dwfl_build_id_find_elf.c b/libdwfl/dwfl_build_id_find_elf.c
index 4e56143..7b604d4 100644
--- a/libdwfl/dwfl_build_id_find_elf.c
+++ b/libdwfl/dwfl_build_id_find_elf.c
@@ -48,6 +48,7 @@
 #define MAX_BUILD_ID_BYTES 64
   if (id_len < MIN_BUILD_ID_BYTES || id_len > MAX_BUILD_ID_BYTES)
     {
+    bad_id:
       __libdwfl_seterrno (DWFL_E_WRONG_ID_ELF);
       return -1;
     }
@@ -59,12 +60,14 @@
   strcpy (id_name, "/.build-id/");
   int n = snprintf (&id_name[sizeof "/.build-id/" - 1],
 		    4, "%02" PRIx8 "/", (uint8_t) id[0]);
-  assert (n == 3);
+  if (n != 3)
+    goto bad_id;;
   for (size_t i = 1; i < id_len; ++i)
     {
       n = snprintf (&id_name[sizeof "/.build-id/" - 1 + 3 + (i - 1) * 2],
 		    3, "%02" PRIx8, (uint8_t) id[i]);
-      assert (n == 2);
+      if (n != 2)
+	goto bad_id;
     }
   if (debug)
     strcpy (&id_name[sizeof "/.build-id/" - 1 + 3 + (id_len - 1) * 2],
@@ -189,12 +192,14 @@
     }
   else
     {
+#ifdef ENABLE_LIBDEBUGINFOD
       /* If all else fails and a build-id is available, query the
 	 debuginfo-server if enabled.  */
       if (fd < 0 && mod->build_id_len > 0)
 	fd = __libdwfl_debuginfod_find_executable (mod->dwfl,
 						   mod->build_id_bits,
 						   mod->build_id_len);
+#endif
     }
 
   if (fd < 0 && errno == 0 && mod->build_id_len > 0)
diff --git a/libdwfl/dwfl_end.c b/libdwfl/dwfl_end.c
index 4f6c722..b184019 100644
--- a/libdwfl/dwfl_end.c
+++ b/libdwfl/dwfl_end.c
@@ -39,7 +39,9 @@
   if (dwfl == NULL)
     return;
 
+#ifdef ENABLE_LIBDEBUGINFOD
   __libdwfl_debuginfod_end (dwfl->debuginfod);
+#endif
 
   if (dwfl->process)
     __libdwfl_process_free (dwfl->process);
diff --git a/libdwfl/dwfl_error.c b/libdwfl/dwfl_error.c
index 7bcf61c..a5c683a 100644
--- a/libdwfl/dwfl_error.c
+++ b/libdwfl/dwfl_error.c
@@ -137,6 +137,21 @@
 }
 
 
+static const char *
+errnomsg(int error)
+{
+  /* Won't be changed by strerror_r, but not const so compiler doesn't throw warning */
+  static char unknown[] = "unknown error";
+
+#ifdef STRERROR_R_CHAR_P
+  return strerror_r (error, unknown, 0);
+#else
+  /* To store the error message from strerror_r in a thread-safe manner */
+  static __thread char msg[128];
+  return strerror_r (error, msg, sizeof (msg)) ? unknown : msg;
+#endif
+}
+
 const char *
 dwfl_errmsg (int error)
 {
@@ -154,7 +169,7 @@
   switch (error &~ 0xffff)
     {
     case OTHER_ERROR (ERRNO):
-      return strerror_r (error & 0xffff, "bad", 0);
+      return errnomsg (error & 0xffff);
     case OTHER_ERROR (LIBELF):
       return elf_errmsg (error & 0xffff);
     case OTHER_ERROR (LIBDW):
diff --git a/libdwfl/dwfl_module_getdwarf.c b/libdwfl/dwfl_module_getdwarf.c
index 56e6105..2f3dd0d 100644
--- a/libdwfl/dwfl_module_getdwarf.c
+++ b/libdwfl/dwfl_module_getdwarf.c
@@ -145,7 +145,7 @@
 	}
     }
 
-  /* We only want to set the module e_type explictly once, derived from
+  /* We only want to set the module e_type explicitly once, derived from
      the main ELF file.  (It might be changed for the kernel, because
      that is special - see below.)  open_elf is always called first for
      the main ELF file, because both find_dw and find_symtab call
@@ -1141,7 +1141,7 @@
 
   /* Cache the data; MOD->syments and MOD->first_global were set
      above.  If any of the sections is compressed, uncompress it
-     first.  Only the string data setion could theoretically be
+     first.  Only the string data section could theoretically be
      compressed GNU style (as .zdebug_str).  Everything else only ELF
      gabi style (SHF_COMPRESSED).  */
 
diff --git a/libdwfl/dwfl_report_elf.c b/libdwfl/dwfl_report_elf.c
index 3fc9384..9da8669 100644
--- a/libdwfl/dwfl_report_elf.c
+++ b/libdwfl/dwfl_report_elf.c
@@ -85,7 +85,7 @@
 	      const GElf_Addr next = (end + align - 1) & -align;
 	      if (shdr->sh_addr == 0
 		  /* Once we've started doing layout we have to do it all,
-		     unless we just layed out the first section at 0 when
+		     unless we just laid out the first section at 0 when
 		     it already was at 0.  */
 		  || (bias == 0 && end > start && end != next))
 		{
diff --git a/libdwfl/dwfl_segment_report_module.c b/libdwfl/dwfl_segment_report_module.c
index 430e13d..ee9cfa2 100644
--- a/libdwfl/dwfl_segment_report_module.c
+++ b/libdwfl/dwfl_segment_report_module.c
@@ -54,6 +54,21 @@
 # define MY_ELFDATA	ELFDATA2MSB
 #endif
 
+struct elf_build_id
+{
+  void *memory;
+  size_t len;
+  GElf_Addr vaddr;
+};
+
+struct read_state
+{
+  Dwfl *dwfl;
+  Dwfl_Memory_Callback *memory_callback;
+  void *memory_callback_arg;
+  void **buffer;
+  size_t *buffer_available;
+};
 
 /* Return user segment index closest to ADDR but not above it.
    If NEXT, return the closest to ADDR but not below it.  */
@@ -206,16 +221,16 @@
 
 static bool
 invalid_elf (Elf *elf, bool disk_file_has_build_id,
-	     const void *build_id, size_t build_id_len)
+             struct elf_build_id *build_id)
 {
-  if (! disk_file_has_build_id && build_id_len > 0)
+  if (! disk_file_has_build_id && build_id->len > 0)
     {
       /* Module found in segments with build-id is more reliable
 	 than a module found via DT_DEBUG on disk without any
 	 build-id.   */
       return true;
     }
-  if (disk_file_has_build_id && build_id_len > 0)
+  if (disk_file_has_build_id && build_id->len > 0)
     {
       const void *elf_build_id;
       ssize_t elf_build_id_len;
@@ -224,14 +239,55 @@
       elf_build_id_len = INTUSE(dwelf_elf_gnu_build_id) (elf, &elf_build_id);
       if (elf_build_id_len > 0)
 	{
-	  if (build_id_len != (size_t) elf_build_id_len
-	      || memcmp (build_id, elf_build_id, build_id_len) != 0)
+	  if (build_id->len != (size_t) elf_build_id_len
+	      || memcmp (build_id->memory, elf_build_id, build_id->len) != 0)
 	    return true;
 	}
     }
   return false;
 }
 
+static void
+finish_portion (struct read_state *read_state,
+		void **data, size_t *data_size)
+{
+  if (*data_size != 0 && *data != NULL)
+    (*read_state->memory_callback) (read_state->dwfl, -1, data, data_size,
+				    0, 0, read_state->memory_callback_arg);
+}
+
+static inline bool
+read_portion (struct read_state *read_state,
+	      void **data, size_t *data_size,
+	      GElf_Addr start, size_t segment,
+	      GElf_Addr vaddr, size_t filesz)
+{
+  /* Check whether we will have to read the segment data, or if it
+     can be returned from the existing buffer.  */
+  if (filesz > *read_state->buffer_available
+      || vaddr - start > *read_state->buffer_available - filesz
+      /* If we're in string mode, then don't consider the buffer we have
+	 sufficient unless it contains the terminator of the string.  */
+      || (filesz == 0 && memchr (vaddr - start + *read_state->buffer, '\0',
+				 (*read_state->buffer_available
+				  - (vaddr - start))) == NULL))
+    {
+      *data = NULL;
+      *data_size = filesz;
+      return !(*read_state->memory_callback) (read_state->dwfl,
+					      addr_segndx (read_state->dwfl,
+							   segment, vaddr,
+							   false),
+					      data, data_size, vaddr, filesz,
+					      read_state->memory_callback_arg);
+    }
+
+  /* We already have this whole note segment from our initial read.  */
+  *data = vaddr - start + (*read_state->buffer);
+  *data_size = 0;
+  return false;
+}
+
 int
 dwfl_segment_report_module (Dwfl *dwfl, int ndx, const char *name,
 			    Dwfl_Memory_Callback *memory_callback,
@@ -242,6 +298,7 @@
 			    const struct r_debug_info *r_debug_info)
 {
   size_t segment = ndx;
+  struct read_state read_state;
 
   if (segment >= dwfl->lookup_elts)
     segment = dwfl->lookup_elts - 1;
@@ -257,20 +314,6 @@
 
   GElf_Addr start = dwfl->lookup_addr[segment];
 
-  inline bool segment_read (int segndx,
-			    void **buffer, size_t *buffer_available,
-			    GElf_Addr addr, size_t minread)
-  {
-    return ! (*memory_callback) (dwfl, segndx, buffer, buffer_available,
-				 addr, minread, memory_callback_arg);
-  }
-
-  inline void release_buffer (void **buffer, size_t *buffer_available)
-  {
-    if (*buffer != NULL)
-      (void) segment_read (-1, buffer, buffer_available, 0, 0);
-  }
-
   /* First read in the file header and check its sanity.  */
 
   void *buffer = NULL;
@@ -278,55 +321,20 @@
   Elf *elf = NULL;
   int fd = -1;
 
+  read_state.dwfl = dwfl;
+  read_state.memory_callback = memory_callback;
+  read_state.memory_callback_arg = memory_callback_arg;
+  read_state.buffer = &buffer;
+  read_state.buffer_available = &buffer_available;
+
   /* We might have to reserve some memory for the phdrs.  Set to NULL
      here so we can always safely free it.  */
   void *phdrsp = NULL;
 
-  inline int finish (void)
-  {
-    free (phdrsp);
-    release_buffer (&buffer, &buffer_available);
-    if (elf != NULL)
-      elf_end (elf);
-    if (fd != -1)
-      close (fd);
-    return ndx;
-  }
-
-  if (segment_read (ndx, &buffer, &buffer_available,
-		    start, sizeof (Elf64_Ehdr))
+  if (! (*memory_callback) (dwfl, ndx, &buffer, &buffer_available,
+			    start, sizeof (Elf64_Ehdr), memory_callback_arg)
       || memcmp (buffer, ELFMAG, SELFMAG) != 0)
-    return finish ();
-
-  inline bool read_portion (void **data, size_t *data_size,
-			    GElf_Addr vaddr, size_t filesz)
-  {
-    /* Check whether we will have to read the segment data, or if it
-       can be returned from the existing buffer.  */
-    if (filesz > buffer_available
-	|| vaddr - start > buffer_available - filesz
-	/* If we're in string mode, then don't consider the buffer we have
-	   sufficient unless it contains the terminator of the string.  */
-	|| (filesz == 0 && memchr (vaddr - start + buffer, '\0',
-				   buffer_available - (vaddr - start)) == NULL))
-      {
-	*data = NULL;
-	*data_size = filesz;
-	return segment_read (addr_segndx (dwfl, segment, vaddr, false),
-			     data, data_size, vaddr, filesz);
-      }
-
-    /* We already have this whole note segment from our initial read.  */
-    *data = vaddr - start + buffer;
-    *data_size = 0;
-    return false;
-  }
-
-  inline void finish_portion (void **data, size_t *data_size)
-  {
-    if (*data_size != 0)
-      release_buffer (data, data_size);
-  }
+    goto out;
 
   /* Extract the information we need from the file header.  */
   const unsigned char *e_ident;
@@ -363,17 +371,17 @@
     case ELFCLASS32:
       xlatefrom.d_size = sizeof (Elf32_Ehdr);
       if (elf32_xlatetom (&xlateto, &xlatefrom, ei_data) == NULL)
-	return finish ();
+	goto out;
       e_type = ehdr.e32.e_type;
       phoff = ehdr.e32.e_phoff;
       phnum = ehdr.e32.e_phnum;
       phentsize = ehdr.e32.e_phentsize;
       if (phentsize != sizeof (Elf32_Phdr))
-	return finish ();
+	goto out;
       /* NOTE if the number of sections is > 0xff00 then e_shnum
 	 is zero and the actual number would come from the section
 	 zero sh_size field. We ignore this here because getting shdrs
-	 is just a nice bonus (see below in consider_phdr PT_LOAD
+	 is just a nice bonus (see below in the type == PT_LOAD case
 	 where we trim the last segment).  */
       shdrs_end = ehdr.e32.e_shoff + ehdr.e32.e_shnum * ehdr.e32.e_shentsize;
       break;
@@ -381,19 +389,19 @@
     case ELFCLASS64:
       xlatefrom.d_size = sizeof (Elf64_Ehdr);
       if (elf64_xlatetom (&xlateto, &xlatefrom, ei_data) == NULL)
-	return finish ();
+	goto out;
       e_type = ehdr.e64.e_type;
       phoff = ehdr.e64.e_phoff;
       phnum = ehdr.e64.e_phnum;
       phentsize = ehdr.e64.e_phentsize;
       if (phentsize != sizeof (Elf64_Phdr))
-	return finish ();
+	goto out;
       /* See the NOTE above for shdrs_end and ehdr.e32.e_shnum.  */
       shdrs_end = ehdr.e64.e_shoff + ehdr.e64.e_shnum * ehdr.e64.e_shentsize;
       break;
 
     default:
-      return finish ();
+      goto out;
     }
 
   /* The file header tells where to find the program headers.
@@ -401,16 +409,17 @@
      Without them, we don't have a module to report.  */
 
   if (phnum == 0)
-    return finish ();
+    goto out;
 
   xlatefrom.d_type = xlateto.d_type = ELF_T_PHDR;
   xlatefrom.d_size = phnum * phentsize;
 
   void *ph_buffer = NULL;
   size_t ph_buffer_size = 0;
-  if (read_portion (&ph_buffer, &ph_buffer_size,
+  if (read_portion (&read_state, &ph_buffer, &ph_buffer_size,
+		    start, segment,
 		    start + phoff, xlatefrom.d_size))
-    return finish ();
+    goto out;
 
   /* ph_buffer_size will be zero if we got everything from the initial
      buffer, otherwise it will be the size of the new buffer that
@@ -423,11 +432,11 @@
   bool class32 = ei_class == ELFCLASS32;
   size_t phdr_size = class32 ? sizeof (Elf32_Phdr) : sizeof (Elf64_Phdr);
   if (unlikely (phnum > SIZE_MAX / phdr_size))
-    return finish ();
+    goto out;
   const size_t phdrsp_bytes = phnum * phdr_size;
   phdrsp = malloc (phdrsp_bytes);
   if (unlikely (phdrsp == NULL))
-    return finish ();
+    goto out;
 
   xlateto.d_buf = phdrsp;
   xlateto.d_size = phdrsp_bytes;
@@ -452,193 +461,189 @@
   GElf_Xword dyn_filesz = 0;
 
   /* Collect the build ID bits here.  */
-  void *build_id = NULL;
-  size_t build_id_len = 0;
-  GElf_Addr build_id_vaddr = 0;
+  struct elf_build_id build_id;
+  build_id.memory = NULL;
+  build_id.len = 0;
+  build_id.vaddr =0;
 
-  /* Consider a PT_NOTE we've found in the image.  */
-  inline void consider_notes (GElf_Addr vaddr, GElf_Xword filesz,
-			      GElf_Xword align)
-  {
-    /* If we have already seen a build ID, we don't care any more.  */
-    if (build_id != NULL || filesz == 0)
-      return;
-
-    void *data;
-    size_t data_size;
-    if (read_portion (&data, &data_size, vaddr, filesz))
-      return;
-
-    /* data_size will be zero if we got everything from the initial
-       buffer, otherwise it will be the size of the new buffer that
-       could be read.  */
-    if (data_size != 0)
-      filesz = data_size;
-
-    assert (sizeof (Elf32_Nhdr) == sizeof (Elf64_Nhdr));
-
-    void *notes;
-    if (ei_data == MY_ELFDATA)
-      notes = data;
-    else
-      {
-	notes = malloc (filesz);
-	if (unlikely (notes == NULL))
-	  return;
-	xlatefrom.d_type = xlateto.d_type = (align == 8
-					     ? ELF_T_NHDR8 : ELF_T_NHDR);
-	xlatefrom.d_buf = (void *) data;
-	xlatefrom.d_size = filesz;
-	xlateto.d_buf = notes;
-	xlateto.d_size = filesz;
-	if (elf32_xlatetom (&xlateto, &xlatefrom,
-			    ehdr.e32.e_ident[EI_DATA]) == NULL)
-	  goto done;
-      }
-
-    const GElf_Nhdr *nh = notes;
-    size_t len = 0;
-    while (filesz > len + sizeof (*nh))
-      {
-	const void *note_name;
-	const void *note_desc;
-
-	len += sizeof (*nh);
-	note_name = notes + len;
-
-	len += nh->n_namesz;
-	len = align == 8 ? NOTE_ALIGN8 (len) : NOTE_ALIGN4 (len);
-	note_desc = notes + len;
-
-	if (unlikely (filesz < len + nh->n_descsz))
-	  break;
-
-        if (nh->n_type == NT_GNU_BUILD_ID
-	    && nh->n_descsz > 0
-	    && nh->n_namesz == sizeof "GNU"
-	    && !memcmp (note_name, "GNU", sizeof "GNU"))
-	  {
-	    build_id_vaddr = note_desc - (const void *) notes + vaddr;
-	    build_id_len = nh->n_descsz;
-	    build_id = malloc (nh->n_descsz);
-	    if (likely (build_id != NULL))
-	      memcpy (build_id, note_desc, build_id_len);
-	    break;
-	  }
-
-	len += nh->n_descsz;
-	len = align == 8 ? NOTE_ALIGN8 (len) : NOTE_ALIGN4 (len);
-	nh = (void *) notes + len;
-      }
-
-  done:
-    if (notes != data)
-      free (notes);
-    finish_portion (&data, &data_size);
-  }
-
-  /* Consider each of the program headers we've read from the image.  */
-  inline void consider_phdr (GElf_Word type,
-			     GElf_Addr vaddr, GElf_Xword memsz,
-			     GElf_Off offset, GElf_Xword filesz,
-			     GElf_Xword align)
-  {
-    switch (type)
-      {
-      case PT_DYNAMIC:
-	dyn_vaddr = vaddr;
-	dyn_filesz = filesz;
-	break;
-
-      case PT_NOTE:
-	/* We calculate from the p_offset of the note segment,
-	   because we don't yet know the bias for its p_vaddr.  */
-	consider_notes (start + offset, filesz, align);
-	break;
-
-      case PT_LOAD:
-	align = dwfl->segment_align > 1 ? dwfl->segment_align : align ?: 1;
-
-	GElf_Addr vaddr_end = (vaddr + memsz + align - 1) & -align;
-	GElf_Addr filesz_vaddr = filesz < memsz ? vaddr + filesz : vaddr_end;
-	GElf_Off filesz_offset = filesz_vaddr - vaddr + offset;
-
-	if (file_trimmed_end < offset + filesz)
-	  {
-	    file_trimmed_end = offset + filesz;
-
-	    /* Trim the last segment so we don't bother with zeros
-	       in the last page that are off the end of the file.
-	       However, if the extra bit in that page includes the
-	       section headers, keep them.  */
-	    if (shdrs_end <= filesz_offset && shdrs_end > file_trimmed_end)
-	      {
-		filesz += shdrs_end - file_trimmed_end;
-		file_trimmed_end = shdrs_end;
-	      }
-	  }
-
-	total_filesz += filesz;
-
-	if (file_end < filesz_offset)
-	  {
-	    file_end = filesz_offset;
-	    if (filesz_vaddr - start == filesz_offset)
-	      contiguous = file_end;
-	  }
-
-	if (!found_bias && (offset & -align) == 0
-	    && likely (filesz_offset >= phoff + phnum * phentsize))
-	  {
-	    bias = start - vaddr;
-	    found_bias = true;
-	  }
-
-	if ((vaddr & -align) < module_start)
-	  {
-	    module_start = vaddr & -align;
-	    module_address_sync = vaddr + memsz;
-	  }
-
-	if (module_end < vaddr_end)
-	  module_end = vaddr_end;
-	break;
-      }
-  }
-
-  Elf32_Phdr (*p32)[phnum] = phdrsp;
-  Elf64_Phdr (*p64)[phnum] = phdrsp;
-  if (ei_class == ELFCLASS32)
+  Elf32_Phdr *p32 = phdrsp;
+  Elf64_Phdr *p64 = phdrsp;
+  if ((ei_class == ELFCLASS32
+       && elf32_xlatetom (&xlateto, &xlatefrom, ei_data) == NULL)
+      || (ei_class == ELFCLASS64
+          && elf64_xlatetom (&xlateto, &xlatefrom, ei_data) == NULL))
     {
-      if (elf32_xlatetom (&xlateto, &xlatefrom, ei_data) == NULL)
-	found_bias = false;	/* Trigger error check.  */
-      else
-	for (uint_fast16_t i = 0; i < phnum; ++i)
-	  consider_phdr ((*p32)[i].p_type,
-			 (*p32)[i].p_vaddr, (*p32)[i].p_memsz,
-			 (*p32)[i].p_offset, (*p32)[i].p_filesz,
-			 (*p32)[i].p_align);
+      found_bias = false; /* Trigger error check */
     }
   else
     {
-      if (elf64_xlatetom (&xlateto, &xlatefrom, ei_data) == NULL)
-	found_bias = false;	/* Trigger error check.  */
-      else
-	for (uint_fast16_t i = 0; i < phnum; ++i)
-	  consider_phdr ((*p64)[i].p_type,
-			 (*p64)[i].p_vaddr, (*p64)[i].p_memsz,
-			 (*p64)[i].p_offset, (*p64)[i].p_filesz,
-			 (*p64)[i].p_align);
+      /* Consider each of the program headers we've read from the image.  */
+      for (uint_fast16_t i = 0; i < phnum; ++i)
+        {
+          bool is32 = (ei_class == ELFCLASS32);
+          GElf_Word type = is32 ? p32[i].p_type : p64[i].p_type;
+          GElf_Addr vaddr = is32 ? p32[i].p_vaddr : p64[i].p_vaddr;
+          GElf_Xword memsz = is32 ? p32[i].p_memsz : p64[i].p_memsz;
+          GElf_Off offset = is32 ? p32[i].p_offset : p64[i].p_offset;
+          GElf_Xword filesz = is32 ? p32[i].p_filesz : p64[i].p_filesz;
+          GElf_Xword align = is32 ? p32[i].p_align : p64[i].p_align;
+
+          if (type == PT_DYNAMIC)
+            {
+              dyn_vaddr = vaddr;
+              dyn_filesz = filesz;
+            }
+          else if (type == PT_NOTE)
+            {
+              /* If we have already seen a build ID, we don't care any more.  */
+              if (build_id.memory != NULL || filesz == 0)
+                continue; /* Next header */
+
+              /* We calculate from the p_offset of the note segment,
+               because we don't yet know the bias for its p_vaddr.  */
+              const GElf_Addr note_vaddr = start + offset;
+              void *data;
+              size_t data_size;
+              if (read_portion (&read_state, &data, &data_size,
+				start, segment, note_vaddr, filesz))
+                continue; /* Next header */
+
+              /* data_size will be zero if we got everything from the initial
+                 buffer, otherwise it will be the size of the new buffer that
+                 could be read.  */
+              if (data_size != 0)
+                filesz = data_size;
+
+              assert (sizeof (Elf32_Nhdr) == sizeof (Elf64_Nhdr));
+
+              void *notes;
+              if (ei_data == MY_ELFDATA)
+                notes = data;
+              else
+                {
+                  const unsigned int xencoding = ehdr.e32.e_ident[EI_DATA];
+
+                  notes = malloc (filesz);
+                  if (unlikely (notes == NULL))
+                    continue; /* Next header */
+                  xlatefrom.d_type = xlateto.d_type = (align == 8
+                                                       ? ELF_T_NHDR8
+						       : ELF_T_NHDR);
+                  xlatefrom.d_buf = (void *) data;
+                  xlatefrom.d_size = filesz;
+                  xlateto.d_buf = notes;
+                  xlateto.d_size = filesz;
+                  if (elf32_xlatetom (&xlateto, &xlatefrom, xencoding) == NULL)
+                    {
+                      free (notes);
+                      finish_portion (&read_state, &data, &data_size);
+                      continue;
+                    }
+                }
+
+              const GElf_Nhdr *nh = notes;
+              size_t len = 0;
+              while (filesz > len + sizeof (*nh))
+                {
+                  const void *note_name;
+                  const void *note_desc;
+
+                  len += sizeof (*nh);
+                  note_name = notes + len;
+
+                  len += nh->n_namesz;
+                  len = align == 8 ? NOTE_ALIGN8 (len) : NOTE_ALIGN4 (len);
+                  note_desc = notes + len;
+
+                  if (unlikely (filesz < len + nh->n_descsz))
+                    break;
+
+                  if (nh->n_type == NT_GNU_BUILD_ID
+                      && nh->n_descsz > 0
+                      && nh->n_namesz == sizeof "GNU"
+                      && !memcmp (note_name, "GNU", sizeof "GNU"))
+                    {
+                      build_id.vaddr = (note_desc
+					- (const void *) notes
+					+ note_vaddr);
+                      build_id.len = nh->n_descsz;
+                      build_id.memory = malloc (build_id.len);
+                      if (likely (build_id.memory != NULL))
+                        memcpy (build_id.memory, note_desc, build_id.len);
+                      break;
+                    }
+
+                  len += nh->n_descsz;
+                  len = align == 8 ? NOTE_ALIGN8 (len) : NOTE_ALIGN4 (len);
+                  nh = (void *) notes + len;
+                }
+
+              if (notes != data)
+                free (notes);
+              finish_portion (&read_state, &data, &data_size);
+            }
+          else if (type == PT_LOAD)
+            {
+              align = (dwfl->segment_align > 1
+                       ? dwfl->segment_align : (align ?: 1));
+
+              GElf_Addr vaddr_end = (vaddr + memsz + align - 1) & -align;
+              GElf_Addr filesz_vaddr = (filesz < memsz
+                                        ? vaddr + filesz : vaddr_end);
+              GElf_Off filesz_offset = filesz_vaddr - vaddr + offset;
+
+              if (file_trimmed_end < offset + filesz)
+                {
+                  file_trimmed_end = offset + filesz;
+
+                  /* Trim the last segment so we don't bother with zeros
+                     in the last page that are off the end of the file.
+                     However, if the extra bit in that page includes the
+                     section headers, keep them.  */
+                  if (shdrs_end <= filesz_offset
+                      && shdrs_end > file_trimmed_end)
+                    {
+                      filesz += shdrs_end - file_trimmed_end;
+                      file_trimmed_end = shdrs_end;
+                    }
+                }
+
+              total_filesz += filesz;
+
+              if (file_end < filesz_offset)
+                {
+                  file_end = filesz_offset;
+                  if (filesz_vaddr - start == filesz_offset)
+                    contiguous = file_end;
+                }
+
+              if (!found_bias && (offset & -align) == 0
+                  && likely (filesz_offset >= phoff + phnum * phentsize))
+                {
+                  bias = start - vaddr;
+                  found_bias = true;
+                }
+
+              if ((vaddr & -align) < module_start)
+                {
+                  module_start = vaddr & -align;
+                  module_address_sync = vaddr + memsz;
+                }
+
+              if (module_end < vaddr_end)
+                module_end = vaddr_end;
+            }
+        }
     }
 
-  finish_portion (&ph_buffer, &ph_buffer_size);
+  finish_portion (&read_state, &ph_buffer, &ph_buffer_size);
 
   /* We must have seen the segment covering offset 0, or else the ELF
      header we read at START was not produced by these program headers.  */
   if (unlikely (!found_bias))
     {
-      free (build_id);
-      return finish ();
+      free (build_id.memory);
+      goto out;
     }
 
   /* Now we know enough to report a module for sure: its bounds.  */
@@ -692,7 +697,7 @@
 	  {
 	    if (module->elf != NULL
 	        && invalid_elf (module->elf, module->disk_file_has_build_id,
-				build_id, build_id_len))
+				&build_id))
 	      {
 		elf_end (module->elf);
 		close (module->fd);
@@ -708,8 +713,8 @@
 	  }
       if (skip_this_module)
 	{
-	  free (build_id);
-	  return finish ();
+	  free (build_id.memory);
+	  goto out;
 	}
     }
 
@@ -727,7 +732,7 @@
 	  Dwfl_Error error = __libdw_open_file (&fd, &elf, true, false);
 	  if (error == DWFL_E_NOERROR)
 	    invalid = invalid_elf (elf, true /* disk_file_has_build_id */,
-				   build_id, build_id_len);
+                                   &build_id);
 	}
       if (invalid)
 	{
@@ -755,39 +760,13 @@
   GElf_Addr dynstr_vaddr = 0;
   GElf_Xword dynstrsz = 0;
   bool execlike = false;
-  inline bool consider_dyn (GElf_Sxword tag, GElf_Xword val)
-  {
-    switch (tag)
-      {
-      default:
-	return false;
-
-      case DT_DEBUG:
-	execlike = true;
-	break;
-
-      case DT_SONAME:
-	soname_stroff = val;
-	break;
-
-      case DT_STRTAB:
-	dynstr_vaddr = val;
-	break;
-
-      case DT_STRSZ:
-	dynstrsz = val;
-	break;
-      }
-
-    return soname_stroff != 0 && dynstr_vaddr != 0 && dynstrsz != 0;
-  }
-
   const size_t dyn_entsize = (ei_class == ELFCLASS32
 			      ? sizeof (Elf32_Dyn) : sizeof (Elf64_Dyn));
   void *dyn_data = NULL;
   size_t dyn_data_size = 0;
   if (dyn_filesz != 0 && dyn_filesz % dyn_entsize == 0
-      && ! read_portion (&dyn_data, &dyn_data_size, dyn_vaddr, dyn_filesz))
+      && ! read_portion (&read_state, &dyn_data, &dyn_data_size,
+			 start, segment, dyn_vaddr, dyn_filesz))
     {
       /* dyn_data_size will be zero if we got everything from the initial
          buffer, otherwise it will be the size of the new buffer that
@@ -796,10 +775,10 @@
 	dyn_filesz = dyn_data_size;
 
       void *dyns = malloc (dyn_filesz);
-      Elf32_Dyn (*d32)[dyn_filesz / sizeof (Elf32_Dyn)] = dyns;
-      Elf64_Dyn (*d64)[dyn_filesz / sizeof (Elf64_Dyn)] = dyns;
+      Elf32_Dyn *d32 = dyns;
+      Elf64_Dyn *d64 = dyns;
       if (unlikely (dyns == NULL))
-	return finish ();
+	goto out;
 
       xlatefrom.d_type = xlateto.d_type = ELF_T_DYN;
       xlatefrom.d_buf = (void *) dyn_data;
@@ -807,23 +786,36 @@
       xlateto.d_buf = dyns;
       xlateto.d_size = dyn_filesz;
 
-      if (ei_class == ELFCLASS32)
-	{
-	  if (elf32_xlatetom (&xlateto, &xlatefrom, ei_data) != NULL)
-	    for (size_t i = 0; i < dyn_filesz / sizeof (Elf32_Dyn); ++i)
-	      if (consider_dyn ((*d32)[i].d_tag, (*d32)[i].d_un.d_val))
-		break;
-	}
-      else
-	{
-	  if (elf64_xlatetom (&xlateto, &xlatefrom, ei_data) != NULL)
-	    for (size_t i = 0; i < dyn_filesz / sizeof (Elf64_Dyn); ++i)
-	      if (consider_dyn ((*d64)[i].d_tag, (*d64)[i].d_un.d_val))
-		break;
-	}
+      bool is32 = (ei_class == ELFCLASS32);
+      if ((is32 && elf32_xlatetom (&xlateto, &xlatefrom, ei_data) != NULL)
+          || (!is32 && elf64_xlatetom (&xlateto, &xlatefrom, ei_data) != NULL))
+        {
+          size_t n = (is32
+		      ? (dyn_filesz / sizeof (Elf32_Dyn))
+		      : (dyn_filesz / sizeof (Elf64_Dyn)));
+          for (size_t i = 0; i < n; ++i)
+            {
+              GElf_Sxword tag = is32 ? d32[i].d_tag : d64[i].d_tag;
+              GElf_Xword val = is32 ? d32[i].d_un.d_val : d64[i].d_un.d_val;
+
+              if (tag == DT_DEBUG)
+                execlike = true;
+              else if (tag == DT_SONAME)
+                soname_stroff = val;
+              else if (tag == DT_STRTAB)
+                dynstr_vaddr = val;
+              else if (tag == DT_STRSZ)
+                dynstrsz = val;
+              else
+                continue;
+
+              if (soname_stroff != 0 && dynstr_vaddr != 0 && dynstrsz != 0)
+                break;
+            }
+        }
       free (dyns);
     }
-  finish_portion (&dyn_data, &dyn_data_size);
+  finish_portion (&read_state, &dyn_data, &dyn_data_size);
 
   /* We'll use the name passed in or a stupid default if not DT_SONAME.  */
   if (name == NULL)
@@ -855,7 +847,8 @@
 
       /* Try to get the DT_SONAME string.  */
       if (soname_stroff != 0 && soname_stroff + 1 < dynstrsz
-	  && ! read_portion (&soname, &soname_size,
+	  && ! read_portion (&read_state, &soname, &soname_size,
+			     start, segment,
 			     dynstr_vaddr + soname_stroff, 0))
 	name = soname;
     }
@@ -871,11 +864,11 @@
   if (mod != NULL && (execlike || ehdr.e32.e_type == ET_EXEC))
     mod->is_executable = true;
 
-  if (likely (mod != NULL) && build_id != NULL
+  if (likely (mod != NULL) && build_id.memory != NULL
       && unlikely (INTUSE(dwfl_module_report_build_id) (mod,
-							build_id,
-							build_id_len,
-							build_id_vaddr)))
+							build_id.memory,
+							build_id.len,
+							build_id.vaddr)))
     {
       mod->gc = true;
       mod = NULL;
@@ -883,13 +876,13 @@
 
   /* At this point we do not need BUILD_ID or NAME any more.
      They have been copied.  */
-  free (build_id);
-  finish_portion (&soname, &soname_size);
+  free (build_id.memory);
+  finish_portion (&read_state, &soname, &soname_size);
 
   if (unlikely (mod == NULL))
     {
       ndx = -1;
-      return finish ();
+      goto out;
     }
 
   /* We have reported the module.  Now let the caller decide whether we
@@ -913,36 +906,31 @@
 
       void *contents = calloc (1, file_trimmed_end);
       if (unlikely (contents == NULL))
-	return finish ();
-
-      inline void final_read (size_t offset, GElf_Addr vaddr, size_t size)
-      {
-	void *into = contents + offset;
-	size_t read_size = size;
-	(void) segment_read (addr_segndx (dwfl, segment, vaddr, false),
-			     &into, &read_size, vaddr, size);
-      }
+	goto out;
 
       if (contiguous < file_trimmed_end)
 	{
 	  /* We can't use the memory image verbatim as the file image.
 	     So we'll be reading into a local image of the virtual file.  */
+          for (uint_fast16_t i = 0; i < phnum; ++i)
+            {
+              bool is32 = (ei_class == ELFCLASS32);
+              GElf_Word type = is32 ? p32[i].p_type : p64[i].p_type;
 
-	  inline void read_phdr (GElf_Word type, GElf_Addr vaddr,
-				 GElf_Off offset, GElf_Xword filesz)
-	  {
-	    if (type == PT_LOAD)
-	      final_read (offset, vaddr + bias, filesz);
-	  }
+              if (type != PT_LOAD)
+                continue;
 
-	  if (ei_class == ELFCLASS32)
-	    for (uint_fast16_t i = 0; i < phnum; ++i)
-	      read_phdr ((*p32)[i].p_type, (*p32)[i].p_vaddr,
-			 (*p32)[i].p_offset, (*p32)[i].p_filesz);
-	  else
-	    for (uint_fast16_t i = 0; i < phnum; ++i)
-	      read_phdr ((*p64)[i].p_type, (*p64)[i].p_vaddr,
-			 (*p64)[i].p_offset, (*p64)[i].p_filesz);
+              GElf_Addr vaddr = is32 ? p32[i].p_vaddr : p64[i].p_vaddr;
+              GElf_Off offset = is32 ? p32[i].p_offset : p64[i].p_offset;
+              GElf_Xword filesz = is32 ? p32[i].p_filesz : p64[i].p_filesz;
+
+              void *into = contents + offset;
+              size_t read_size = filesz;
+              (*memory_callback) (dwfl, addr_segndx (dwfl, segment,
+                                                     vaddr + bias, false),
+                                  &into, &read_size, vaddr + bias, read_size,
+                                  memory_callback_arg);
+            }
 	}
       else
 	{
@@ -953,7 +941,15 @@
 	  memcpy (contents, buffer, have);
 
 	  if (have < file_trimmed_end)
-	    final_read (have, start + have, file_trimmed_end - have);
+            {
+	      void *into = contents + have;
+	      size_t read_size = file_trimmed_end - have;
+	      (*memory_callback) (dwfl,
+				  addr_segndx (dwfl, segment,
+					       start + have, false),
+				  &into, &read_size, start + have,
+				  read_size, memory_callback_arg);
+            }
 	}
 
       elf = elf_memory (contents, file_trimmed_end);
@@ -975,5 +971,15 @@
       mod->main_bias = bias;
     }
 
-  return finish ();
+out:
+  free (phdrsp);
+  if (buffer != NULL)
+    (*memory_callback) (dwfl, -1, &buffer, &buffer_available, 0, 0,
+                        memory_callback_arg);
+
+  if (elf != NULL)
+    elf_end (elf);
+  if (fd != -1)
+    close (fd);
+  return ndx;
 }
diff --git a/libdwfl/elf-from-memory.c b/libdwfl/elf-from-memory.c
index c54c1b9..a0ef001 100644
--- a/libdwfl/elf-from-memory.c
+++ b/libdwfl/elf-from-memory.c
@@ -223,61 +223,48 @@
   bool found_base = false;
   Elf32_Phdr (*p32)[phnum] = phdrsp;
   Elf64_Phdr (*p64)[phnum] = phdrsp;
-  switch (ehdr.e32.e_ident[EI_CLASS])
+
+  if (class32)
     {
-      /* Sanity checks segments and calculates segment_end,
-	 segments_end, segments_end_mem and loadbase (if not
-	 found_base yet).  Returns true if sanity checking failed,
-	 false otherwise.  */
-      inline bool handle_segment (GElf_Addr vaddr, GElf_Off offset,
-				  GElf_Xword filesz, GElf_Xword memsz)
-	{
-	  /* Sanity check the segment load aligns with the pagesize.  */
-	  if (((vaddr - offset) & (pagesize - 1)) != 0)
-	    return true;
+      if (! elf32_xlatetom (&xlateto, &xlatefrom, ehdr.e32.e_ident[EI_DATA]))
+        goto libelf_error;
+    }
+  else
+    {
+      if (! elf64_xlatetom (&xlateto, &xlatefrom, ehdr.e64.e_ident[EI_DATA]))
+        goto libelf_error;
+    }
 
-	  GElf_Off segment_end = ((offset + filesz + pagesize - 1)
-				  & -pagesize);
+  for (uint_fast16_t i = 0; i < phnum; ++i)
+    {
+      GElf_Word type = class32 ? (*p32)[i].p_type : (*p64)[i].p_type;
 
-	  if (segment_end > (GElf_Off) contents_size)
-	    contents_size = segment_end;
+      if (type != PT_LOAD)
+        continue;
 
-	  if (!found_base && (offset & -pagesize) == 0)
-	    {
-	      loadbase = ehdr_vma - (vaddr & -pagesize);
-	      found_base = true;
-	    }
+      GElf_Addr vaddr = class32 ? (*p32)[i].p_vaddr : (*p64)[i].p_vaddr;
+      GElf_Xword memsz = class32 ? (*p32)[i].p_memsz : (*p64)[i].p_memsz;
+      GElf_Off offset = class32 ? (*p32)[i].p_offset : (*p64)[i].p_offset;
+      GElf_Xword filesz = class32 ? (*p32)[i].p_filesz : (*p64)[i].p_filesz;
 
-	  segments_end = offset + filesz;
-	  segments_end_mem = offset + memsz;
-	  return false;
-	}
+      /* Sanity check the segment load aligns with the pagesize.  */
+      if (((vaddr - offset) & (pagesize - 1)) != 0)
+        goto bad_elf;
 
-    case ELFCLASS32:
-      if (elf32_xlatetom (&xlateto, &xlatefrom,
-			  ehdr.e32.e_ident[EI_DATA]) == NULL)
-	goto libelf_error;
-      for (uint_fast16_t i = 0; i < phnum; ++i)
-	if ((*p32)[i].p_type == PT_LOAD)
-	  if (handle_segment ((*p32)[i].p_vaddr, (*p32)[i].p_offset,
-			      (*p32)[i].p_filesz, (*p32)[i].p_memsz))
-	    goto bad_elf;
-      break;
+      GElf_Off segment_end = ((offset + filesz + pagesize - 1)
+                              & -pagesize);
 
-    case ELFCLASS64:
-      if (elf64_xlatetom (&xlateto, &xlatefrom,
-			  ehdr.e64.e_ident[EI_DATA]) == NULL)
-	goto libelf_error;
-      for (uint_fast16_t i = 0; i < phnum; ++i)
-	if ((*p64)[i].p_type == PT_LOAD)
-	  if (handle_segment ((*p64)[i].p_vaddr, (*p64)[i].p_offset,
-			      (*p64)[i].p_filesz, (*p64)[i].p_memsz))
-	    goto bad_elf;
-      break;
+      if (segment_end > (GElf_Off) contents_size)
+        contents_size = segment_end;
 
-    default:
-      abort ();
-      break;
+      if (!found_base && (offset & -pagesize) == 0)
+        {
+          loadbase = ehdr_vma - (vaddr & -pagesize);
+          found_base = true;
+        }
+
+      segments_end = offset + filesz;
+      segments_end_mem = offset + memsz;
     }
 
   /* Trim the last segment so we don't bother with zeros in the last page
@@ -305,80 +292,65 @@
       goto no_memory;
     }
 
-  switch (ehdr.e32.e_ident[EI_CLASS])
+  for (uint_fast16_t i = 0; i < phnum; ++i)
     {
-      /* Reads the given segment.  Returns true if reading fails,
-	 false otherwise.  */
-      inline bool handle_segment (GElf_Addr vaddr, GElf_Off offset,
-				  GElf_Xword filesz)
-	{
-	  GElf_Off start = offset & -pagesize;
-	  GElf_Off end = (offset + filesz + pagesize - 1) & -pagesize;
-	  if (end > (GElf_Off) contents_size)
-	    end = contents_size;
-	  nread = (*read_memory) (arg, buffer + start,
-				  (loadbase + vaddr) & -pagesize,
-				  end - start, end - start);
-	  return nread <= 0;
-	}
+      GElf_Word type = class32 ? (*p32)[i].p_type : (*p64)[i].p_type;
 
-    case ELFCLASS32:
-      for (uint_fast16_t i = 0; i < phnum; ++i)
-	if ((*p32)[i].p_type == PT_LOAD)
-	  if (handle_segment ((*p32)[i].p_vaddr, (*p32)[i].p_offset,
-			      (*p32)[i].p_filesz))
-	    goto read_error;
+      if (type != PT_LOAD)
+        continue;
 
-      /* If the segments visible in memory didn't include the section
-	 headers, then clear them from the file header.  */
-      if (contents_size < shdrs_end)
-	{
-	  ehdr.e32.e_shoff = 0;
-	  ehdr.e32.e_shnum = 0;
-	  ehdr.e32.e_shstrndx = 0;
-	}
+      GElf_Addr vaddr = class32 ? (*p32)[i].p_vaddr : (*p64)[i].p_vaddr;
+      GElf_Off offset = class32 ? (*p32)[i].p_offset : (*p64)[i].p_offset;
+      GElf_Xword filesz = class32 ? (*p32)[i].p_filesz : (*p64)[i].p_filesz;
 
-      /* This will normally have been in the first PT_LOAD segment.  But it
-	 conceivably could be missing, and we might have just changed it.  */
-      xlatefrom.d_type = xlateto.d_type = ELF_T_EHDR;
+      GElf_Off start = offset & -pagesize;
+      GElf_Off end = (offset + filesz + pagesize - 1) & -pagesize;
+      if (end > (GElf_Off) contents_size)
+        end = contents_size;
+      nread = (*read_memory) (arg, buffer + start,
+                              (loadbase + vaddr) & -pagesize,
+                              end - start, end - start);
+      if (nread <= 0)
+        goto read_error;
+    }
+
+  /* If the segments visible in memory didn't include the section
+     headers, then clear them from the file header.  */
+  if (contents_size < shdrs_end)
+    {
+      if (class32)
+        {
+          ehdr.e32.e_shoff = 0;
+          ehdr.e32.e_shnum = 0;
+          ehdr.e32.e_shstrndx = 0;
+        }
+      else
+        {
+          ehdr.e64.e_shoff = 0;
+          ehdr.e64.e_shnum = 0;
+          ehdr.e64.e_shstrndx = 0;
+        }
+    }
+
+  /* This will normally have been in the first PT_LOAD segment.  But it
+     conceivably could be missing, and we might have just changed it.  */
+  xlatefrom.d_type = xlateto.d_type = ELF_T_EHDR;
+  xlateto.d_buf = buffer;
+  if (class32)
+    {
       xlatefrom.d_size = xlateto.d_size = sizeof ehdr.e32;
       xlatefrom.d_buf = &ehdr.e32;
-      xlateto.d_buf = buffer;
       if (elf32_xlatetof (&xlateto, &xlatefrom,
-			  ehdr.e32.e_ident[EI_DATA]) == NULL)
-	goto libelf_error;
-      break;
-
-    case ELFCLASS64:
-      for (uint_fast16_t i = 0; i < phnum; ++i)
-	if ((*p64)[i].p_type == PT_LOAD)
-	  if (handle_segment ((*p64)[i].p_vaddr, (*p64)[i].p_offset,
-			      (*p64)[i].p_filesz))
-	    goto read_error;
-
-      /* If the segments visible in memory didn't include the section
-	 headers, then clear them from the file header.  */
-      if (contents_size < shdrs_end)
-	{
-	  ehdr.e64.e_shoff = 0;
-	  ehdr.e64.e_shnum = 0;
-	  ehdr.e64.e_shstrndx = 0;
-	}
-
-      /* This will normally have been in the first PT_LOAD segment.  But it
-	 conceivably could be missing, and we might have just changed it.  */
-      xlatefrom.d_type = xlateto.d_type = ELF_T_EHDR;
+                          ehdr.e32.e_ident[EI_DATA]) == NULL)
+        goto libelf_error;
+    }
+  else
+    {
       xlatefrom.d_size = xlateto.d_size = sizeof ehdr.e64;
       xlatefrom.d_buf = &ehdr.e64;
-      xlateto.d_buf = buffer;
       if (elf64_xlatetof (&xlateto, &xlatefrom,
-			  ehdr.e64.e_ident[EI_DATA]) == NULL)
-	goto libelf_error;
-      break;
-
-    default:
-      abort ();
-      break;
+                          ehdr.e64.e_ident[EI_DATA]) == NULL)
+        goto libelf_error;
     }
 
   free (phdrsp);
diff --git a/libdwfl/find-debuginfo.c b/libdwfl/find-debuginfo.c
index 4085764..449df5a 100644
--- a/libdwfl/find-debuginfo.c
+++ b/libdwfl/find-debuginfo.c
@@ -355,9 +355,12 @@
 			      GElf_Word debuglink_crc,
 			      char **debuginfo_file_name)
 {
+  if (mod == NULL)
+    return -1;
+
   /* First try by build ID if we have one.  If that succeeds or fails
      other than just by finding nothing, that's all we do.  */
-  const unsigned char *bits;
+  const unsigned char *bits = NULL;
   GElf_Addr vaddr;
   int bits_len;
   if ((bits_len = INTUSE(dwfl_module_build_id) (mod, &bits, &vaddr)) > 0)
@@ -398,8 +401,29 @@
       free (canon);
     }
 
-  if (fd < 0 && bits_len > 0)
-    fd = __libdwfl_debuginfod_find_debuginfo (mod->dwfl, bits, bits_len);
+#ifdef ENABLE_LIBDEBUGINFOD
+  /* Still nothing? Try if we can use the debuginfod client.
+     But note that we might be looking for the alt file.
+     We use the same trick as dwfl_build_id_find_debuginfo.
+     If the debug file (dw) is already set, then we must be
+     looking for the altfile. But we cannot use the actual
+     file/path name given as hint. We'll have to lookup the
+     alt file "build-id". Because the debuginfod client only
+     handles build-ids.  */
+  if (fd < 0)
+    {
+      if (mod->dw != NULL)
+	{
+	  const char *altname;
+	  bits_len = INTUSE(dwelf_dwarf_gnu_debugaltlink) (mod->dw, &altname,
+							   (const void **)
+							   &bits);
+	}
+
+      if (bits_len > 0)
+	fd = __libdwfl_debuginfod_find_debuginfo (mod->dwfl, bits, bits_len);
+    }
+#endif
 
   return fd;
 }
diff --git a/libdwfl/frame_unwind.c b/libdwfl/frame_unwind.c
index d7dfa5a..9ac3383 100644
--- a/libdwfl/frame_unwind.c
+++ b/libdwfl/frame_unwind.c
@@ -562,7 +562,11 @@
   /* The return register is special for setting the unwound->pc_state.  */
   unsigned ra = frame->fde->cie->return_address_register;
   bool ra_set = false;
-  ebl_dwarf_to_regno (ebl, &ra);
+  if (! ebl_dwarf_to_regno (ebl, &ra))
+    {
+      __libdwfl_seterrno (DWFL_E_INVALID_REGISTER);
+      return;
+    }
 
   for (unsigned regno = 0; regno < nregs; regno++)
     {
@@ -719,7 +723,8 @@
      which would deadlock us.  */
   Dwarf_Addr pc;
   bool ok = INTUSE(dwfl_frame_pc) (state, &pc, NULL);
-  assert (ok);
+  if (!ok)
+    return;
   /* Check whether this is the initial frame or a signal frame.
      Then we need to unwind from the original, unadjusted PC.  */
   if (! state->initial_frame && ! state->signal_frame)
diff --git a/libdwfl/gzip.c b/libdwfl/gzip.c
index 043d0b6..ba8ecfb 100644
--- a/libdwfl/gzip.c
+++ b/libdwfl/gzip.c
@@ -48,6 +48,12 @@
 # define inflateInit(z)	lzma_auto_decoder (z, 1 << 30, 0)
 # define do_inflate(z)	lzma_code (z, LZMA_RUN)
 # define inflateEnd(z)	lzma_end (z)
+#elif defined ZSTD
+# define USE_INFLATE	1
+# include <zstd.h>
+# define unzip		__libdw_unzstd
+# define DWFL_E_ZLIB	DWFL_E_ZSTD
+# define MAGIC		"\x28\xb5\x2f\xfd"
 #elif defined BZLIB
 # define USE_INFLATE	1
 # include <bzlib.h>
@@ -119,6 +125,7 @@
   return failure;
 }
 
+#ifndef ZSTD
 static inline Dwfl_Error
 zlib_fail (struct unzip_state *state, int result)
 {
@@ -132,6 +139,7 @@
       return fail (state, DWFL_E_ZLIB);
     }
 }
+#endif
 
 #if !USE_INFLATE
 static Dwfl_Error
@@ -153,7 +161,7 @@
     if (unlikely (state->zf == NULL))
       {
 	close (d);
-	return zlib_fail (state, Z (MEM_ERROR));
+	return DWFL_E_NOMEM;
       }
 
     /* From here on, zlib will close D.  */
@@ -197,7 +205,7 @@
 
 	  ssize_t n = pread_retry (fd, state.input_buffer, READ_SIZE, start_offset);
 	  if (unlikely (n < 0))
-	    return zlib_fail (&state, Z (ERRNO));
+	    return fail (&state, DWFL_E_ERRNO);
 
 	  state.input_pos = n;
 	  mapped = state.input_buffer;
@@ -223,7 +231,74 @@
     /* Not a compressed file.  */
     return DWFL_E_BADELF;
 
-#if USE_INFLATE
+#ifdef ZSTD
+  /* special case for libzstd since it is slightly different from the
+     API provided by bzlib and liblzma.  */
+
+  void *next_in = mapped;
+  size_t avail_in = state.mapped_size;
+  void *next_out = NULL;
+  size_t avail_out = 0;
+  size_t total_out = 0;
+
+  size_t result;
+  ZSTD_DCtx *dctx = ZSTD_createDCtx();
+  if (dctx == NULL)
+    return fail (&state, DWFL_E_NOMEM);
+
+  do
+    {
+      if (avail_in == 0 && state.input_buffer != NULL)
+	{
+	  ssize_t n = pread_retry (fd, state.input_buffer, READ_SIZE,
+				   start_offset + state.input_pos);
+	  if (unlikely (n < 0))
+	    {
+	      ZSTD_freeDCtx (dctx);
+	      return fail (&state, DWFL_E_ERRNO);
+	    }
+	  next_in = state.input_buffer;
+	  avail_in = n;
+	  state.input_pos += n;
+	}
+      if (avail_out == 0)
+	{
+	  ptrdiff_t pos = (void *) next_out - state.buffer;
+	  if (!bigger_buffer (&state, avail_in))
+	    {
+	      ZSTD_freeDCtx (dctx);
+	      return fail (&state, DWFL_E_NOMEM);
+	    }
+	  next_out = state.buffer + pos;
+	  avail_out = state.size - pos;
+	}
+
+      ZSTD_inBuffer input = { next_in, avail_in, 0 };
+      ZSTD_outBuffer output = { next_out, avail_out, 0 };
+      result = ZSTD_decompressStream (dctx, &output, &input);
+
+      if (! ZSTD_isError (result))
+	{
+	  total_out += output.pos;
+	  next_out += output.pos;
+	  avail_out -= output.pos;
+	  next_in += input.pos;
+	  avail_in -= input.pos;
+	}
+
+      if (result == 0)
+	break;
+    }
+  while (avail_in > 0 && ! ZSTD_isError (result));
+
+  ZSTD_freeDCtx (dctx);
+
+  if (ZSTD_isError (result))
+    return fail (&state, DWFL_E_ZSTD);
+
+  smaller_buffer (&state, total_out);
+
+#elif USE_INFLATE
 
   /* This style actually only works with bzlib and liblzma.
      The stupid zlib interface has nothing to grok the
diff --git a/libdwfl/libdwfl.h b/libdwfl/libdwfl.h
index a0c1d35..f98f1d5 100644
--- a/libdwfl/libdwfl.h
+++ b/libdwfl/libdwfl.h
@@ -42,7 +42,7 @@
 typedef struct Dwfl_Line Dwfl_Line;
 
 /* This holds information common for all the frames of one backtrace for
-   a partical thread/task/TID.  Several threads belong to one Dwfl.  */
+   a particular thread/task/TID.  Several threads belong to one Dwfl.  */
 typedef struct Dwfl_Thread Dwfl_Thread;
 
 /* This holds everything we know about the state of the frame at a particular
@@ -111,7 +111,7 @@
 
 /* Report that segment NDX begins at PHDR->p_vaddr + BIAS.
    If NDX is < 0, the value succeeding the last call's NDX
-   is used instead (zero on the first call).
+   is used instead (zero on the first call).  IDENT is ignored.
 
    If nonzero, the smallest PHDR->p_align value seen sets the
    effective page size for the address space DWFL describes.
@@ -120,21 +120,9 @@
 
    Returns -1 for errors, or NDX (or its assigned replacement) on success.
 
-   When NDX is the value succeeding the last call's NDX (or is implicitly
-   so as above), IDENT is nonnull and matches the value in the last call,
-   and the PHDR and BIAS values reflect a segment that would be contiguous,
-   in both memory and file, with the last segment reported, then this
-   segment may be coalesced internally with preceding segments.  When given
-   an address inside this segment, dwfl_addrsegment may return the NDX of a
-   preceding contiguous segment.  To prevent coalesced segments, always
-   pass a null pointer for IDENT.
-
-   The values passed are not stored (except to track coalescence).
-   The only information that can be extracted from DWFL later is the
-   mapping of an address to a segment index that starts at or below
-   it.  Reporting segments at all is optional.  Its only benefit to
-   the caller is to offer this quick lookup via dwfl_addrsegment,
-   or use other segment-based calls.  */
+   Reporting segments at all is optional.  Its only benefit to the caller is to
+   offer this quick lookup via dwfl_addrsegment, or use other segment-based
+   calls.  */
 extern int dwfl_report_segment (Dwfl *dwfl, int ndx,
 				const GElf_Phdr *phdr, GElf_Addr bias,
 				const void *ident);
@@ -483,7 +471,7 @@
 
 /* Find the symbol associated with ADDRESS.  Return its name or NULL
    when nothing was found.  If the architecture uses function
-   descriptors, and symbol st_value points to one, ADDRESS wil be
+   descriptors, and symbol st_value points to one, ADDRESS will be
    matched against either the adjusted st_value or the associated
    function entry value as described in dwfl_module_getsym_info.  If
    OFFSET is not NULL it will be filled in with the difference from
@@ -568,7 +556,7 @@
 extern Dwfl_Module *dwfl_cumodule (Dwarf_Die *cudie);
 
 
-/* Cache the source line information fo the CU and return the
+/* Cache the source line information for the CU and return the
    number of Dwfl_Line entries it has.  */
 extern int dwfl_getsrclines (Dwarf_Die *cudie, size_t *nlines);
 
@@ -801,7 +789,7 @@
 
 /* Return *PC (program counter) for thread-specific frame STATE.
    Set *ISACTIVATION according to DWARF frame "activation" definition.
-   Typically you need to substract 1 from *PC if *ACTIVATION is false to safely
+   Typically you need to subtract 1 from *PC if *ACTIVATION is false to safely
    find function of the caller.  ACTIVATION may be NULL.  PC must not be NULL.
    Function returns false if it failed to find *PC.  */
 bool dwfl_frame_pc (Dwfl_Frame *state, Dwarf_Addr *pc, bool *isactivation)
diff --git a/libdwfl/libdwflP.h b/libdwfl/libdwflP.h
index f631f94..4344e35 100644
--- a/libdwfl/libdwflP.h
+++ b/libdwfl/libdwflP.h
@@ -40,13 +40,13 @@
 
 #include "../libdw/libdwP.h"	/* We need its INTDECLs.  */
 #include "../libdwelf/libdwelfP.h"
+
+#ifdef ENABLE_LIBDEBUGINFOD
 #include "../debuginfod/debuginfod.h"
+#endif
 
 typedef struct Dwfl_Process Dwfl_Process;
 
-/* gettext helper macros.  */
-#define _(Str) dgettext ("elfutils", Str)
-
 #define DWFL_ERRORS							      \
   DWFL_ERROR (NOERROR, N_("no error"))					      \
   DWFL_ERROR (UNKNOWN_ERROR, N_("unknown error"))			      \
@@ -58,6 +58,7 @@
   DWFL_ERROR (ZLIB, N_("gzip decompression failed"))			      \
   DWFL_ERROR (BZLIB, N_("bzip2 decompression failed"))			      \
   DWFL_ERROR (LZMA, N_("LZMA decompression failed"))			      \
+  DWFL_ERROR (ZSTD, N_("zstd decompression failed"))			      \
   DWFL_ERROR (UNKNOWN_MACHINE, N_("no support library found for machine"))    \
   DWFL_ERROR (NOREL, N_("Callbacks missing for ET_REL file"))		      \
   DWFL_ERROR (BADRELTYPE, N_("Unsupported relocation type"))		      \
@@ -115,8 +116,9 @@
 struct Dwfl
 {
   const Dwfl_Callbacks *callbacks;
+#ifdef ENABLE_LIBDEBUGINFOD
   debuginfod_client *debuginfod;
-
+#endif
   Dwfl_Module *modulelist;    /* List in order used by full traversals.  */
 
   Dwfl_Process *process;
@@ -132,12 +134,7 @@
   GElf_Addr *lookup_addr;	/* Start address of segment.  */
   Dwfl_Module **lookup_module;	/* Module associated with segment, or null.  */
   int *lookup_segndx;		/* User segment index, or -1.  */
-
-  /* Cache from last dwfl_report_segment call.  */
-  const void *lookup_tail_ident;
-  GElf_Off lookup_tail_vaddr;
-  GElf_Off lookup_tail_offset;
-  int lookup_tail_ndx;
+  int next_segndx;
 
   struct Dwfl_User_Core *user_core;
 };
@@ -613,6 +610,10 @@
 				  void *mapped, size_t mapped_size,
 				  void **whole, size_t *whole_size)
   internal_function;
+extern Dwfl_Error __libdw_unzstd (int fd, off_t start_offset,
+				  void *mapped, size_t mapped_size,
+				  void **whole, size_t *whole_size)
+  internal_function;
 
 /* Skip the image header before a file image: updates *START_OFFSET.  */
 extern Dwfl_Error __libdw_image_header (int fd, off_t *start_offset,
@@ -636,6 +637,7 @@
 extern bool __libdwfl_dynamic_vaddr_get (Elf *elf, GElf_Addr *vaddrp)
   internal_function;
 
+#ifdef ENABLE_LIBDEBUGINFOD
 /* Internal interface to libdebuginfod (if installed).  */
 int
 __libdwfl_debuginfod_find_executable (Dwfl *dwfl,
@@ -647,6 +649,7 @@
 				     size_t build_id_len);
 void
 __libdwfl_debuginfod_end (debuginfod_client *c);
+#endif
 
 
 /* These are working nicely for --core, but are not ready to be
diff --git a/libdwfl/link_map.c b/libdwfl/link_map.c
index 29307c7..0d8d1c1 100644
--- a/libdwfl/link_map.c
+++ b/libdwfl/link_map.c
@@ -225,6 +225,75 @@
   return elfclass * 4;
 }
 
+struct memory_closure
+{
+  Dwfl *dwfl;
+  Dwfl_Memory_Callback *callback;
+  void *arg;
+};
+
+static inline int
+release_buffer (struct memory_closure *closure,
+                void **buffer, size_t *buffer_available, int result)
+{
+  if (*buffer != NULL)
+    (*closure->callback) (closure->dwfl, -1, buffer, buffer_available, 0, 0,
+                          closure->arg);
+
+  return result;
+}
+
+static inline bool
+read_addrs (struct memory_closure *closure,
+	    uint_fast8_t elfclass, uint_fast8_t elfdata,
+	    void **buffer, size_t *buffer_available,
+	    GElf_Addr vaddr, GElf_Addr *read_vaddr,
+	    size_t n, GElf_Addr *addrs /* [4] */)
+{
+  size_t nb = n * addrsize (elfclass); /* Address words -> bytes to read.  */
+  Dwfl *dwfl = closure->dwfl;
+
+  /* Read a new buffer if the old one doesn't cover these words.  */
+  if (buffer == NULL
+      || vaddr < *read_vaddr
+      || vaddr - (*read_vaddr) + nb > *buffer_available)
+    {
+      release_buffer (closure, buffer, buffer_available, 0);
+
+      *read_vaddr = vaddr;
+      int segndx = INTUSE(dwfl_addrsegment) (dwfl, vaddr, NULL);
+      if (unlikely (segndx < 0)
+	  || unlikely (! (*closure->callback) (dwfl, segndx,
+					       buffer, buffer_available,
+					       vaddr, nb, closure->arg)))
+	return true;
+    }
+
+  Elf32_Addr (*a32)[n] = vaddr - (*read_vaddr) + (*buffer);
+  Elf64_Addr (*a64)[n] = (void *) a32;
+
+  if (elfclass == ELFCLASS32)
+    {
+      if (elfdata == ELFDATA2MSB)
+	for (size_t i = 0; i < n; ++i)
+	  addrs[i] = BE32 (read_4ubyte_unaligned_noncvt (&(*a32)[i]));
+      else
+	for (size_t i = 0; i < n; ++i)
+	  addrs[i] = LE32 (read_4ubyte_unaligned_noncvt (&(*a32)[i]));
+    }
+  else
+    {
+      if (elfdata == ELFDATA2MSB)
+	for (size_t i = 0; i < n; ++i)
+	  addrs[i] = BE64 (read_8ubyte_unaligned_noncvt (&(*a64)[i]));
+      else
+	for (size_t i = 0; i < n; ++i)
+	  addrs[i] = LE64 (read_8ubyte_unaligned_noncvt (&(*a64)[i]));
+    }
+
+  return false;
+}
+
 /* Report a module for each struct link_map in the linked list at r_map
    in the struct r_debug at R_DEBUG_VADDR.  For r_debug_info description
    see dwfl_link_map_report in libdwflP.h.  If R_DEBUG_INFO is not NULL then no
@@ -249,62 +318,13 @@
 
   void *buffer = NULL;
   size_t buffer_available = 0;
-  inline int release_buffer (int result)
-  {
-    if (buffer != NULL)
-      (void) (*memory_callback) (dwfl, -1, &buffer, &buffer_available, 0, 0,
-				 memory_callback_arg);
-    return result;
-  }
-
   GElf_Addr addrs[4];
-  inline bool read_addrs (GElf_Addr vaddr, size_t n)
-  {
-    size_t nb = n * addrsize (elfclass); /* Address words -> bytes to read.  */
-
-    /* Read a new buffer if the old one doesn't cover these words.  */
-    if (buffer == NULL
-	|| vaddr < read_vaddr
-	|| vaddr - read_vaddr + nb > buffer_available)
-      {
-	release_buffer (0);
-
-	read_vaddr = vaddr;
-	int segndx = INTUSE(dwfl_addrsegment) (dwfl, vaddr, NULL);
-	if (unlikely (segndx < 0)
-	    || unlikely (! (*memory_callback) (dwfl, segndx,
-					       &buffer, &buffer_available,
-					       vaddr, nb, memory_callback_arg)))
-	  return true;
-      }
-
-    Elf32_Addr (*a32)[n] = vaddr - read_vaddr + buffer;
-    Elf64_Addr (*a64)[n] = (void *) a32;
-
-    if (elfclass == ELFCLASS32)
-      {
-	if (elfdata == ELFDATA2MSB)
-	  for (size_t i = 0; i < n; ++i)
-	    addrs[i] = BE32 (read_4ubyte_unaligned_noncvt (&(*a32)[i]));
-	else
-	  for (size_t i = 0; i < n; ++i)
-	    addrs[i] = LE32 (read_4ubyte_unaligned_noncvt (&(*a32)[i]));
-      }
-    else
-      {
-	if (elfdata == ELFDATA2MSB)
-	  for (size_t i = 0; i < n; ++i)
-	    addrs[i] = BE64 (read_8ubyte_unaligned_noncvt (&(*a64)[i]));
-	else
-	  for (size_t i = 0; i < n; ++i)
-	    addrs[i] = LE64 (read_8ubyte_unaligned_noncvt (&(*a64)[i]));
-      }
-
-    return false;
-  }
-
-  if (unlikely (read_addrs (read_vaddr, 1)))
-    return release_buffer (-1);
+  struct memory_closure memory_closure = { dwfl, memory_callback,
+                                           memory_callback_arg };
+  if (unlikely (read_addrs (&memory_closure, elfclass, elfdata,
+			    &buffer, &buffer_available, read_vaddr, &read_vaddr,
+			    1, addrs)))
+    return release_buffer (&memory_closure, &buffer, &buffer_available, -1);
 
   GElf_Addr next = addrs[0];
 
@@ -318,8 +338,10 @@
   size_t iterations = 0;
   while (next != 0 && ++iterations < dwfl->lookup_elts)
     {
-      if (read_addrs (next, 4))
-	return release_buffer (-1);
+      if (read_addrs (&memory_closure, elfclass, elfdata,
+		      &buffer, &buffer_available, next, &read_vaddr,
+		      4, addrs))
+	return release_buffer (&memory_closure, &buffer, &buffer_available, -1);
 
       /* Unused: l_addr is the difference between the address in memory
          and the ELF file when the core was created. We need to
@@ -345,7 +367,7 @@
 	name = l_name - read_vaddr + buffer;
       else
 	{
-	  release_buffer (0);
+	  release_buffer (&memory_closure, &buffer, &buffer_available, 0);
 	  read_vaddr = l_name;
 	  int segndx = INTUSE(dwfl_addrsegment) (dwfl, l_name, NULL);
 	  if (likely (segndx >= 0)
@@ -372,7 +394,8 @@
 	  r_debug_info_module = malloc (sizeof (*r_debug_info_module)
 					+ strlen (name1) + 1);
 	  if (unlikely (r_debug_info_module == NULL))
-	    return release_buffer (result);
+	    release_buffer (&memory_closure, &buffer,
+                            &buffer_available, result);
 	  r_debug_info_module->fd = -1;
 	  r_debug_info_module->elf = NULL;
 	  r_debug_info_module->l_ld = l_ld;
@@ -413,7 +436,8 @@
 		      GElf_Addr build_id_vaddr = (build_id_elfaddr
 						  - elf_dynamic_vaddr + l_ld);
 
-		      release_buffer (0);
+		      release_buffer (&memory_closure, &buffer,
+				      &buffer_available, 0);
 		      int segndx = INTUSE(dwfl_addrsegment) (dwfl,
 							     build_id_vaddr,
 							     NULL);
@@ -432,7 +456,9 @@
 			    /* File has valid build-id which does not match
 			       the one in memory.  */
 			    valid = false;
-			  release_buffer (0);
+			  release_buffer (&memory_closure, &buffer,
+					  &buffer_available, 0);
+
 			}
 		    }
 
@@ -498,7 +524,7 @@
 	}
     }
 
-  return release_buffer (result);
+  return release_buffer (&memory_closure, &buffer, &buffer_available, result);
 }
 
 static GElf_Addr
@@ -758,31 +784,6 @@
       GElf_Xword dyn_filesz = 0;
       GElf_Addr dyn_bias = (GElf_Addr) -1;
 
-      inline bool consider_phdr (GElf_Word type,
-				 GElf_Addr vaddr, GElf_Xword filesz)
-      {
-	switch (type)
-	  {
-	  case PT_PHDR:
-	    if (dyn_bias == (GElf_Addr) -1
-		/* Do a sanity check on the putative address.  */
-		&& ((vaddr & (dwfl->segment_align - 1))
-		    == (phdr & (dwfl->segment_align - 1))))
-	      {
-		dyn_bias = phdr - vaddr;
-		return dyn_vaddr != 0;
-	      }
-	    break;
-
-	  case PT_DYNAMIC:
-	    dyn_vaddr = vaddr;
-	    dyn_filesz = filesz;
-	    return dyn_bias != (GElf_Addr) -1;
-	  }
-
-	return false;
-      }
-
       if (phdr != 0 && phnum != 0)
 	{
 	  Dwfl_Module *phdr_mod;
@@ -895,22 +896,39 @@
 			   ? elf32_xlatetom : elf64_xlatetom)
 			  (&out, &in, elfdata) != NULL))
 		{
-		  /* We are looking for PT_DYNAMIC.  */
-		  if (elfclass == ELFCLASS32)
+		  bool is32 = (elfclass == ELFCLASS32);
+		  for (size_t i = 0; i < phnum; ++i)
 		    {
-		      for (size_t i = 0; i < phnum; ++i)
-			if (consider_phdr ((*p32)[i].p_type,
-					   (*p32)[i].p_vaddr,
-					   (*p32)[i].p_filesz))
-			  break;
-		    }
-		  else
-		    {
-		      for (size_t i = 0; i < phnum; ++i)
-			if (consider_phdr ((*p64)[i].p_type,
-					   (*p64)[i].p_vaddr,
-					   (*p64)[i].p_filesz))
-			  break;
+		      GElf_Word type = (is32
+					? (*p32)[i].p_type
+					: (*p64)[i].p_type);
+		      GElf_Addr vaddr = (is32
+					 ? (*p32)[i].p_vaddr
+					 : (*p64)[i].p_vaddr);
+		      GElf_Xword filesz = (is32
+					   ? (*p32)[i].p_filesz
+					   : (*p64)[i].p_filesz);
+
+		      if (type == PT_PHDR)
+			{
+			  if (dyn_bias == (GElf_Addr) -1
+			      /* Do a sanity check on the putative address.  */
+			      && ((vaddr & (dwfl->segment_align - 1))
+				  == (phdr & (dwfl->segment_align - 1))))
+			    {
+			      dyn_bias = phdr - vaddr;
+			      if (dyn_vaddr != 0)
+				break;
+			    }
+
+			}
+		      else if (type == PT_DYNAMIC)
+			{
+			  dyn_vaddr = vaddr;
+			  dyn_filesz = filesz;
+			  if (dyn_bias != (GElf_Addr) -1)
+			    break;
+			}
 		    }
 		}
 
diff --git a/libdwfl/linux-core-attach.c b/libdwfl/linux-core-attach.c
index c0f1b0d..f68062f 100644
--- a/libdwfl/linux-core-attach.c
+++ b/libdwfl/linux-core-attach.c
@@ -181,7 +181,8 @@
   size_t getnote_err = gelf_getnote (note_data, offset, &nhdr, &name_offset,
 				     &desc_offset);
   /* __libdwfl_attach_state_for_core already verified the note is there.  */
-  assert (getnote_err != 0);
+  if (getnote_err == 0)
+    return false;
   /* Do not check NAME for now, help broken Linux kernels.  */
   const char *name = (nhdr.n_namesz == 0
 		      ? "" : note_data->d_buf + name_offset);
@@ -195,8 +196,8 @@
 				     &regs_offset, &nregloc, &reglocs,
 				     &nitems, &items);
   /* __libdwfl_attach_state_for_core already verified the note is there.  */
-  assert (core_note_err != 0);
-  assert (nhdr.n_type == NT_PRSTATUS);
+  if (core_note_err == 0 || nhdr.n_type != NT_PRSTATUS)
+    return false;
   const Ebl_Core_Item *item;
   for (item = items; item < items + nitems; item++)
     if (strcmp (item->name, "pid") == 0)
diff --git a/libdwfl/linux-kernel-modules.c b/libdwfl/linux-kernel-modules.c
index d46ab5a..6edb27f 100644
--- a/libdwfl/linux-kernel-modules.c
+++ b/libdwfl/linux-kernel-modules.c
@@ -128,7 +128,7 @@
 
   if (fd < 0)
     for (size_t i = 0;
-	 i < sizeof vmlinux_suffixes / sizeof vmlinux_suffixes[0];
+	 i < sizeof vmlinux_suffixes / sizeof vmlinux_suffixes[0] && fd < 0;
 	 ++i)
       {
 	char *zname;
@@ -174,9 +174,12 @@
 static int
 find_kernel_elf (Dwfl *dwfl, const char *release, char **fname)
 {
-  if ((release[0] == '/'
-       ? asprintf (fname, "%s/vmlinux", release)
-       : asprintf (fname, "/boot/vmlinux-%s", release)) < 0)
+  /* First try to find an uncompressed vmlinux image.  Possibly
+     including debuginfo.  */
+  if (release == NULL
+      || ((release[0] == '/'
+	   ? asprintf (fname, "%s/vmlinux", release)
+	   : asprintf (fname, "/boot/vmlinux-%s", release)) < 0))
     return -1;
 
   int fd = try_kernel_name (dwfl, fname, true);
@@ -188,6 +191,27 @@
       fd = try_kernel_name (dwfl, fname, true);
     }
 
+  /* There might be a compressed vmlinuz image.  Probably without
+     debuginfo, but try to find it under the debug path also, just in
+     case.  */
+  if (fd < 0)
+    {
+      free (*fname);
+      if ((release[0] == '/'
+           ? asprintf (fname, "%s/vmlinuz", release)
+           : asprintf (fname, "/boot/vmlinuz-%s", release)) < 0)
+        return -1;
+
+      fd = try_kernel_name (dwfl, fname, true);
+      if (fd < 0 && release[0] != '/')
+	{
+	  free (*fname);
+	  if (asprintf (fname, MODULEDIRFMT "/vmlinuz", release) < 0)
+	    return -1;
+	  fd = try_kernel_name (dwfl, fname, true);
+	}
+    }
+
   return fd;
 }
 
@@ -218,6 +242,9 @@
   if (unlikely (result != 0))
     return result;
 
+  if (release == NULL || *release == NULL)
+    return EINVAL;
+
   char *fname;
   int fd = find_kernel_elf (dwfl, *release, &fname);
 
@@ -273,6 +300,9 @@
   if (unlikely (result != 0))
     return result;
 
+  if (release == NULL || *release == NULL)
+    return EINVAL;
+
   char *archive;
   int res = (((*release)[0] == '/')
 	     ? asprintf (&archive, "%s/debug.a", *release)
@@ -327,6 +357,9 @@
 #if USE_LZMA
   TRY (".ko.xz");
 #endif
+#if USE_ZSTD
+  TRY (".ko.zst");
+#endif
 
   return 0;
 
@@ -508,10 +541,14 @@
 
   if (result == 0)
     {
+      Dwarf_Addr addr;
       *end = *start;
-      while (read_address (&state, end))
-	if (*notes == 0 && !strcmp (state.p, "__start_notes\n"))
-	  *notes = *end;
+      while (read_address (&state, &addr) && addr >= *end)
+	{
+	  *end = addr;
+	  if (*notes == 0 && !strcmp (state.p, "__start_notes\n"))
+	    *notes = *end;
+	}
 
       Dwarf_Addr round_kernel = sysconf (_SC_PAGESIZE);
       *start &= -(Dwarf_Addr) round_kernel;
diff --git a/libdwfl/linux-pid-attach.c b/libdwfl/linux-pid-attach.c
index f19e9b4..fdf5c9b 100644
--- a/libdwfl/linux-pid-attach.c
+++ b/libdwfl/linux-pid-attach.c
@@ -124,7 +124,7 @@
 		    Dwarf_Addr addr, Dwarf_Word *result)
 {
   /* Let the ptrace fallback deal with the corner case of the address
-     possibly crossing a page boundery.  */
+     possibly crossing a page boundary.  */
   if ((addr & ((Dwarf_Addr)__LIBDWFL_REMOTE_MEM_CACHE_SIZE - 1))
       > (Dwarf_Addr)__LIBDWFL_REMOTE_MEM_CACHE_SIZE - sizeof (unsigned long))
     return false;
@@ -193,14 +193,22 @@
 {
   struct __libdwfl_pid_arg *pid_arg = arg;
   pid_t tid = pid_arg->tid_attached;
+  Dwfl_Process *process = dwfl->process;
   assert (tid > 0);
 
 #ifdef HAVE_PROCESS_VM_READV
   if (read_cached_memory (pid_arg, addr, result))
+    {
+#if SIZEOF_LONG == 8
+# if BYTE_ORDER == BIG_ENDIAN
+      if (ebl_get_elfclass (process->ebl) == ELFCLASS32)
+	*result >>= 32;
+# endif
+#endif
     return true;
+    }
 #endif
 
-  Dwfl_Process *process = dwfl->process;
   if (ebl_get_elfclass (process->ebl) == ELFCLASS64)
     {
 #if SIZEOF_LONG == 8
@@ -422,7 +430,11 @@
 
   char name[64];
   int i = snprintf (name, sizeof (name), "/proc/%ld/task", (long) pid);
-  assert (i > 0 && i < (ssize_t) sizeof (name) - 1);
+  if (i <= 0 || i >= (ssize_t) sizeof (name) - 1)
+    {
+      errno = -ENOMEM;
+      goto fail;
+    }
   DIR *dir = opendir (name);
   if (dir == NULL)
     {
diff --git a/libdwfl/open.c b/libdwfl/open.c
index 35fc528..77bd2bd 100644
--- a/libdwfl/open.c
+++ b/libdwfl/open.c
@@ -44,6 +44,10 @@
 # define __libdw_unlzma(...)	DWFL_E_BADELF
 #endif
 
+#if !USE_ZSTD
+# define __libdw_unzstd(...)	DWFL_E_BADELF
+#endif
+
 /* Consumes and replaces *ELF only on success.  */
 static Dwfl_Error
 decompress (int fd __attribute__ ((unused)), Elf **elf)
@@ -64,6 +68,8 @@
     error = __libdw_bunzip2 (fd, offset, mapped, mapped_size, &buffer, &size);
   if (error == DWFL_E_BADELF)
     error = __libdw_unlzma (fd, offset, mapped, mapped_size, &buffer, &size);
+  if (error == DWFL_E_BADELF)
+    error = __libdw_unzstd (fd, offset, mapped, mapped_size, &buffer, &size);
 
   if (error == DWFL_E_NOERROR)
     {
diff --git a/libdwfl/segment.c b/libdwfl/segment.c
index d9599a7..f6a3e84 100644
--- a/libdwfl/segment.c
+++ b/libdwfl/segment.c
@@ -287,11 +287,15 @@
 dwfl_report_segment (Dwfl *dwfl, int ndx, const GElf_Phdr *phdr, GElf_Addr bias,
 		     const void *ident)
 {
+  /* This was previously used for coalescing segments, but it was buggy since
+     day one.  We don't use it anymore.  */
+  (void)ident;
+
   if (dwfl == NULL)
     return -1;
 
   if (ndx < 0)
-    ndx = dwfl->lookup_tail_ndx;
+    ndx = dwfl->next_segndx;
 
   if (phdr->p_align > 1 && (dwfl->segment_align <= 1 ||
 			    phdr->p_align < dwfl->segment_align))
@@ -307,30 +311,19 @@
   GElf_Addr end = __libdwfl_segment_end (dwfl,
 					 bias + phdr->p_vaddr + phdr->p_memsz);
 
-  /* Coalesce into the last one if contiguous and matching.  */
-  if (ndx != dwfl->lookup_tail_ndx
-      || ident == NULL
-      || ident != dwfl->lookup_tail_ident
-      || start != dwfl->lookup_tail_vaddr
-      || phdr->p_offset != dwfl->lookup_tail_offset)
+  /* Normally just appending keeps us sorted.  */
+
+  size_t i = dwfl->lookup_elts;
+  while (i > 0 && unlikely (start < dwfl->lookup_addr[i - 1]))
+    --i;
+
+  if (unlikely (insert (dwfl, i, start, end, ndx)))
     {
-      /* Normally just appending keeps us sorted.  */
-
-      size_t i = dwfl->lookup_elts;
-      while (i > 0 && unlikely (start < dwfl->lookup_addr[i - 1]))
-	--i;
-
-      if (unlikely (insert (dwfl, i, start, end, ndx)))
-	{
-	  __libdwfl_seterrno (DWFL_E_NOMEM);
-	  return -1;
-	}
+      __libdwfl_seterrno (DWFL_E_NOMEM);
+      return -1;
     }
 
-  dwfl->lookup_tail_ident = ident;
-  dwfl->lookup_tail_vaddr = end;
-  dwfl->lookup_tail_offset = end - bias - phdr->p_vaddr + phdr->p_offset;
-  dwfl->lookup_tail_ndx = ndx + 1;
+  dwfl->next_segndx = ndx + 1;
 
   return ndx;
 }
diff --git a/libdwfl/zstd.c b/libdwfl/zstd.c
new file mode 100644
index 0000000..dc4d523
--- /dev/null
+++ b/libdwfl/zstd.c
@@ -0,0 +1,4 @@
+/* libzstd is pretty close to zlib and bzlib.  */
+
+#define ZSTD
+#include "gzip.c"
diff --git a/libebl/ChangeLog b/libebl/ChangeLog
index 4da7eee..33208f0 100644
--- a/libebl/ChangeLog
+++ b/libebl/ChangeLog
@@ -1,3 +1,68 @@
+2020-12-16  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* libeblP.h (_): Remove.
+
+2020-12-15  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* eblbackendname.c (ebl_backend_name): Replace gettext(...) with _(...).
+	* eblcorenotetypename.c (ebl_core_note_type_name): Likewise.
+	* ebldynamictagname.c (ebl_dynamic_tag_name): Likewise.
+	* eblobjnote.c (ebl_object_note): Likewise.
+	* eblobjnotetypename.c (ebl_object_note_type_name): Likewise.
+	* eblosabiname.c (ebl_osabi_name): Likewise.
+	* eblsectionname.c (ebl_section_name): Likewise.
+	* eblsectiontypename.c (ebl_section_type_name): Likewise.
+	* eblsegmenttypename.c (ebl_segment_type_name): Likewise.
+	* eblsymbolbindingname.c (ebl_symbol_binding_name): Likewise.
+	* eblsymboltypename.c (ebl_symbol_type_name): Likewise.
+
+2020-10-19  Mark Wielaard  <mark@klomp.org>
+
+	* eblopenbackend.c (tilegx_init): Removed.
+	(machines): Set init to NULL for tilegx.
+
+2020-10-19  Mark Wielaard  <mark@klomp.org>
+
+	* Makefile.am (libebl_a_SOURCES): Remove ebl_syscall_abi.c.
+	* ebl-hooks.h (syscall_abi): Remove.
+	* ebl_syscall_abi.c: Delete.
+	* eblopenbackend.c (default_syscall_abi): Remove.
+	(fill_defaults): Remove syscall_abi assignment.
+	* libebl.h (ebl_syscall_abi): Remove.
+
+2020-09-03  Mark Wielaard  <mark@klomp.org>
+
+	* eblobjnote.c (ebl_object_note): For EM_AARCH64 handle BTI and PAC
+	in GNU_PROPERTY_AARCH64_FEATURE_1_AND.
+
+2020-07-19  Mark Wielaard  <mark@klomp.org>
+
+	* libebl.h: Only typedef Ebl if _LIBASM_H is undefined.
+
+2020-06-10  Mark Wielaard  <mark@klomp.org>
+
+	* eblopenbackend.c (i386_init, sh_init, x86_64_init, ia64_init,
+	alpha_init, arm_init, aarch64_init, sparc_init, ppc_init,
+	ppc64_init, s390_init, tilegx_init, m68k_init, bpf_init,
+	riscv_init, csky_init): Adjust signature.
+	(openbackend): Call init without sizeof(Ebl).
+	* libeblP.h (ebl_bhinit_t): Adjust signature.
+
+2020-06-04  Mark Wielaard  <mark@klomp.org>
+
+	* eblsegmenttypename.c (ebl_segment_type_name): Remove
+	PT_GNU_PROPERTY define.
+
+2020-04-17  Mark Wielaard  <mark@klomp.org>
+
+	* eblopenbackend.c (default_debugscn_p): Handle .gnu.debuglto_
+	prefix.
+
+2020-02-08  Mark Wielaard  <mark@klomp.org>
+
+	* eblsegmenttypename.c (ebl_segment_type_name): Handle
+	PT_GNU_PROPERTY.
+
 2019-08-29  Mark Wielaard  <mark@klomp.org>
 
 	* Makefile.am (noinst_LIBRARIES): Add libebl.a.
@@ -1049,7 +1114,7 @@
 2005-05-11  Ulrich Drepper  <drepper@redhat.com>
 
 	* eblcorenote.c: Handle new AT_* values and files with different
-	endianess.
+	endianness.
 	* Makefile.am (x86_64_SRCS): Add x86_64_corenote.c.
 	* x86-64_corenote.c: New file.
 	* x86_64_init.c: Hook in x86_64_corenote.
diff --git a/libebl/Makefile.am b/libebl/Makefile.am
index d0d475b..d84e7ee 100644
--- a/libebl/Makefile.am
+++ b/libebl/Makefile.am
@@ -51,7 +51,7 @@
 		   eblbsspltp.c eblretval.c eblreginfo.c eblnonerelocp.c \
 		   eblrelativerelocp.c eblsysvhashentrysize.c eblauxvinfo.c \
 		   eblcheckobjattr.c ebl_check_special_section.c \
-		   ebl_syscall_abi.c eblabicfi.c eblstother.c eblinitreg.c \
+		   eblabicfi.c eblstother.c eblinitreg.c \
 		   ebldwarftoregno.c eblnormalizepc.c eblunwind.c \
 		   eblresolvesym.c eblcheckreloctargettype.c \
 		   ebl_data_marker_symbol.c
diff --git a/libebl/ebl-hooks.h b/libebl/ebl-hooks.h
index 1e7960b..1214bb8 100644
--- a/libebl/ebl-hooks.h
+++ b/libebl/ebl-hooks.h
@@ -142,10 +142,6 @@
 				const char **prefix, const char **setname,
 				int *bits, int *type);
 
-/* Return system call ABI registers.  */
-int EBLHOOK(syscall_abi) (Ebl *ebl, int *sp, int *pc,
-			  int *callno, int args[6]);
-
 /* Disassembler function.  */
 int EBLHOOK(disasm) (Ebl *ebl, const uint8_t **startp, const uint8_t *end,
 		     GElf_Addr addr, const char *fmt, DisasmOutputCB_t outcb,
diff --git a/libebl/ebl_syscall_abi.c b/libebl/ebl_syscall_abi.c
deleted file mode 100644
index a25369d..0000000
--- a/libebl/ebl_syscall_abi.c
+++ /dev/null
@@ -1,40 +0,0 @@
-/* Return system call ABI mapped to DWARF register numbers.
-   Copyright (C) 2008 Red Hat, Inc.
-   This file is part of elfutils.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of either
-
-     * the GNU Lesser General Public License as published by the Free
-       Software Foundation; either version 3 of the License, or (at
-       your option) any later version
-
-   or
-
-     * the GNU General Public License as published by the Free
-       Software Foundation; either version 2 of the License, or (at
-       your option) any later version
-
-   or both in parallel, as here.
-
-   elfutils is distributed in the hope that it will be useful, but
-   WITHOUT ANY WARRANTY; without even the implied warranty of
-   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-   General Public License for more details.
-
-   You should have received copies of the GNU General Public License and
-   the GNU Lesser General Public License along with this program.  If
-   not, see <http://www.gnu.org/licenses/>.  */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <libeblP.h>
-
-
-int
-ebl_syscall_abi (Ebl *ebl, int *sp, int *pc, int *callno, int *args)
-{
-  return ebl != NULL ? ebl->syscall_abi (ebl, sp, pc, callno, args) : -1;
-}
diff --git a/libebl/eblbackendname.c b/libebl/eblbackendname.c
index a2b2df6..e52b1e8 100644
--- a/libebl/eblbackendname.c
+++ b/libebl/eblbackendname.c
@@ -38,5 +38,5 @@
 const char *
 ebl_backend_name (Ebl *ebl)
 {
-  return ebl != NULL ? ebl->emulation : gettext ("No backend");
+  return ebl != NULL ? ebl->emulation : _("No backend");
 }
diff --git a/libebl/eblcorenotetypename.c b/libebl/eblcorenotetypename.c
index d3a56fa..0e790d0 100644
--- a/libebl/eblcorenotetypename.c
+++ b/libebl/eblcorenotetypename.c
@@ -97,7 +97,7 @@
 #undef KNOWNSTYPE
 
 	  default:
-	    snprintf (buf, len, "%s: %" PRIu32, gettext ("<unknown>"), type);
+	    snprintf (buf, len, "%s: %" PRIu32, _("<unknown>"), type);
 
 	    res = buf;
 	  }
diff --git a/libebl/ebldynamictagname.c b/libebl/ebldynamictagname.c
index 5622fc3..3f8d8ee 100644
--- a/libebl/ebldynamictagname.c
+++ b/libebl/ebldynamictagname.c
@@ -100,7 +100,7 @@
 	res = "FILTER";
       else
 	{
-	  snprintf (buf, len, gettext ("<unknown>: %#" PRIx64), tag);
+	  snprintf (buf, len, _("<unknown>: %#" PRIx64), tag);
 
 	  res = buf;
 
diff --git a/libebl/eblobjnote.c b/libebl/eblobjnote.c
index f7ac915..36efe27 100644
--- a/libebl/eblobjnote.c
+++ b/libebl/eblobjnote.c
@@ -55,7 +55,7 @@
 	{
 	  if (type != 3)
 	    {
-	      printf (gettext ("unknown SDT version %u\n"), type);
+	      printf (_("unknown SDT version %u\n"), type);
 	      return;
 	    }
 
@@ -73,7 +73,7 @@
 	  if (descsz < addrs_size + 3)
 	    {
 	    invalid_sdt:
-	      printf (gettext ("invalid SDT probe descriptor\n"));
+	      printf (_("invalid SDT probe descriptor\n"));
 	      return;
 	    }
 
@@ -123,17 +123,17 @@
 	      sem = addrs.a64[2];
 	    }
 
-	  printf (gettext ("    PC: "));
+	  printf (_("    PC: "));
 	  printf ("%#" PRIx64 ",", pc);
-	  printf (gettext (" Base: "));
+	  printf (_(" Base: "));
 	  printf ("%#" PRIx64 ",", base);
-	  printf (gettext (" Semaphore: "));
+	  printf (_(" Semaphore: "));
 	  printf ("%#" PRIx64 "\n", sem);
-	  printf (gettext ("    Provider: "));
+	  printf (_("    Provider: "));
 	  printf ("%s,", provider);
-	  printf (gettext (" Name: "));
+	  printf (_(" Name: "));
 	  printf ("%s,", pname);
-	  printf (gettext (" Args: "));
+	  printf (_(" Args: "));
 	  printf ("'%s'\n", args);
 	  return;
 	}
@@ -297,7 +297,7 @@
 	case NT_GNU_BUILD_ID:
 	  if (strcmp (name, "GNU") == 0 && descsz > 0)
 	    {
-	      printf (gettext ("    Build ID: "));
+	      printf (_("    Build ID: "));
 	      uint_fast32_t i;
 	      for (i = 0; i < descsz - 1; ++i)
 		printf ("%02" PRIx8, (uint8_t) desc[i]);
@@ -308,7 +308,7 @@
 	case NT_GNU_GOLD_VERSION:
 	  if (strcmp (name, "GNU") == 0 && descsz > 0)
 	    /* A non-null terminated version string.  */
-	    printf (gettext ("    Linker version: %.*s\n"),
+	    printf (_("    Linker version: %.*s\n"),
 		    (int) descsz, desc);
 	  break;
 
@@ -476,6 +476,73 @@
 			    }
 			}
 		    }
+		  else if (prop.pr_type >= GNU_PROPERTY_LOPROC
+			   && prop.pr_type <= GNU_PROPERTY_HIPROC
+			   && ehdr.e_machine == EM_AARCH64)
+		    {
+		      printf ("AARCH64 ");
+		      if (prop.pr_type == GNU_PROPERTY_AARCH64_FEATURE_1_AND)
+			{
+			  printf ("FEATURE_1_AND: ");
+
+			  if (prop.pr_datasz == 4)
+			    {
+			      GElf_Word data;
+			      in.d_type = ELF_T_WORD;
+			      out.d_type = ELF_T_WORD;
+			      in.d_size = 4;
+			      out.d_size = 4;
+			      in.d_buf = (void *) desc;
+			      out.d_buf = (void *) &data;
+
+			      if (gelf_xlatetom (ebl->elf, &out, &in,
+						 elfident[EI_DATA]) == NULL)
+				{
+				  printf ("%s\n", elf_errmsg (-1));
+				  return;
+				}
+			      printf ("%08" PRIx32 " ", data);
+
+			      if ((data & GNU_PROPERTY_AARCH64_FEATURE_1_BTI)
+				  != 0)
+				{
+				  printf ("BTI");
+				  data &= ~GNU_PROPERTY_AARCH64_FEATURE_1_BTI;
+				  if (data != 0)
+				    printf (" ");
+				}
+
+			      if ((data & GNU_PROPERTY_AARCH64_FEATURE_1_PAC)
+				  != 0)
+				{
+				  printf ("PAC");
+				  data &= ~GNU_PROPERTY_AARCH64_FEATURE_1_PAC;
+				  if (data != 0)
+				    printf (" ");
+				}
+
+			      if (data != 0)
+				printf ("UNKNOWN");
+			    }
+			  else
+			    printf ("<bad datasz: %" PRId32 ">",
+				    prop.pr_datasz);
+
+			  printf ("\n");
+			}
+		      else
+			{
+			  printf ("%#" PRIx32, prop.pr_type);
+			  if (prop.pr_datasz > 0)
+			    {
+			      printf (" data: ");
+			      size_t i;
+			      for (i = 0; i < prop.pr_datasz - 1; i++)
+				printf ("%02" PRIx8 " ", (uint8_t) desc[i]);
+			      printf ("%02" PRIx8 "\n", (uint8_t) desc[i]);
+			    }
+			}
+		    }
 		  else
 		    {
 		      if (prop.pr_type >= GNU_PROPERTY_LOPROC
@@ -568,7 +635,7 @@
 		      break;
 		    }
 
-		  printf (gettext ("    OS: %s, ABI: "), os);
+		  printf (_("    OS: %s, ABI: "), os);
 		  for (size_t cnt = 1; cnt < descsz / 4; ++cnt)
 		    {
 		      if (cnt > 1)
diff --git a/libebl/eblobjnotetypename.c b/libebl/eblobjnotetypename.c
index 6b803ce..9daddcd 100644
--- a/libebl/eblobjnotetypename.c
+++ b/libebl/eblobjnotetypename.c
@@ -74,7 +74,7 @@
 	    return goknowntypes[type];
 	  else
 	    {
-	      snprintf (buf, len, "%s: %" PRIu32, gettext ("<unknown>"), type);
+	      snprintf (buf, len, "%s: %" PRIu32, _("<unknown>"), type);
 	      return buf;
 	    }
 	}
@@ -106,7 +106,7 @@
 	  if (descsz == 0 && type == NT_VERSION)
 	    return "VERSION";
 
-	  snprintf (buf, len, "%s: %" PRIu32, gettext ("<unknown>"), type);
+	  snprintf (buf, len, "%s: %" PRIu32, _("<unknown>"), type);
 	  return buf;
 	}
 
@@ -127,7 +127,7 @@
 	res = knowntypes[type];
       else
 	{
-	  snprintf (buf, len, "%s: %" PRIu32, gettext ("<unknown>"), type);
+	  snprintf (buf, len, "%s: %" PRIu32, _("<unknown>"), type);
 
 	  res = buf;
 	}
diff --git a/libebl/eblopenbackend.c b/libebl/eblopenbackend.c
index 210b47e..a8af165 100644
--- a/libebl/eblopenbackend.c
+++ b/libebl/eblopenbackend.c
@@ -41,22 +41,21 @@
 #include <system.h>
 #include <libeblP.h>
 
-const char *i386_init (Elf *, GElf_Half, Ebl *, size_t);
-const char *sh_init (Elf *, GElf_Half, Ebl *, size_t);
-const char *x86_64_init (Elf *, GElf_Half, Ebl *, size_t);
-const char *ia64_init (Elf *, GElf_Half, Ebl *, size_t);
-const char *alpha_init (Elf *, GElf_Half, Ebl *, size_t);
-const char *arm_init (Elf *, GElf_Half, Ebl *, size_t);
-const char *aarch64_init (Elf *, GElf_Half, Ebl *, size_t);
-const char *sparc_init (Elf *, GElf_Half, Ebl *, size_t);
-const char *ppc_init (Elf *, GElf_Half, Ebl *, size_t);
-const char *ppc64_init (Elf *, GElf_Half, Ebl *, size_t);
-const char *s390_init (Elf *, GElf_Half, Ebl *, size_t);
-const char *tilegx_init (Elf *, GElf_Half, Ebl *, size_t);
-const char *m68k_init (Elf *, GElf_Half, Ebl *, size_t);
-const char *bpf_init (Elf *, GElf_Half, Ebl *, size_t);
-const char *riscv_init (Elf *, GElf_Half, Ebl *, size_t);
-const char *csky_init (Elf *, GElf_Half, Ebl *, size_t);
+Ebl *i386_init (Elf *, GElf_Half, Ebl *);
+Ebl *sh_init (Elf *, GElf_Half, Ebl *);
+Ebl *x86_64_init (Elf *, GElf_Half, Ebl *);
+Ebl *ia64_init (Elf *, GElf_Half, Ebl *);
+Ebl *alpha_init (Elf *, GElf_Half, Ebl *);
+Ebl *arm_init (Elf *, GElf_Half, Ebl *);
+Ebl *aarch64_init (Elf *, GElf_Half, Ebl *);
+Ebl *sparc_init (Elf *, GElf_Half, Ebl *);
+Ebl *ppc_init (Elf *, GElf_Half, Ebl *);
+Ebl *ppc64_init (Elf *, GElf_Half, Ebl *);
+Ebl *s390_init (Elf *, GElf_Half, Ebl *);
+Ebl *m68k_init (Elf *, GElf_Half, Ebl *);
+Ebl *bpf_init (Elf *, GElf_Half, Ebl *);
+Ebl *riscv_init (Elf *, GElf_Half, Ebl *);
+Ebl *csky_init (Elf *, GElf_Half, Ebl *);
 
 /* This table should contain the complete list of architectures as far
    as the ELF specification is concerned.  */
@@ -79,7 +78,6 @@
   { x86_64_init, "elf_x86_64", "x86_64", 6, EM_X86_64, ELFCLASS64, ELFDATA2LSB },
   { ppc_init, "elf_ppc", "ppc", 3, EM_PPC, ELFCLASS32, ELFDATA2MSB },
   { ppc64_init, "elf_ppc64", "ppc64", 5, EM_PPC64, ELFCLASS64, ELFDATA2MSB },
-  { tilegx_init, "elf_tilegx", "tilegx", 6, EM_TILEGX, ELFCLASS64, ELFDATA2LSB },
   // XXX class and machine fields need to be filled in for all archs.
   { sh_init, "elf_sh", "sh", 2, EM_SH, 0, 0 },
   { arm_init, "ebl_arm", "arm", 3, EM_ARM, 0, 0 },
@@ -88,6 +86,7 @@
   { sparc_init, "elf_sparcv8plus", "sparc", 5, EM_SPARC32PLUS, 0, 0 },
   { s390_init, "ebl_s390", "s390", 4, EM_S390, 0, 0 },
 
+  { NULL, "elf_tilegx", "tilegx", 6, EM_TILEGX, ELFCLASS64, ELFDATA2LSB },
   { NULL, "elf_m32", "m32", 3, EM_M32, 0, 0 },
   { m68k_init, "elf_m68k", "m68k", 4, EM_68K, ELFCLASS32, ELFDATA2MSB },
   { NULL, "elf_m88k", "m88k", 4, EM_88K, 0, 0 },
@@ -214,8 +213,6 @@
 				      const char **prefix,
 				      const char **setname,
 				      int *bits, int *type);
-static int default_syscall_abi (Ebl *ebl, int *sp, int *pc,
-				int *callno, int args[6]);
 static bool default_check_object_attribute (Ebl *ebl, const char *vendor,
 					    int tag, uint64_t value,
 					    const char **tag_name,
@@ -259,7 +256,6 @@
   result->bss_plt_p = default_bss_plt_p;
   result->return_value_location = default_return_value_location;
   result->register_info = default_register_info;
-  result->syscall_abi = default_syscall_abi;
   result->check_object_attribute = default_check_object_attribute;
   result->check_reloc_target_type = default_check_reloc_target_type;
   result->disasm = NULL;
@@ -330,7 +326,7 @@
 	  }
 
         if (machines[cnt].init &&
-            machines[cnt].init (elf, machine, result, sizeof(Ebl)))
+            machines[cnt].init (elf, machine, result))
           {
             result->elf = elf;
             /* A few entries are mandatory.  */
@@ -621,7 +617,9 @@
   for (size_t cnt = 0; cnt < ndwarf_scn_names; ++cnt)
     if (strcmp (name, dwarf_scn_names[cnt]) == 0
 	|| (strncmp (name, ".zdebug", strlen (".zdebug")) == 0
-	    && strcmp (&name[2], &dwarf_scn_names[cnt][1]) == 0))
+	    && strcmp (&name[2], &dwarf_scn_names[cnt][1]) == 0)
+	|| (strncmp (name, ".gnu.debuglto_", strlen (".gnu.debuglto_")) == 0
+	    && strcmp (&name[14], dwarf_scn_names[cnt]) == 0))
       return true;
 
   return false;
@@ -688,20 +686,6 @@
   return snprintf (name, namelen, "reg%d", regno);
 }
 
-static int
-default_syscall_abi (Ebl *ebl __attribute__ ((unused)),
-		     int *sp, int *pc, int *callno, int args[6])
-{
-  *sp = *pc = *callno = -1;
-  args[0] = -1;
-  args[1] = -1;
-  args[2] = -1;
-  args[3] = -1;
-  args[4] = -1;
-  args[5] = -1;
-  return -1;
-}
-
 static bool
 default_check_object_attribute (Ebl *ebl __attribute__ ((unused)),
 				const char *vendor  __attribute__ ((unused)),
diff --git a/libebl/eblosabiname.c b/libebl/eblosabiname.c
index b60f2af..48b3c05 100644
--- a/libebl/eblosabiname.c
+++ b/libebl/eblosabiname.c
@@ -67,10 +67,10 @@
       else if (osabi == ELFOSABI_ARM)
 	res = "Arm";
       else if (osabi == ELFOSABI_STANDALONE)
-	res = gettext ("Stand alone");
+	res = _("Stand alone");
       else
 	{
-	  snprintf (buf, len, "%s: %d", gettext ("<unknown>"), osabi);
+	  snprintf (buf, len, "%s: %d", _("<unknown>"), osabi);
 
 	  res = buf;
 	}
diff --git a/libebl/eblsectionname.c b/libebl/eblsectionname.c
index 21c537f..825ad2f 100644
--- a/libebl/eblsectionname.c
+++ b/libebl/eblsectionname.c
@@ -80,7 +80,7 @@
 	  else if (section >= SHN_LORESERVE && section <= SHN_HIRESERVE)
 	    snprintf (buf, len, "LORESERVE+%x", section - SHN_LORESERVE);
 	  else
-	    snprintf (buf, len, "%s: %d", gettext ("<unknown>"), section);
+	    snprintf (buf, len, "%s: %d", _("<unknown>"), section);
 
 	  res = buf;
 	}
diff --git a/libebl/eblsectiontypename.c b/libebl/eblsectiontypename.c
index 5dc1ec6..2008b95 100644
--- a/libebl/eblsectiontypename.c
+++ b/libebl/eblsectiontypename.c
@@ -112,7 +112,7 @@
 		     && (unsigned int) section <= SHT_HIUSER)
 	      snprintf (buf, len, "SHT_LOUSER+%x", section - SHT_LOUSER);
 	    else
-	      snprintf (buf, len, "%s: %d", gettext ("<unknown>"), section);
+	      snprintf (buf, len, "%s: %d", _("<unknown>"), section);
 
 	    res = buf;
 	    break;
diff --git a/libebl/eblsegmenttypename.c b/libebl/eblsegmenttypename.c
index 14eda76..9977921 100644
--- a/libebl/eblsegmenttypename.c
+++ b/libebl/eblsegmenttypename.c
@@ -65,6 +65,8 @@
 	res = "GNU_STACK";
       else if (segment == PT_GNU_RELRO)
 	res = "GNU_RELRO";
+      else if (segment == PT_GNU_PROPERTY)
+	res = "GNU_PROPERTY";
       else if (segment == PT_SUNWBSS)
 	res = "SUNWBSS";
       else if (segment == PT_SUNWSTACK)
@@ -76,7 +78,7 @@
 	  else if (segment >= PT_LOPROC && segment <= PT_HIPROC)
 	    snprintf (buf, len, "LOPROC+%d", segment - PT_LOPROC);
 	  else
-	    snprintf (buf, len, "%s: %d", gettext ("<unknown>"), segment);
+	    snprintf (buf, len, "%s: %d", _("<unknown>"), segment);
 
 	  res = buf;
 	}
diff --git a/libebl/eblsymbolbindingname.c b/libebl/eblsymbolbindingname.c
index 75565fe..ebd8c2e 100644
--- a/libebl/eblsymbolbindingname.c
+++ b/libebl/eblsymbolbindingname.c
@@ -65,7 +65,7 @@
 	  else if (binding >= STB_LOOS && binding <= STB_HIOS)
 	    snprintf (buf, len, "LOOS+%d", binding - STB_LOOS);
 	  else
-	    snprintf (buf, len, gettext ("<unknown>: %d"), binding);
+	    snprintf (buf, len, _("<unknown>: %d"), binding);
 
 	  res = buf;
 	}
diff --git a/libebl/eblsymboltypename.c b/libebl/eblsymboltypename.c
index 53b145a..0ff1722 100644
--- a/libebl/eblsymboltypename.c
+++ b/libebl/eblsymboltypename.c
@@ -71,7 +71,7 @@
 	  else if (symbol >= STT_LOOS && symbol <= STT_HIOS)
 	    snprintf (buf, len, "LOOS+%d", symbol - STT_LOOS);
 	  else
-	    snprintf (buf, len, gettext ("<unknown>: %d"), symbol);
+	    snprintf (buf, len, _("<unknown>: %d"), symbol);
 
 	  res = buf;
 	}
diff --git a/libebl/libebl.h b/libebl/libebl.h
index 06a14c4..731001d 100644
--- a/libebl/libebl.h
+++ b/libebl/libebl.h
@@ -45,8 +45,10 @@
 #include "elf-knowledge.h"
 
 
-/* Opaque type for the handle.  */
+/* Opaque type for the handle.  libasm.h defined the same thing.  */
+#ifndef _LIBASM_H
 typedef struct ebl Ebl;
+#endif
 
 
 #ifdef __cplusplus
@@ -239,14 +241,6 @@
 				  const char **prefix, const char **setname,
 				  int *bits, int *type);
 
-/* Fill in the DWARF register numbers for the registers used in system calls.
-   The SP and PC are what kernel reports call the user stack pointer and PC.
-   The CALLNO and ARGS are the system call number and incoming arguments.
-   Each of these is filled with the DWARF register number corresponding,
-   or -1 if there is none.  Returns zero when the information is available.  */
-extern int ebl_syscall_abi (Ebl *ebl, int *sp, int *pc,
-			    int *callno, int args[6]);
-
 /* Supply the ABI-specified state of DWARF CFI before CIE initial programs.
 
    The DWARF 3.0 spec says that the default initial states of all registers
diff --git a/libebl/libeblP.h b/libebl/libeblP.h
index fd0fcc9..fa1c2c9 100644
--- a/libebl/libeblP.h
+++ b/libebl/libeblP.h
@@ -80,13 +80,10 @@
 };
 
 
-/* Type of the initialization functions in the backend modules.  */
-typedef const char *(*ebl_bhinit_t) (Elf *, GElf_Half, Ebl *, size_t);
-
-
-/* gettext helper macros.  */
-#undef _
-#define _(Str) dgettext ("elfutils", Str)
+/* Type of the initialization functions in the backend modules.
+   The init function returns the given Ebl * or NULL if it couldn't
+   initialize for the given Elf or machine.  */
+typedef Ebl *(*ebl_bhinit_t) (Elf *, GElf_Half, Ebl *);
 
 
 /* LEB128 constant helper macros.  */
diff --git a/libelf/Android.bp b/libelf/Android.bp
deleted file mode 100644
index 1c7e647..0000000
--- a/libelf/Android.bp
+++ /dev/null
@@ -1,174 +0,0 @@
-// Copyright (C) 2013 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-//      http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-cc_library {
-    name: "libelf",
-    host_supported: true,
-    vendor_available: true,
-
-    srcs:  [
-        "elf32_checksum.c",
-        "elf32_fsize.c",
-        "elf32_getchdr.c",
-        "elf32_getehdr.c",
-        "elf32_getphdr.c",
-        "elf32_getshdr.c",
-        "elf32_newehdr.c",
-        "elf32_newphdr.c",
-        "elf32_offscn.c",
-        "elf32_updatefile.c",
-        "elf32_updatenull.c",
-        "elf32_xlatetof.c",
-        "elf32_xlatetom.c",
-        "elf64_checksum.c",
-        "elf64_fsize.c",
-        "elf64_getchdr.c",
-        "elf64_getehdr.c",
-        "elf64_getphdr.c",
-        "elf64_getshdr.c",
-        "elf64_newehdr.c",
-        "elf64_newphdr.c",
-        "elf64_offscn.c",
-        "elf64_updatefile.c",
-        "elf64_updatenull.c",
-        "elf64_xlatetof.c",
-        "elf64_xlatetom.c",
-        "elf_begin.c",
-        "elf_clone.c",
-        "elf_cntl.c",
-        "elf_compress.c",
-        "elf_end.c",
-        "elf_error.c",
-        "elf_fill.c",
-        "elf_flagdata.c",
-        "elf_flagehdr.c",
-        "elf_flagelf.c",
-        "elf_flagphdr.c",
-        "elf_flagscn.c",
-        "elf_flagshdr.c",
-        "elf_getarhdr.c",
-        "elf_getaroff.c",
-        "elf_getarsym.c",
-        "elf_getbase.c",
-        "elf_getdata.c",
-        "elf_getdata_rawchunk.c",
-        "elf_getident.c",
-        "elf_getphdrnum.c",
-        "elf_getscn.c",
-        "elf_getshdrnum.c",
-        "elf_getshdrstrndx.c",
-        "elf_gnu_hash.c",
-        "elf_hash.c",
-        "elf_kind.c",
-        "elf_memory.c",
-        "elf_ndxscn.c",
-        "elf_newdata.c",
-        "elf_newscn.c",
-        "elf_next.c",
-        "elf_nextscn.c",
-        "elf_rand.c",
-        "elf_rawdata.c",
-        "elf_rawfile.c",
-        "elf_readall.c",
-        "elf_scnshndx.c",
-        "elf_strptr.c",
-        "elf_update.c",
-        "elf_version.c",
-        "gelf_checksum.c",
-        "gelf_fsize.c",
-        "gelf_getauxv.c",
-        "gelf_getchdr.c",
-        "gelf_getclass.c",
-        "gelf_getdyn.c",
-        "gelf_getehdr.c",
-        "gelf_getlib.c",
-        "gelf_getmove.c",
-        "gelf_getnote.c",
-        "gelf_getphdr.c",
-        "gelf_getrela.c",
-        "gelf_getrel.c",
-        "gelf_getshdr.c",
-        "gelf_getsym.c",
-        "gelf_getsyminfo.c",
-        "gelf_getsymshndx.c",
-        "gelf_getverdaux.c",
-        "gelf_getverdef.c",
-        "gelf_getvernaux.c",
-        "gelf_getverneed.c",
-        "gelf_getversym.c",
-        "gelf_newehdr.c",
-        "gelf_newphdr.c",
-        "gelf_offscn.c",
-        "gelf_update_auxv.c",
-        "gelf_update_dyn.c",
-        "gelf_update_ehdr.c",
-        "gelf_update_lib.c",
-        "gelf_update_move.c",
-        "gelf_update_phdr.c",
-        "gelf_update_rela.c",
-        "gelf_update_rel.c",
-        "gelf_update_shdr.c",
-        "gelf_update_sym.c",
-        "gelf_update_syminfo.c",
-        "gelf_update_symshndx.c",
-        "gelf_update_verdaux.c",
-        "gelf_update_verdef.c",
-        "gelf_update_vernaux.c",
-        "gelf_update_verneed.c",
-        "gelf_update_versym.c",
-        "gelf_xlate.c",
-        "gelf_xlatetof.c",
-        "gelf_xlatetom.c",
-        "libelf_crc32.c",
-        "libelf_next_prime.c",
-        "nlist.c",
-    ],
-
-    cflags: [
-        "-DHAVE_CONFIG_H",
-        "-std=gnu99",
-        "-D_GNU_SOURCE",
-        "-Werror",
-        // to suppress the "pointer of type ‘void *’ used in arithmetic" warning
-        "-Wno-pointer-arith",
-    ],
-
-    static_libs: ["libz"],
-
-    header_libs: ["elfutils_headers"],
-
-    export_header_lib_headers: ["elfutils_headers"],
-    export_include_dirs: ["."],
-
-    target: {
-        darwin: {
-            enabled: false,
-        },
-        android: {
-            cflags: [
-                "-D_FILE_OFFSET_BITS=64",
-                "-include AndroidFixup.h",
-            ],
-            shared: {
-                enabled: false,
-            },
-        },
-    },
-
-    visibility: [
-        "//device/google/contexthub/util/nanoapp_postprocess",
-        "//external/igt-gpu-tools",
-        "//external/mesa3d",
-    ],
-}
diff --git a/libelf/ChangeLog b/libelf/ChangeLog
index dde6c81..a1fd414 100644
--- a/libelf/ChangeLog
+++ b/libelf/ChangeLog
@@ -1,3 +1,103 @@
+2020-12-12  Mark Wielaard  <mark@klomp.org>
+
+	* elf.h: Update from glibc.
+
+2020-12-16  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* libelfP.h (_): Remove.
+
+2020-12-15  Mark Wielaard  <mark@klomp.org>
+
+	* elf_begin.c (get_shnum): Make sure the full Ehdr is available.
+
+2020-12-12  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* common.h: Fix spelling typo in comment.
+	* gelf.h: Likewise.
+	* libelf.h: Likewise.
+	* libelfP.h: Likewise.
+	* elf32_checksum.c (elfw2): Likewise.
+	* elf_begin.c (dup_elf, write_file): Likewise.
+	* elf_compress.c (__libelf_compress): Likewise.
+	* elf_compress_gnu.c (elf_compress_gnu): Likewise.
+
+2020-12-11  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* Makefile.am (GCC_INCLUDE): Remove.
+
+2020-12-09  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* Makefile.am (noinst_PROGRAMS): Rename to noinst_DATA.
+	(libelf_so_SOURCES): Remove.
+	(CLEANFILES): Add libelf.so.
+
+2020-11-30  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* Makefile.am (libelf.so$(EXEEXT)): Drop $(EXEEXT) suffix.
+
+2020-11-06  Mark Wielaard  <mark@klomp.org>
+
+	* elf-knowledge.h (SH_ENTSIZE_HASH): Update comment.
+
+2020-11-01  Mark Wielaard  <mark@klomp.org>
+
+	* elf_strptr.c (elf_strptr): Check shdr is not NULL.
+
+2020-11-01  Mark Wielaard  <mark@klomp.org>
+
+	* elf_getphdrnum.c (__elf_getphdrnum_rdlock): Set *dst to zero on
+	error.
+
+2020-11-01  Mark Wielaard  <mark@klomp.org>
+
+	* libelfP.h (__libelf_data_type): Take an GElf_Ehdr instead of an
+	Elf handle.
+	* elf_getdata.c (__libelf_data_type): Likewise. And check ehdr
+	directly instead of fetching a new one.
+	(__libelf_set_rawdata_wrlock): Fetch Ehdr, report an error when that
+	fails, otherwise call __libelf_data_type.
+
+2020-10-28  Mark Wielaard  <mark@klomp.org>
+
+	* elf.h: Update from glibc.
+
+2020-08-28  Mark Wielaard  <mark@klomp.org>
+
+	* elf.h: Update from glibc.
+
+2020-08-19  Mark Wielaard  <mark@klomp.org>
+
+	* elf32_updatenull.c (updatenull_wrlock): Fixup the sh_addralign
+	of an SHF_COMPRESSED section if necessary.
+
+2020-06-04  Mark Wielaard  <mark@klomp.org>
+
+	* elf.h: Update from glibc.
+
+2020-05-08  Mark Wielaard  <mark@klomp.org>
+
+	* elf_strptr.c (elf_strptr): Check shdr is not NULL.
+
+2020-05-08  Mark Wielaard  <mark@klomp.org>
+
+	* elf_getdata.c (__libelf_set_rawdata_wrlock): Check
+	__gelf_getehdr_rdlock return value.
+
+2020-04-25  Mark Wielaard  <mark@klomp.org>
+
+	* elf_compress.c (__libelf_compress): Remove free (out_buf).
+
+2020-03-18  Omar Sandoval  <osandov@fb.com>
+
+	* elf_getphdrnum.c (__elf_getphdrnum_rdlock): Call
+	__elf{32,64}_getshdr_rdlock if the shdr is not cached.
+
+2019-03-20  Matthias Maennich  <maennich@google.com>
+
+	* elf_compress.c (__libelf_compress): Always call deflate_cleanup
+	in failure path. Call deflateEnd only once.
+	(__libelf_decompress): Call inflateEnd only once.
+
 2019-06-18  Mark Wielaard  <mark@klomp.org>
 
 	* common.h (allocate_elf): Use int64_t instead of off_t for offset.
diff --git a/libelf/Makefile.am b/libelf/Makefile.am
index d5d63f7..560ed45 100644
--- a/libelf/Makefile.am
+++ b/libelf/Makefile.am
@@ -31,12 +31,12 @@
 if BUILD_STATIC
 AM_CFLAGS += $(fpic_CFLAGS)
 endif
-GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include)
+
 VERSION = 1
 
 lib_LIBRARIES = libelf.a
 noinst_LIBRARIES = libelf_pic.a
-noinst_PROGRAMS = $(noinst_LIBRARIES:_pic.a=.so)
+noinst_DATA = $(noinst_LIBRARIES:_pic.a=.so)
 include_HEADERS = libelf.h gelf.h nlist.h
 
 noinst_HEADERS = abstract.h common.h exttypes.h gelf_xlate.h libelfP.h \
@@ -112,8 +112,7 @@
 endif
 
 libelf_so_LIBS = libelf_pic.a
-libelf_so_SOURCES =
-libelf.so$(EXEEXT): $(srcdir)/libelf.map $(libelf_so_LIBS) $(libelf_so_DEPS)
+libelf.so: $(srcdir)/libelf.map $(libelf_so_LIBS) $(libelf_so_DEPS)
 	$(AM_V_CCLD)$(LINK) $(dso_LDFLAGS) -o $@ \
 		-Wl,--soname,$@.$(VERSION) \
 		-Wl,--version-script,$<,--no-undefined \
@@ -135,4 +134,4 @@
 
 EXTRA_DIST = libelf.map
 
-CLEANFILES += $(am_libelf_pic_a_OBJECTS) libelf.so.$(VERSION)
+CLEANFILES += $(am_libelf_pic_a_OBJECTS) libelf.so libelf.so.$(VERSION)
diff --git a/libelf/common.h b/libelf/common.h
index b0175f6..e41c717 100644
--- a/libelf/common.h
+++ b/libelf/common.h
@@ -133,7 +133,7 @@
 }
 
 
-/* Macro to convert endianess in place.  It determines the function it
+/* Macro to convert endianness in place.  It determines the function it
    has to use itself.  */
 #define CONVERT(Var) \
   (Var) = (sizeof (Var) == 1						      \
diff --git a/libelf/elf-knowledge.h b/libelf/elf-knowledge.h
index 9d3be0f..6e005fa 100644
--- a/libelf/elf-knowledge.h
+++ b/libelf/elf-knowledge.h
@@ -69,9 +69,9 @@
 
    Several years later the ABI for the 64-bit S390s was developed.
    Many things were copied from the IA-64 ABI (which uses the correct
-   32-bit entry size) but what do these people do?  They use 64-bit
-   entries.  It is really shocking to see what kind of morons are out
-   there.  And even worse: they are allowed to design ABIs.  */
+   32-bit entry size) but it does get the SHT_HASH entry size wrong by
+   using a 64-bit entry size.  So now we need this macro to special
+   case both the alpha and s390x ABIs.  */
 #define SH_ENTSIZE_HASH(Ehdr) \
   ((Ehdr)->e_machine == EM_ALPHA					      \
    || ((Ehdr)->e_machine == EM_S390					      \
diff --git a/libelf/elf.h b/libelf/elf.h
index 01648bd..8e3e618 100644
--- a/libelf/elf.h
+++ b/libelf/elf.h
@@ -1,5 +1,5 @@
 /* This file defines standard ELF types, structures, and macros.
-   Copyright (C) 1995-2019 Free Software Foundation, Inc.
+   Copyright (C) 1995-2020 Free Software Foundation, Inc.
    This file is part of the GNU C Library.
 
    The GNU C Library is free software; you can redistribute it and/or
@@ -14,15 +14,11 @@
 
    You should have received a copy of the GNU Lesser General Public
    License along with the GNU C Library; if not, see
-   <http://www.gnu.org/licenses/>.  */
+   <https://www.gnu.org/licenses/>.  */
 
 #ifndef _ELF_H
 #define	_ELF_H 1
 
-#include <features.h>
-
-__BEGIN_DECLS
-
 /* Standard ELF types.  */
 
 #include <stdint.h>
@@ -322,7 +318,7 @@
 				/* reserved 184 */
 #define EM_AVR32	185	/* Amtel 32-bit microprocessor */
 #define EM_STM8		186	/* STMicroelectronics STM8 */
-#define EM_TILE64	187	/* Tileta TILE64 */
+#define EM_TILE64	187	/* Tilera TILE64 */
 #define EM_TILEPRO	188	/* Tilera TILEPro */
 #define EM_MICROBLAZE	189	/* Xilinx MicroBlaze */
 #define EM_CUDA		190	/* NVIDIA CUDA */
@@ -330,7 +326,7 @@
 #define EM_CLOUDSHIELD	192	/* CloudShield */
 #define EM_COREA_1ST	193	/* KIPO-KAIST Core-A 1st gen. */
 #define EM_COREA_2ND	194	/* KIPO-KAIST Core-A 2nd gen. */
-#define EM_ARC_COMPACT2	195	/* Synopsys ARCompact V2 */
+#define EM_ARCV2	195	/* Synopsys ARCv2 ISA.  */
 #define EM_OPEN8	196	/* Open8 RISC */
 #define EM_RL78		197	/* Renesas RL78 */
 #define EM_VIDEOCORE5	198	/* Broadcom VideoCore V */
@@ -445,7 +441,7 @@
 #define SHT_FINI_ARRAY	  15		/* Array of destructors */
 #define SHT_PREINIT_ARRAY 16		/* Array of pre-constructors */
 #define SHT_GROUP	  17		/* Section group */
-#define SHT_SYMTAB_SHNDX  18		/* Extended section indeces */
+#define SHT_SYMTAB_SHNDX  18		/* Extended section indices */
 #define	SHT_NUM		  19		/* Number of defined types.  */
 #define SHT_LOOS	  0x60000000	/* Start OS-specific.  */
 #define SHT_GNU_ATTRIBUTES 0x6ffffff5	/* Object attributes.  */
@@ -482,6 +478,7 @@
 #define SHF_COMPRESSED	     (1 << 11)	/* Section with compressed data. */
 #define SHF_MASKOS	     0x0ff00000	/* OS-specific.  */
 #define SHF_MASKPROC	     0xf0000000	/* Processor-specific */
+#define SHF_GNU_RETAIN	     (1 << 21)  /* Not to be GCed by linker.  */
 #define SHF_ORDERED	     (1 << 30)	/* Special ordering requirement
 					   (Solaris).  */
 #define SHF_EXCLUDE	     (1U << 31)	/* Section is excluded unless
@@ -721,6 +718,7 @@
 #define PT_GNU_EH_FRAME	0x6474e550	/* GCC .eh_frame_hdr segment */
 #define PT_GNU_STACK	0x6474e551	/* Indicates stack executability */
 #define PT_GNU_RELRO	0x6474e552	/* Read-only after relocation */
+#define PT_GNU_PROPERTY	0x6474e553	/* GNU property */
 #define PT_LOSUNW	0x6ffffffa
 #define PT_SUNWBSS	0x6ffffffa	/* Sun Specific segment */
 #define PT_SUNWSTACK	0x6ffffffb	/* Stack segment */
@@ -809,9 +807,16 @@
 #define NT_ARM_SYSTEM_CALL	0x404	/* ARM system call number */
 #define NT_ARM_SVE	0x405		/* ARM Scalable Vector Extension
 					   registers */
+#define NT_ARM_PAC_MASK	0x406		/* ARM pointer authentication
+					   code masks.  */
+#define NT_ARM_PACA_KEYS	0x407	/* ARM pointer authentication
+					   address keys.  */
+#define NT_ARM_PACG_KEYS	0x408	/* ARM pointer authentication
+					   generic key.  */
 #define NT_VMCOREDD	0x700		/* Vmcore Device Dump Note.  */
 #define NT_MIPS_DSP	0x800		/* MIPS DSP ASE registers.  */
 #define NT_MIPS_FP_MODE	0x801		/* MIPS floating-point mode.  */
+#define NT_MIPS_MSA	0x802		/* MIPS SIMD registers.  */
 
 /* Legal values for the note segment descriptor types for object files.  */
 
@@ -987,6 +992,9 @@
 #define	DF_1_SINGLETON	0x02000000	/* Singleton symbols are used.  */
 #define	DF_1_STUB	0x04000000
 #define	DF_1_PIE	0x08000000
+#define	DF_1_KMOD       0x10000000
+#define	DF_1_WEAKFILTER 0x20000000
+#define	DF_1_NOCOMMON   0x40000000
 
 /* Flags for the feature selection in DT_FEATURE_1.  */
 #define DTF_1_PARINIT	0x00000001
@@ -1039,7 +1047,7 @@
 #define	VER_NDX_LORESERVE	0xff00	/* Beginning of reserved entries.  */
 #define	VER_NDX_ELIMINATE	0xff01	/* Symbol is to be eliminated.  */
 
-/* Auxialiary version information.  */
+/* Auxiliary version information.  */
 
 typedef struct
 {
@@ -1308,6 +1316,12 @@
 /* Application-specific semantics, hi */
 #define GNU_PROPERTY_HIUSER			0xffffffff
 
+/* AArch64 specific GNU properties.  */
+#define GNU_PROPERTY_AARCH64_FEATURE_1_AND	0xc0000000
+
+#define GNU_PROPERTY_AARCH64_FEATURE_1_BTI	(1U << 0)
+#define GNU_PROPERTY_AARCH64_FEATURE_1_PAC	(1U << 1)
+
 /* The x86 instruction sets indicated by the corresponding bits are
    used in program.  Their support in the hardware is optional.  */
 #define GNU_PROPERTY_X86_ISA_1_USED		0xc0000000
@@ -1705,6 +1719,7 @@
 #define SHT_MIPS_EH_REGION	0x70000027
 #define SHT_MIPS_XLATE_OLD	0x70000028
 #define SHT_MIPS_PDR_EXCEPTION	0x70000029
+#define SHT_MIPS_XHASH		0x7000002b
 
 /* Legal values for sh_flags field of Elf32_Shdr.  */
 
@@ -1952,7 +1967,9 @@
    in a PIE as it stores a relative offset from the address of the tag
    rather than an absolute address.  */
 #define DT_MIPS_RLD_MAP_REL  0x70000035
-#define DT_MIPS_NUM	     0x36
+/* GNU-style hash table with xlat.  */
+#define DT_MIPS_XHASH	     0x70000036
+#define DT_MIPS_NUM	     0x37
 
 /* Legal values for DT_MIPS_FLAGS Elf32_Dyn entry.  */
 
@@ -2123,9 +2140,9 @@
 #define EFA_PARISC_1_1		    0x0210 /* PA-RISC 1.1 big-endian.  */
 #define EFA_PARISC_2_0		    0x0214 /* PA-RISC 2.0 big-endian.  */
 
-/* Additional section indeces.  */
+/* Additional section indices.  */
 
-#define SHN_PARISC_ANSI_COMMON	0xff00	   /* Section for tenatively declared
+#define SHN_PARISC_ANSI_COMMON	0xff00	   /* Section for tentatively declared
 					      symbols in ANSI C.  */
 #define SHN_PARISC_HUGE_COMMON	0xff01	   /* Common blocks in huge model.  */
 
@@ -2854,6 +2871,15 @@
 #define R_AARCH64_TLSDESC      1031	/* TLS Descriptor.  */
 #define R_AARCH64_IRELATIVE	1032	/* STT_GNU_IFUNC relocation.  */
 
+/* AArch64 specific values for the Dyn d_tag field.  */
+#define DT_AARCH64_BTI_PLT	(DT_LOPROC + 1)
+#define DT_AARCH64_PAC_PLT	(DT_LOPROC + 3)
+#define DT_AARCH64_VARIANT_PCS	(DT_LOPROC + 5)
+#define DT_AARCH64_NUM		6
+
+/* AArch64 specific values for the st_other field.  */
+#define STO_AARCH64_VARIANT_PCS 0x80
+
 /* ARM relocs.  */
 
 #define R_ARM_NONE		0	/* No reloc */
@@ -3926,8 +3952,9 @@
 #define R_RISCV_SET16		55
 #define R_RISCV_SET32		56
 #define R_RISCV_32_PCREL	57
+#define R_RISCV_IRELATIVE	58
 
-#define R_RISCV_NUM		58
+#define R_RISCV_NUM		59
 
 /* BPF specific declarations.  */
 
@@ -3944,7 +3971,7 @@
 #define R_METAG_RELBRANCH	4
 #define R_METAG_GETSETOFF	5
 
-/* Backward compatability */
+/* Backward compatibility */
 #define R_METAG_REG32OP1	6
 #define R_METAG_REG32OP2	7
 #define R_METAG_REG32OP3	8
@@ -4007,6 +4034,72 @@
 #define R_NDS32_TLS_TPOFF	102
 #define R_NDS32_TLS_DESC	119
 
-__END_DECLS
+/* ARCompact/ARCv2 specific relocs.  */
+#define R_ARC_NONE		0x0
+#define R_ARC_8			0x1
+#define R_ARC_16		0x2
+#define R_ARC_24		0x3
+#define R_ARC_32		0x4
+#define R_ARC_B26		0x5
+#define R_ARC_B22_PCREL		0x6
+#define R_ARC_H30		0x7
+#define R_ARC_N8		0x8
+#define R_ARC_N16		0x9
+#define R_ARC_N24		0xA
+#define R_ARC_N32		0xB
+#define R_ARC_SDA		0xC
+#define R_ARC_SECTOFF		0xD
+#define R_ARC_S21H_PCREL	0xE
+#define R_ARC_S21W_PCREL	0xF
+#define R_ARC_S25H_PCREL	0x10
+#define R_ARC_S25W_PCREL	0x11
+#define R_ARC_SDA32		0x12
+#define R_ARC_SDA_LDST		0x13
+#define R_ARC_SDA_LDST1		0x14
+#define R_ARC_SDA_LDST2		0x15
+#define R_ARC_SDA16_LD		0x16
+#define R_ARC_SDA16_LD1		0x17
+#define R_ARC_SDA16_LD2		0x18
+#define R_ARC_S13_PCREL		0x19
+#define R_ARC_W			0x1A
+#define R_ARC_32_ME		0x1B
+#define R_ARC_N32_ME		0x1C
+#define R_ARC_SECTOFF_ME	0x1D
+#define R_ARC_SDA32_ME		0x1E
+#define R_ARC_W_ME		0x1F
+#define R_ARC_H30_ME		0x20
+#define R_ARC_SECTOFF_U8	0x21
+#define R_ARC_SECTOFF_S9	0x22
+#define R_AC_SECTOFF_U8		0x23
+#define R_AC_SECTOFF_U8_1	0x24
+#define R_AC_SECTOFF_U8_2	0x25
+#define R_AC_SECTOFF_S9		0x26
+#define R_AC_SECTOFF_S9_1	0x27
+#define R_AC_SECTOFF_S9_2	0x28
+#define R_ARC_SECTOFF_ME_1	0x29
+#define R_ARC_SECTOFF_ME_2	0x2A
+#define R_ARC_SECTOFF_1		0x2B
+#define R_ARC_SECTOFF_2		0x2C
+#define R_ARC_PC32		0x32
+#define R_ARC_GOTPC32		0x33
+#define R_ARC_PLT32		0x34
+#define R_ARC_COPY		0x35
+#define R_ARC_GLOB_DAT		0x36
+#define R_ARC_JUMP_SLOT		0x37
+#define R_ARC_RELATIVE		0x38
+#define R_ARC_GOTOFF		0x39
+#define R_ARC_GOTPC		0x3A
+#define R_ARC_GOT32		0x3B
+
+#define R_ARC_TLS_DTPMOD	0x42
+#define R_ARC_TLS_DTPOFF	0x43
+#define R_ARC_TLS_TPOFF		0x44
+#define R_ARC_TLS_GD_GOT	0x45
+#define R_ARC_TLS_GD_LD	        0x46
+#define R_ARC_TLS_GD_CALL	0x47
+#define R_ARC_TLS_IE_GOT	0x48
+#define R_ARC_TLS_DTPOFF_S9	0x4a
+#define R_ARC_TLS_LE_S9		0x4a
+#define R_ARC_TLS_LE_32		0x4b
 
 #endif	/* elf.h */
diff --git a/libelf/elf32_checksum.c b/libelf/elf32_checksum.c
index f9dfccb..c5f27bb 100644
--- a/libelf/elf32_checksum.c
+++ b/libelf/elf32_checksum.c
@@ -115,7 +115,7 @@
 
       /* To compute the checksum we need to get to the data.  For
 	 repeatable results we must use the external format.  The data
-	 we get with 'elf'getdata' might be changed for endianess
+	 we get with 'elf'getdata' might be changed for endianness
 	 reasons.  Therefore we use 'elf_rawdata' if possible.  But
 	 this function can fail if the data was constructed by the
 	 program.  In this case we have to use 'elf_getdata' and
diff --git a/libelf/elf32_updatenull.c b/libelf/elf32_updatenull.c
index 5f3cdbf..d0d4d1e 100644
--- a/libelf/elf32_updatenull.c
+++ b/libelf/elf32_updatenull.c
@@ -267,6 +267,18 @@
 	      update_if_changed (shdr->sh_entsize, sh_entsize,
 				 scn->shdr_flags);
 
+	      /* Likewise for the alignment of a compressed section.
+	         For a SHF_COMPRESSED section set the correct
+	         sh_addralign value, which must match the d_align of
+	         the data (see __libelf_set_rawdata in elf_getdata.c).  */
+	      if ((shdr->sh_flags & SHF_COMPRESSED) != 0)
+		{
+		  sh_align = __libelf_type_align (ELFW(ELFCLASS,LIBELFBITS),
+						  ELF_T_CHDR);
+		  update_if_changed (shdr->sh_addralign, sh_align,
+				     scn->shdr_flags);
+		}
+
 	      if (scn->data_read == 0
 		  && __libelf_set_rawdata_wrlock (scn) != 0)
 		/* Something went wrong.  The error value is already set.  */
diff --git a/libelf/elf_begin.c b/libelf/elf_begin.c
index 8107a10..32648c1 100644
--- a/libelf/elf_begin.c
+++ b/libelf/elf_begin.c
@@ -88,6 +88,13 @@
   } ehdr_mem;
   bool is32 = e_ident[EI_CLASS] == ELFCLASS32;
 
+  if ((is32 && maxsize < sizeof (Elf32_Ehdr))
+      || (!is32 && maxsize < sizeof (Elf64_Ehdr)))
+    {
+       __libelf_seterrno (ELF_E_INVALID_ELF);
+      return (size_t) -1l;
+    }
+
   /* Make the ELF header available.  */
   if (e_ident[EI_DATA] == MY_ELFDATA
       && (ALLOW_UNALIGNED
@@ -1040,7 +1047,7 @@
     }
 
   /* This is an archive.  We must create a descriptor for the archive
-     member the internal pointer of the archive file desriptor is
+     member the internal pointer of the archive file descriptor is
      pointing to.  First read the header of the next member if this
      has not happened already.  */
   if (ref->state.ar.elf_ar_hdr.ar_name == NULL
@@ -1064,7 +1071,7 @@
 }
 
 
-/* Return desriptor for empty file ready for writing.  */
+/* Return descriptor for empty file ready for writing.  */
 static struct Elf *
 write_file (int fd, Elf_Cmd cmd)
 {
diff --git a/libelf/elf_compress.c b/libelf/elf_compress.c
index 244467b..df0144e 100644
--- a/libelf/elf_compress.c
+++ b/libelf/elf_compress.c
@@ -113,9 +113,8 @@
   int zrc = deflateInit (&z, Z_BEST_COMPRESSION);
   if (zrc != Z_OK)
     {
-      free (out_buf);
       __libelf_seterrno (ELF_E_COMPRESS_ERROR);
-      return NULL;
+      return deflate_cleanup(NULL, NULL);
     }
 
   Elf_Data cdata;
@@ -125,7 +124,7 @@
   int flush = Z_NO_FLUSH;
   do
     {
-      /* Convert to raw if different endianess.  */
+      /* Convert to raw if different endianness.  */
       cdata = *data;
       bool convert = ei_data != MY_ELFDATA && data->d_size > 0;
       if (convert)
@@ -197,13 +196,13 @@
     }
   while (flush != Z_FINISH); /* More data blocks.  */
 
-  zrc = deflateEnd (&z);
-  if (zrc != Z_OK)
+  if (zrc != Z_STREAM_END)
     {
       __libelf_seterrno (ELF_E_COMPRESS_ERROR);
       return deflate_cleanup (NULL, NULL);
     }
 
+  deflateEnd (&z);
   *new_size = used;
   return out_buf;
 }
@@ -251,16 +250,15 @@
 	}
       zrc = inflateReset (&z);
     }
-  if (likely (zrc == Z_OK))
-    zrc = inflateEnd (&z);
 
   if (unlikely (zrc != Z_OK) || unlikely (z.avail_out != 0))
     {
       free (buf_out);
+      buf_out = NULL;
       __libelf_seterrno (ELF_E_DECOMPRESS_ERROR);
-      return NULL;
     }
 
+  inflateEnd(&z);
   return buf_out;
 }
 
@@ -524,7 +522,7 @@
 
       __libelf_reset_rawdata (scn, scn->zdata_base,
 			      scn->zdata_size, scn->zdata_align,
-			      __libelf_data_type (elf, sh_type,
+			      __libelf_data_type (&ehdr, sh_type,
 						  scn->zdata_align));
 
       return 1;
diff --git a/libelf/elf_compress_gnu.c b/libelf/elf_compress_gnu.c
index 1ecd6a0..3d2977e 100644
--- a/libelf/elf_compress_gnu.c
+++ b/libelf/elf_compress_gnu.c
@@ -143,7 +143,7 @@
     }
   else if (inflate == 0)
     {
-      /* In theory the user could have constucted a compressed section
+      /* In theory the user could have constructed a compressed section
 	 by hand.  And in practice they do. For example when copying
 	 a section from one file to another using elf_newdata. So we
 	 have to use elf_getdata (not elf_rawdata).  */
@@ -197,7 +197,8 @@
 	}
 
       __libelf_reset_rawdata (scn, buf_out, size, sh_addralign,
-			      __libelf_data_type (elf, sh_type, sh_addralign));
+			      __libelf_data_type (&ehdr, sh_type,
+						  sh_addralign));
 
       scn->zdata_base = buf_out;
 
diff --git a/libelf/elf_getdata.c b/libelf/elf_getdata.c
index 40fe169..6ed4450 100644
--- a/libelf/elf_getdata.c
+++ b/libelf/elf_getdata.c
@@ -113,14 +113,12 @@
 
 Elf_Type
 internal_function
-__libelf_data_type (Elf *elf, int sh_type, GElf_Xword align)
+__libelf_data_type (GElf_Ehdr *ehdr, int sh_type, GElf_Xword align)
 {
   /* Some broken ELF ABI for 64-bit machines use the wrong hash table
      entry size.  See elf-knowledge.h for more information.  */
-  if (sh_type == SHT_HASH && elf->class == ELFCLASS64)
+  if (sh_type == SHT_HASH && ehdr->e_ident[EI_CLASS] == ELFCLASS64)
     {
-      GElf_Ehdr ehdr_mem;
-      GElf_Ehdr *ehdr = __gelf_getehdr_rdlock (elf, &ehdr_mem);
       return (SH_ENTSIZE_HASH (ehdr) == 4 ? ELF_T_WORD : ELF_T_XWORD);
     }
   else
@@ -271,6 +269,8 @@
 	{
 	  GElf_Ehdr ehdr_mem;
 	  GElf_Ehdr *ehdr = __gelf_getehdr_rdlock (elf, &ehdr_mem);
+	  if (unlikely (ehdr == NULL))
+	    return 1;
 	  entsize = SH_ENTSIZE_HASH (ehdr);
 	}
       else
@@ -363,7 +363,13 @@
   if ((flags & SHF_COMPRESSED) != 0)
     scn->rawdata.d.d_type = ELF_T_CHDR;
   else
-    scn->rawdata.d.d_type = __libelf_data_type (elf, type, align);
+    {
+      GElf_Ehdr ehdr_mem;
+      GElf_Ehdr *ehdr = __gelf_getehdr_rdlock (elf, &ehdr_mem);
+      if (unlikely (ehdr == NULL))
+	return 1;
+      scn->rawdata.d.d_type = __libelf_data_type (ehdr, type, align);
+    }
   scn->rawdata.d.d_off = 0;
 
   /* Make sure the alignment makes sense.  d_align should be aligned both
diff --git a/libelf/elf_getphdrnum.c b/libelf/elf_getphdrnum.c
index f91cba9..60ebec5 100644
--- a/libelf/elf_getphdrnum.c
+++ b/libelf/elf_getphdrnum.c
@@ -44,6 +44,7 @@
  if (unlikely (elf->state.elf64.ehdr == NULL))
    {
      /* Maybe no ELF header was created yet.  */
+     *dst = 0;
      __libelf_seterrno (ELF_E_WRONG_ORDER_EHDR);
      return -1;
    }
@@ -63,15 +64,23 @@
 
      if (elf->class == ELFCLASS32)
        {
-	 if (likely (scns->cnt > 0
-		     && elf->state.elf32.scns.data[0].shdr.e32 != NULL))
-	   *dst = scns->data[0].shdr.e32->sh_info;
+	 if (likely (scns->cnt > 0))
+	   {
+	     Elf_Scn *scn = &elf->state.elf32.scns.data[0];
+	     Elf32_Shdr *shdr = scn->shdr.e32 ?: __elf32_getshdr_rdlock (scn);
+	     if (shdr)
+	       *dst = shdr->sh_info;
+	   }
        }
      else
        {
-	 if (likely (scns->cnt > 0
-		     && elf->state.elf64.scns.data[0].shdr.e64 != NULL))
-	   *dst = scns->data[0].shdr.e64->sh_info;
+	 if (likely (scns->cnt > 0))
+	   {
+	     Elf_Scn *scn = &elf->state.elf64.scns.data[0];
+	     Elf64_Shdr *shdr = scn->shdr.e64 ?: __elf64_getshdr_rdlock (scn);
+	     if (shdr)
+	       *dst = shdr->sh_info;
+	   }
        }
    }
 
diff --git a/libelf/elf_strptr.c b/libelf/elf_strptr.c
index e72a3a3..76f2caf 100644
--- a/libelf/elf_strptr.c
+++ b/libelf/elf_strptr.c
@@ -119,7 +119,7 @@
   if (elf->class == ELFCLASS32)
     {
       Elf32_Shdr *shdr = strscn->shdr.e32 ?: __elf32_getshdr_rdlock (strscn);
-      if (unlikely (shdr->sh_type != SHT_STRTAB))
+      if (unlikely (shdr == NULL || shdr->sh_type != SHT_STRTAB))
 	{
 	  /* This is no string section.  */
 	  __libelf_seterrno (ELF_E_INVALID_SECTION);
@@ -145,7 +145,7 @@
   else
     {
       Elf64_Shdr *shdr = strscn->shdr.e64 ?: __elf64_getshdr_rdlock (strscn);
-      if (unlikely (shdr->sh_type != SHT_STRTAB))
+      if (unlikely (shdr == NULL || shdr->sh_type != SHT_STRTAB))
 	{
 	  /* This is no string section.  */
 	  __libelf_seterrno (ELF_E_INVALID_SECTION);
diff --git a/libelf/gelf.h b/libelf/gelf.h
index 0619880..7a3c87a 100644
--- a/libelf/gelf.h
+++ b/libelf/gelf.h
@@ -95,7 +95,7 @@
 /* Version definition sections.  */
 typedef Elf64_Verdef GElf_Verdef;
 
-/* Auxialiary version information.  */
+/* Auxiliary version information.  */
 typedef Elf64_Verdaux GElf_Verdaux;
 
 /* Version dependency section.  */
diff --git a/libelf/libelf.h b/libelf/libelf.h
index 1ff11c9..a139e73 100644
--- a/libelf/libelf.h
+++ b/libelf/libelf.h
@@ -376,7 +376,7 @@
    It is always an error to call these functions on SHT_NOBITS
    sections or if the section has the SHF_ALLOC flag set.
    elf_compress_gnu will not check whether the section name starts
-   with ".debug" or .zdebug".  It is the responsibilty of the caller
+   with ".debug" or .zdebug".  It is the responsibility of the caller
    to make sure the deprecated GNU compression method is only called
    on correctly named sections (and to change the name of the section
    when using elf_compress_gnu).
diff --git a/libelf/libelfP.h b/libelf/libelfP.h
index b55d5c4..fc1aebe 100644
--- a/libelf/libelfP.h
+++ b/libelf/libelfP.h
@@ -39,9 +39,6 @@
 #include <stdio.h>
 #include <string.h>
 
-/* gettext helper macros.  */
-#define _(Str) dgettext ("elfutils", Str)
-
 
 /* Helper Macros to write 32 bit and 64 bit functions.  */
 #define __elfw2_(Bits, Name) __elf##Bits##_##Name
@@ -148,7 +145,7 @@
 };
 
 
-/* The visible `Elf_Data' type is not sufficent for some operations due
+/* The visible `Elf_Data' type is not sufficient for some operations due
    to a misdesigned interface.  Extend it for internal purposes.  */
 typedef struct
 {
@@ -436,10 +433,11 @@
 # define __libelf_type_align(class, type)	\
     (__libelf_type_aligns[class - 1][type] ?: 1)
 
-/* Given an Elf handle and a section type returns the Elf_Data d_type.
+/* Given an GElf_Ehdr handle and a section type returns the Elf_Data d_type.
    Should not be called when SHF_COMPRESSED is set, the d_type should
    be ELF_T_BYTE.  */
-extern Elf_Type __libelf_data_type (Elf *elf, int sh_type, GElf_Xword align)
+extern Elf_Type __libelf_data_type (GElf_Ehdr *ehdr,
+				    int sh_type, GElf_Xword align)
   internal_function;
 
 
diff --git a/m4/.gitignore b/m4/.gitignore
new file mode 100644
index 0000000..9ed3569
--- /dev/null
+++ b/m4/.gitignore
@@ -0,0 +1,5 @@
+/*.m4
+!/ax_check_compile_flag.m4
+!/ax_cxx_compile_stdcxx.m4
+!/biarch.m4
+!/zip.m4
diff --git a/m4/ChangeLog b/m4/ChangeLog
index 8ab0ff3..3283269 100644
--- a/m4/ChangeLog
+++ b/m4/ChangeLog
@@ -1,3 +1,9 @@
+2020-12-15  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* .gitignore: New file.
+
+	* Makefile.am: Remove.
+
 2019-10-28  Aaron Merey  <amerey@redhat.com>
 
 	* ax_check_compile_flag.m4, ax_cxx_compile_stdcxx.m4: New files.
diff --git a/m4/Makefile.am b/m4/Makefile.am
deleted file mode 100644
index ae7a565..0000000
--- a/m4/Makefile.am
+++ /dev/null
@@ -1,21 +0,0 @@
-## Process this file with automake to produce Makefile.in -*-Makefile-*-
-##
-## Copyright (C) 2000-2009 Red Hat, Inc.
-## This file is part of elfutils.
-##
-## This file is free software; you can redistribute it and/or modify
-## it under the terms of the GNU General Public License as published by
-## the Free Software Foundation; either version 3 of the License, or
-## (at your option) any later version.
-##
-## elfutils is distributed in the hope that it will be useful, but
-## WITHOUT ANY WARRANTY; without even the implied warranty of
-## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-## GNU General Public License for more details.
-##
-## You should have received a copy of the GNU General Public License
-## along with this program.  If not, see <http://www.gnu.org/licenses/>.
-##
-
-##m4-files-begin
-EXTRA_DIST = codeset.m4 gettext.m4 iconv.m4 lcmessage.m4 progtest.m4 zip.m4 ax_check_compile_flag.m4 ax_cxx_compile_stdcxx.m4
diff --git a/m4/codeset.m4 b/m4/codeset.m4
deleted file mode 100644
index 59535eb..0000000
--- a/m4/codeset.m4
+++ /dev/null
@@ -1,23 +0,0 @@
-# codeset.m4 serial AM1 (gettext-0.10.40)
-dnl Copyright (C) 2000-2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License.  As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-
-dnl From Bruno Haible.
-
-AC_DEFUN([AM_LANGINFO_CODESET],
-[
-  AC_CACHE_CHECK([for nl_langinfo and CODESET], am_cv_langinfo_codeset,
-    [AC_TRY_LINK([#include <langinfo.h>],
-      [char* cs = nl_langinfo(CODESET);],
-      am_cv_langinfo_codeset=yes,
-      am_cv_langinfo_codeset=no)
-    ])
-  if test $am_cv_langinfo_codeset = yes; then
-    AC_DEFINE(HAVE_LANGINFO_CODESET, 1,
-      [Define if you have <langinfo.h> and nl_langinfo(CODESET).])
-  fi
-])
diff --git a/m4/gettext.m4 b/m4/gettext.m4
deleted file mode 100644
index 8d1f066..0000000
--- a/m4/gettext.m4
+++ /dev/null
@@ -1,401 +0,0 @@
-# gettext.m4 serial 66 (gettext-0.18.2)
-dnl Copyright (C) 1995-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2006, 2008-2010.
-
-dnl Macro to add for using GNU gettext.
-
-dnl Usage: AM_GNU_GETTEXT([INTLSYMBOL], [NEEDSYMBOL], [INTLDIR]).
-dnl INTLSYMBOL can be one of 'external', 'no-libtool', 'use-libtool'. The
-dnl    default (if it is not specified or empty) is 'no-libtool'.
-dnl    INTLSYMBOL should be 'external' for packages with no intl directory,
-dnl    and 'no-libtool' or 'use-libtool' for packages with an intl directory.
-dnl    If INTLSYMBOL is 'use-libtool', then a libtool library
-dnl    $(top_builddir)/intl/libintl.la will be created (shared and/or static,
-dnl    depending on --{enable,disable}-{shared,static} and on the presence of
-dnl    AM-DISABLE-SHARED). If INTLSYMBOL is 'no-libtool', a static library
-dnl    $(top_builddir)/intl/libintl.a will be created.
-dnl If NEEDSYMBOL is specified and is 'need-ngettext', then GNU gettext
-dnl    implementations (in libc or libintl) without the ngettext() function
-dnl    will be ignored.  If NEEDSYMBOL is specified and is
-dnl    'need-formatstring-macros', then GNU gettext implementations that don't
-dnl    support the ISO C 99 <inttypes.h> formatstring macros will be ignored.
-dnl INTLDIR is used to find the intl libraries.  If empty,
-dnl    the value '$(top_builddir)/intl/' is used.
-dnl
-dnl The result of the configuration is one of three cases:
-dnl 1) GNU gettext, as included in the intl subdirectory, will be compiled
-dnl    and used.
-dnl    Catalog format: GNU --> install in $(datadir)
-dnl    Catalog extension: .mo after installation, .gmo in source tree
-dnl 2) GNU gettext has been found in the system's C library.
-dnl    Catalog format: GNU --> install in $(datadir)
-dnl    Catalog extension: .mo after installation, .gmo in source tree
-dnl 3) No internationalization, always use English msgid.
-dnl    Catalog format: none
-dnl    Catalog extension: none
-dnl If INTLSYMBOL is 'external', only cases 2 and 3 can occur.
-dnl The use of .gmo is historical (it was needed to avoid overwriting the
-dnl GNU format catalogs when building on a platform with an X/Open gettext),
-dnl but we keep it in order not to force irrelevant filename changes on the
-dnl maintainers.
-dnl
-AC_DEFUN([AM_GNU_GETTEXT],
-[
-  dnl Argument checking.
-  ifelse([$1], [], , [ifelse([$1], [external], , [ifelse([$1], [no-libtool], , [ifelse([$1], [use-libtool], ,
-    [errprint([ERROR: invalid first argument to AM_GNU_GETTEXT
-])])])])])
-  ifelse(ifelse([$1], [], [old])[]ifelse([$1], [no-libtool], [old]), [old],
-    [AC_DIAGNOSE([obsolete], [Use of AM_GNU_GETTEXT without [external] argument is deprecated.])])
-  ifelse([$2], [], , [ifelse([$2], [need-ngettext], , [ifelse([$2], [need-formatstring-macros], ,
-    [errprint([ERROR: invalid second argument to AM_GNU_GETTEXT
-])])])])
-  define([gt_included_intl],
-    ifelse([$1], [external],
-      ifdef([AM_GNU_GETTEXT_][INTL_SUBDIR], [yes], [no]),
-      [yes]))
-  define([gt_libtool_suffix_prefix], ifelse([$1], [use-libtool], [l], []))
-  gt_NEEDS_INIT
-  AM_GNU_GETTEXT_NEED([$2])
-
-  AC_REQUIRE([AM_PO_SUBDIRS])dnl
-  ifelse(gt_included_intl, yes, [
-    AC_REQUIRE([AM_INTL_SUBDIR])dnl
-  ])
-
-  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  AC_REQUIRE([AC_LIB_RPATH])
-
-  dnl Sometimes libintl requires libiconv, so first search for libiconv.
-  dnl Ideally we would do this search only after the
-  dnl      if test "$USE_NLS" = "yes"; then
-  dnl        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
-  dnl tests. But if configure.in invokes AM_ICONV after AM_GNU_GETTEXT
-  dnl the configure script would need to contain the same shell code
-  dnl again, outside any 'if'. There are two solutions:
-  dnl - Invoke AM_ICONV_LINKFLAGS_BODY here, outside any 'if'.
-  dnl - Control the expansions in more detail using AC_PROVIDE_IFELSE.
-  dnl Since AC_PROVIDE_IFELSE is only in autoconf >= 2.52 and not
-  dnl documented, we avoid it.
-  ifelse(gt_included_intl, yes, , [
-    AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
-  ])
-
-  dnl Sometimes, on Mac OS X, libintl requires linking with CoreFoundation.
-  gt_INTL_MACOSX
-
-  dnl Set USE_NLS.
-  AC_REQUIRE([AM_NLS])
-
-  ifelse(gt_included_intl, yes, [
-    BUILD_INCLUDED_LIBINTL=no
-    USE_INCLUDED_LIBINTL=no
-  ])
-  LIBINTL=
-  LTLIBINTL=
-  POSUB=
-
-  dnl Add a version number to the cache macros.
-  case " $gt_needs " in
-    *" need-formatstring-macros "*) gt_api_version=3 ;;
-    *" need-ngettext "*) gt_api_version=2 ;;
-    *) gt_api_version=1 ;;
-  esac
-  gt_func_gnugettext_libc="gt_cv_func_gnugettext${gt_api_version}_libc"
-  gt_func_gnugettext_libintl="gt_cv_func_gnugettext${gt_api_version}_libintl"
-
-  dnl If we use NLS figure out what method
-  if test "$USE_NLS" = "yes"; then
-    gt_use_preinstalled_gnugettext=no
-    ifelse(gt_included_intl, yes, [
-      AC_MSG_CHECKING([whether included gettext is requested])
-      AC_ARG_WITH([included-gettext],
-        [  --with-included-gettext use the GNU gettext library included here],
-        nls_cv_force_use_gnu_gettext=$withval,
-        nls_cv_force_use_gnu_gettext=no)
-      AC_MSG_RESULT([$nls_cv_force_use_gnu_gettext])
-
-      nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
-      if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
-    ])
-        dnl User does not insist on using GNU NLS library.  Figure out what
-        dnl to use.  If GNU gettext is available we use this.  Else we have
-        dnl to fall back to GNU NLS library.
-
-        if test $gt_api_version -ge 3; then
-          gt_revision_test_code='
-#ifndef __GNU_GETTEXT_SUPPORTED_REVISION
-#define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1)
-#endif
-changequote(,)dnl
-typedef int array [2 * (__GNU_GETTEXT_SUPPORTED_REVISION(0) >= 1) - 1];
-changequote([,])dnl
-'
-        else
-          gt_revision_test_code=
-        fi
-        if test $gt_api_version -ge 2; then
-          gt_expression_test_code=' + * ngettext ("", "", 0)'
-        else
-          gt_expression_test_code=
-        fi
-
-        AC_CACHE_CHECK([for GNU gettext in libc], [$gt_func_gnugettext_libc],
-         [AC_LINK_IFELSE(
-            [AC_LANG_PROGRAM(
-               [[
-#include <libintl.h>
-$gt_revision_test_code
-extern int _nl_msg_cat_cntr;
-extern int *_nl_domain_bindings;
-               ]],
-               [[
-bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_domain_bindings
-               ]])],
-            [eval "$gt_func_gnugettext_libc=yes"],
-            [eval "$gt_func_gnugettext_libc=no"])])
-
-        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" != "yes"; }; then
-          dnl Sometimes libintl requires libiconv, so first search for libiconv.
-          ifelse(gt_included_intl, yes, , [
-            AM_ICONV_LINK
-          ])
-          dnl Search for libintl and define LIBINTL, LTLIBINTL and INCINTL
-          dnl accordingly. Don't use AC_LIB_LINKFLAGS_BODY([intl],[iconv])
-          dnl because that would add "-liconv" to LIBINTL and LTLIBINTL
-          dnl even if libiconv doesn't exist.
-          AC_LIB_LINKFLAGS_BODY([intl])
-          AC_CACHE_CHECK([for GNU gettext in libintl],
-            [$gt_func_gnugettext_libintl],
-           [gt_save_CPPFLAGS="$CPPFLAGS"
-            CPPFLAGS="$CPPFLAGS $INCINTL"
-            gt_save_LIBS="$LIBS"
-            LIBS="$LIBS $LIBINTL"
-            dnl Now see whether libintl exists and does not depend on libiconv.
-            AC_LINK_IFELSE(
-              [AC_LANG_PROGRAM(
-                 [[
-#include <libintl.h>
-$gt_revision_test_code
-extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias (const char *);
-                 ]],
-                 [[
-bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
-                 ]])],
-              [eval "$gt_func_gnugettext_libintl=yes"],
-              [eval "$gt_func_gnugettext_libintl=no"])
-            dnl Now see whether libintl exists and depends on libiconv.
-            if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" != yes; } && test -n "$LIBICONV"; then
-              LIBS="$LIBS $LIBICONV"
-              AC_LINK_IFELSE(
-                [AC_LANG_PROGRAM(
-                   [[
-#include <libintl.h>
-$gt_revision_test_code
-extern int _nl_msg_cat_cntr;
-extern
-#ifdef __cplusplus
-"C"
-#endif
-const char *_nl_expand_alias (const char *);
-                   ]],
-                   [[
-bindtextdomain ("", "");
-return * gettext ("")$gt_expression_test_code + _nl_msg_cat_cntr + *_nl_expand_alias ("")
-                   ]])],
-                [LIBINTL="$LIBINTL $LIBICONV"
-                 LTLIBINTL="$LTLIBINTL $LTLIBICONV"
-                 eval "$gt_func_gnugettext_libintl=yes"
-                ])
-            fi
-            CPPFLAGS="$gt_save_CPPFLAGS"
-            LIBS="$gt_save_LIBS"])
-        fi
-
-        dnl If an already present or preinstalled GNU gettext() is found,
-        dnl use it.  But if this macro is used in GNU gettext, and GNU
-        dnl gettext is already preinstalled in libintl, we update this
-        dnl libintl.  (Cf. the install rule in intl/Makefile.in.)
-        if { eval "gt_val=\$$gt_func_gnugettext_libc"; test "$gt_val" = "yes"; } \
-           || { { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; } \
-                && test "$PACKAGE" != gettext-runtime \
-                && test "$PACKAGE" != gettext-tools; }; then
-          gt_use_preinstalled_gnugettext=yes
-        else
-          dnl Reset the values set by searching for libintl.
-          LIBINTL=
-          LTLIBINTL=
-          INCINTL=
-        fi
-
-    ifelse(gt_included_intl, yes, [
-        if test "$gt_use_preinstalled_gnugettext" != "yes"; then
-          dnl GNU gettext is not found in the C library.
-          dnl Fall back on included GNU gettext library.
-          nls_cv_use_gnu_gettext=yes
-        fi
-      fi
-
-      if test "$nls_cv_use_gnu_gettext" = "yes"; then
-        dnl Mark actions used to generate GNU NLS library.
-        BUILD_INCLUDED_LIBINTL=yes
-        USE_INCLUDED_LIBINTL=yes
-        LIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LIBICONV $LIBTHREAD"
-        LTLIBINTL="ifelse([$3],[],\${top_builddir}/intl,[$3])/libintl.[]gt_libtool_suffix_prefix[]a $LTLIBICONV $LTLIBTHREAD"
-        LIBS=`echo " $LIBS " | sed -e 's/ -lintl / /' -e 's/^ //' -e 's/ $//'`
-      fi
-
-      CATOBJEXT=
-      if test "$gt_use_preinstalled_gnugettext" = "yes" \
-         || test "$nls_cv_use_gnu_gettext" = "yes"; then
-        dnl Mark actions to use GNU gettext tools.
-        CATOBJEXT=.gmo
-      fi
-    ])
-
-    if test -n "$INTL_MACOSX_LIBS"; then
-      if test "$gt_use_preinstalled_gnugettext" = "yes" \
-         || test "$nls_cv_use_gnu_gettext" = "yes"; then
-        dnl Some extra flags are needed during linking.
-        LIBINTL="$LIBINTL $INTL_MACOSX_LIBS"
-        LTLIBINTL="$LTLIBINTL $INTL_MACOSX_LIBS"
-      fi
-    fi
-
-    if test "$gt_use_preinstalled_gnugettext" = "yes" \
-       || test "$nls_cv_use_gnu_gettext" = "yes"; then
-      AC_DEFINE([ENABLE_NLS], [1],
-        [Define to 1 if translation of program messages to the user's native language
-   is requested.])
-    else
-      USE_NLS=no
-    fi
-  fi
-
-  AC_MSG_CHECKING([whether to use NLS])
-  AC_MSG_RESULT([$USE_NLS])
-  if test "$USE_NLS" = "yes"; then
-    AC_MSG_CHECKING([where the gettext function comes from])
-    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
-      if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
-        gt_source="external libintl"
-      else
-        gt_source="libc"
-      fi
-    else
-      gt_source="included intl directory"
-    fi
-    AC_MSG_RESULT([$gt_source])
-  fi
-
-  if test "$USE_NLS" = "yes"; then
-
-    if test "$gt_use_preinstalled_gnugettext" = "yes"; then
-      if { eval "gt_val=\$$gt_func_gnugettext_libintl"; test "$gt_val" = "yes"; }; then
-        AC_MSG_CHECKING([how to link with libintl])
-        AC_MSG_RESULT([$LIBINTL])
-        AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCINTL])
-      fi
-
-      dnl For backward compatibility. Some packages may be using this.
-      AC_DEFINE([HAVE_GETTEXT], [1],
-       [Define if the GNU gettext() function is already present or preinstalled.])
-      AC_DEFINE([HAVE_DCGETTEXT], [1],
-       [Define if the GNU dcgettext() function is already present or preinstalled.])
-    fi
-
-    dnl We need to process the po/ directory.
-    POSUB=po
-  fi
-
-  ifelse(gt_included_intl, yes, [
-    dnl If this is used in GNU gettext we have to set BUILD_INCLUDED_LIBINTL
-    dnl to 'yes' because some of the testsuite requires it.
-    if test "$PACKAGE" = gettext-runtime || test "$PACKAGE" = gettext-tools; then
-      BUILD_INCLUDED_LIBINTL=yes
-    fi
-
-    dnl Make all variables we use known to autoconf.
-    AC_SUBST([BUILD_INCLUDED_LIBINTL])
-    AC_SUBST([USE_INCLUDED_LIBINTL])
-    AC_SUBST([CATOBJEXT])
-
-    dnl For backward compatibility. Some configure.ins may be using this.
-    nls_cv_header_intl=
-    nls_cv_header_libgt=
-
-    dnl For backward compatibility. Some Makefiles may be using this.
-    DATADIRNAME=share
-    AC_SUBST([DATADIRNAME])
-
-    dnl For backward compatibility. Some Makefiles may be using this.
-    INSTOBJEXT=.mo
-    AC_SUBST([INSTOBJEXT])
-
-    dnl For backward compatibility. Some Makefiles may be using this.
-    GENCAT=gencat
-    AC_SUBST([GENCAT])
-
-    dnl For backward compatibility. Some Makefiles may be using this.
-    INTLOBJS=
-    if test "$USE_INCLUDED_LIBINTL" = yes; then
-      INTLOBJS="\$(GETTOBJS)"
-    fi
-    AC_SUBST([INTLOBJS])
-
-    dnl Enable libtool support if the surrounding package wishes it.
-    INTL_LIBTOOL_SUFFIX_PREFIX=gt_libtool_suffix_prefix
-    AC_SUBST([INTL_LIBTOOL_SUFFIX_PREFIX])
-  ])
-
-  dnl For backward compatibility. Some Makefiles may be using this.
-  INTLLIBS="$LIBINTL"
-  AC_SUBST([INTLLIBS])
-
-  dnl Make all documented variables known to autoconf.
-  AC_SUBST([LIBINTL])
-  AC_SUBST([LTLIBINTL])
-  AC_SUBST([POSUB])
-])
-
-
-dnl gt_NEEDS_INIT ensures that the gt_needs variable is initialized.
-m4_define([gt_NEEDS_INIT],
-[
-  m4_divert_text([DEFAULTS], [gt_needs=])
-  m4_define([gt_NEEDS_INIT], [])
-])
-
-
-dnl Usage: AM_GNU_GETTEXT_NEED([NEEDSYMBOL])
-AC_DEFUN([AM_GNU_GETTEXT_NEED],
-[
-  m4_divert_text([INIT_PREPARE], [gt_needs="$gt_needs $1"])
-])
-
-
-dnl Usage: AM_GNU_GETTEXT_VERSION([gettext-version])
-AC_DEFUN([AM_GNU_GETTEXT_VERSION], [])
diff --git a/m4/iconv.m4 b/m4/iconv.m4
deleted file mode 100644
index a503646..0000000
--- a/m4/iconv.m4
+++ /dev/null
@@ -1,268 +0,0 @@
-# iconv.m4 serial 18 (gettext-0.18.2)
-dnl Copyright (C) 2000-2002, 2007-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl From Bruno Haible.
-
-AC_DEFUN([AM_ICONV_LINKFLAGS_BODY],
-[
-  dnl Prerequisites of AC_LIB_LINKFLAGS_BODY.
-  AC_REQUIRE([AC_LIB_PREPARE_PREFIX])
-  AC_REQUIRE([AC_LIB_RPATH])
-
-  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
-  dnl accordingly.
-  AC_LIB_LINKFLAGS_BODY([iconv])
-])
-
-AC_DEFUN([AM_ICONV_LINK],
-[
-  dnl Some systems have iconv in libc, some have it in libiconv (OSF/1 and
-  dnl those with the standalone portable GNU libiconv installed).
-  AC_REQUIRE([AC_CANONICAL_HOST]) dnl for cross-compiles
-
-  dnl Search for libiconv and define LIBICONV, LTLIBICONV and INCICONV
-  dnl accordingly.
-  AC_REQUIRE([AM_ICONV_LINKFLAGS_BODY])
-
-  dnl Add $INCICONV to CPPFLAGS before performing the following checks,
-  dnl because if the user has installed libiconv and not disabled its use
-  dnl via --without-libiconv-prefix, he wants to use it. The first
-  dnl AC_LINK_IFELSE will then fail, the second AC_LINK_IFELSE will succeed.
-  am_save_CPPFLAGS="$CPPFLAGS"
-  AC_LIB_APPENDTOVAR([CPPFLAGS], [$INCICONV])
-
-  AC_CACHE_CHECK([for iconv], [am_cv_func_iconv], [
-    am_cv_func_iconv="no, consider installing GNU libiconv"
-    am_cv_lib_iconv=no
-    AC_LINK_IFELSE(
-      [AC_LANG_PROGRAM(
-         [[
-#include <stdlib.h>
-#include <iconv.h>
-         ]],
-         [[iconv_t cd = iconv_open("","");
-           iconv(cd,NULL,NULL,NULL,NULL);
-           iconv_close(cd);]])],
-      [am_cv_func_iconv=yes])
-    if test "$am_cv_func_iconv" != yes; then
-      am_save_LIBS="$LIBS"
-      LIBS="$LIBS $LIBICONV"
-      AC_LINK_IFELSE(
-        [AC_LANG_PROGRAM(
-           [[
-#include <stdlib.h>
-#include <iconv.h>
-           ]],
-           [[iconv_t cd = iconv_open("","");
-             iconv(cd,NULL,NULL,NULL,NULL);
-             iconv_close(cd);]])],
-        [am_cv_lib_iconv=yes]
-        [am_cv_func_iconv=yes])
-      LIBS="$am_save_LIBS"
-    fi
-  ])
-  if test "$am_cv_func_iconv" = yes; then
-    AC_CACHE_CHECK([for working iconv], [am_cv_func_iconv_works], [
-      dnl This tests against bugs in AIX 5.1, AIX 6.1..7.1, HP-UX 11.11,
-      dnl Solaris 10.
-      am_save_LIBS="$LIBS"
-      if test $am_cv_lib_iconv = yes; then
-        LIBS="$LIBS $LIBICONV"
-      fi
-      AC_RUN_IFELSE(
-        [AC_LANG_SOURCE([[
-#include <iconv.h>
-#include <string.h>
-int main ()
-{
-  int result = 0;
-  /* Test against AIX 5.1 bug: Failures are not distinguishable from successful
-     returns.  */
-  {
-    iconv_t cd_utf8_to_88591 = iconv_open ("ISO8859-1", "UTF-8");
-    if (cd_utf8_to_88591 != (iconv_t)(-1))
-      {
-        static const char input[] = "\342\202\254"; /* EURO SIGN */
-        char buf[10];
-        const char *inptr = input;
-        size_t inbytesleft = strlen (input);
-        char *outptr = buf;
-        size_t outbytesleft = sizeof (buf);
-        size_t res = iconv (cd_utf8_to_88591,
-                            (char **) &inptr, &inbytesleft,
-                            &outptr, &outbytesleft);
-        if (res == 0)
-          result |= 1;
-        iconv_close (cd_utf8_to_88591);
-      }
-  }
-  /* Test against Solaris 10 bug: Failures are not distinguishable from
-     successful returns.  */
-  {
-    iconv_t cd_ascii_to_88591 = iconv_open ("ISO8859-1", "646");
-    if (cd_ascii_to_88591 != (iconv_t)(-1))
-      {
-        static const char input[] = "\263";
-        char buf[10];
-        const char *inptr = input;
-        size_t inbytesleft = strlen (input);
-        char *outptr = buf;
-        size_t outbytesleft = sizeof (buf);
-        size_t res = iconv (cd_ascii_to_88591,
-                            (char **) &inptr, &inbytesleft,
-                            &outptr, &outbytesleft);
-        if (res == 0)
-          result |= 2;
-        iconv_close (cd_ascii_to_88591);
-      }
-  }
-  /* Test against AIX 6.1..7.1 bug: Buffer overrun.  */
-  {
-    iconv_t cd_88591_to_utf8 = iconv_open ("UTF-8", "ISO-8859-1");
-    if (cd_88591_to_utf8 != (iconv_t)(-1))
-      {
-        static const char input[] = "\304";
-        static char buf[2] = { (char)0xDE, (char)0xAD };
-        const char *inptr = input;
-        size_t inbytesleft = 1;
-        char *outptr = buf;
-        size_t outbytesleft = 1;
-        size_t res = iconv (cd_88591_to_utf8,
-                            (char **) &inptr, &inbytesleft,
-                            &outptr, &outbytesleft);
-        if (res != (size_t)(-1) || outptr - buf > 1 || buf[1] != (char)0xAD)
-          result |= 4;
-        iconv_close (cd_88591_to_utf8);
-      }
-  }
-#if 0 /* This bug could be worked around by the caller.  */
-  /* Test against HP-UX 11.11 bug: Positive return value instead of 0.  */
-  {
-    iconv_t cd_88591_to_utf8 = iconv_open ("utf8", "iso88591");
-    if (cd_88591_to_utf8 != (iconv_t)(-1))
-      {
-        static const char input[] = "\304rger mit b\366sen B\374bchen ohne Augenma\337";
-        char buf[50];
-        const char *inptr = input;
-        size_t inbytesleft = strlen (input);
-        char *outptr = buf;
-        size_t outbytesleft = sizeof (buf);
-        size_t res = iconv (cd_88591_to_utf8,
-                            (char **) &inptr, &inbytesleft,
-                            &outptr, &outbytesleft);
-        if ((int)res > 0)
-          result |= 8;
-        iconv_close (cd_88591_to_utf8);
-      }
-  }
-#endif
-  /* Test against HP-UX 11.11 bug: No converter from EUC-JP to UTF-8 is
-     provided.  */
-  if (/* Try standardized names.  */
-      iconv_open ("UTF-8", "EUC-JP") == (iconv_t)(-1)
-      /* Try IRIX, OSF/1 names.  */
-      && iconv_open ("UTF-8", "eucJP") == (iconv_t)(-1)
-      /* Try AIX names.  */
-      && iconv_open ("UTF-8", "IBM-eucJP") == (iconv_t)(-1)
-      /* Try HP-UX names.  */
-      && iconv_open ("utf8", "eucJP") == (iconv_t)(-1))
-    result |= 16;
-  return result;
-}]])],
-        [am_cv_func_iconv_works=yes],
-        [am_cv_func_iconv_works=no],
-        [
-changequote(,)dnl
-         case "$host_os" in
-           aix* | hpux*) am_cv_func_iconv_works="guessing no" ;;
-           *)            am_cv_func_iconv_works="guessing yes" ;;
-         esac
-changequote([,])dnl
-        ])
-      LIBS="$am_save_LIBS"
-    ])
-    case "$am_cv_func_iconv_works" in
-      *no) am_func_iconv=no am_cv_lib_iconv=no ;;
-      *)   am_func_iconv=yes ;;
-    esac
-  else
-    am_func_iconv=no am_cv_lib_iconv=no
-  fi
-  if test "$am_func_iconv" = yes; then
-    AC_DEFINE([HAVE_ICONV], [1],
-      [Define if you have the iconv() function and it works.])
-  fi
-  if test "$am_cv_lib_iconv" = yes; then
-    AC_MSG_CHECKING([how to link with libiconv])
-    AC_MSG_RESULT([$LIBICONV])
-  else
-    dnl If $LIBICONV didn't lead to a usable library, we don't need $INCICONV
-    dnl either.
-    CPPFLAGS="$am_save_CPPFLAGS"
-    LIBICONV=
-    LTLIBICONV=
-  fi
-  AC_SUBST([LIBICONV])
-  AC_SUBST([LTLIBICONV])
-])
-
-dnl Define AM_ICONV using AC_DEFUN_ONCE for Autoconf >= 2.64, in order to
-dnl avoid warnings like
-dnl "warning: AC_REQUIRE: `AM_ICONV' was expanded before it was required".
-dnl This is tricky because of the way 'aclocal' is implemented:
-dnl - It requires defining an auxiliary macro whose name ends in AC_DEFUN.
-dnl   Otherwise aclocal's initial scan pass would miss the macro definition.
-dnl - It requires a line break inside the AC_DEFUN_ONCE and AC_DEFUN expansions.
-dnl   Otherwise aclocal would emit many "Use of uninitialized value $1"
-dnl   warnings.
-m4_define([gl_iconv_AC_DEFUN],
-  m4_version_prereq([2.64],
-    [[AC_DEFUN_ONCE(
-        [$1], [$2])]],
-    [m4_ifdef([gl_00GNULIB],
-       [[AC_DEFUN_ONCE(
-           [$1], [$2])]],
-       [[AC_DEFUN(
-           [$1], [$2])]])]))
-gl_iconv_AC_DEFUN([AM_ICONV],
-[
-  AM_ICONV_LINK
-  if test "$am_cv_func_iconv" = yes; then
-    AC_MSG_CHECKING([for iconv declaration])
-    AC_CACHE_VAL([am_cv_proto_iconv], [
-      AC_COMPILE_IFELSE(
-        [AC_LANG_PROGRAM(
-           [[
-#include <stdlib.h>
-#include <iconv.h>
-extern
-#ifdef __cplusplus
-"C"
-#endif
-#if defined(__STDC__) || defined(_MSC_VER) || defined(__cplusplus)
-size_t iconv (iconv_t cd, char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);
-#else
-size_t iconv();
-#endif
-           ]],
-           [[]])],
-        [am_cv_proto_iconv_arg1=""],
-        [am_cv_proto_iconv_arg1="const"])
-      am_cv_proto_iconv="extern size_t iconv (iconv_t cd, $am_cv_proto_iconv_arg1 char * *inbuf, size_t *inbytesleft, char * *outbuf, size_t *outbytesleft);"])
-    am_cv_proto_iconv=`echo "[$]am_cv_proto_iconv" | tr -s ' ' | sed -e 's/( /(/'`
-    AC_MSG_RESULT([
-         $am_cv_proto_iconv])
-    AC_DEFINE_UNQUOTED([ICONV_CONST], [$am_cv_proto_iconv_arg1],
-      [Define as const if the declaration of iconv() needs const.])
-    dnl Also substitute ICONV_CONST in the gnulib generated <iconv.h>.
-    m4_ifdef([gl_ICONV_H_DEFAULTS],
-      [AC_REQUIRE([gl_ICONV_H_DEFAULTS])
-       if test -n "$am_cv_proto_iconv_arg1"; then
-         ICONV_CONST="const"
-       fi
-      ])
-  fi
-])
diff --git a/m4/lcmessage.m4 b/m4/lcmessage.m4
deleted file mode 100644
index ffbf915..0000000
--- a/m4/lcmessage.m4
+++ /dev/null
@@ -1,32 +0,0 @@
-# lcmessage.m4 serial 2 (gettext-0.10.40)
-dnl Copyright (C) 1995-2002 Free Software Foundation, Inc.
-dnl This file is free software, distributed under the terms of the GNU
-dnl General Public License.  As a special exception to the GNU General
-dnl Public License, this file may be distributed as part of a program
-dnl that contains a configuration script generated by Autoconf, under
-dnl the same distribution terms as the rest of that program.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl   Ulrich Drepper <drepper@cygnus.com>, 1995.
-
-# Check whether LC_MESSAGES is available in <locale.h>.
-
-AC_DEFUN([AM_LC_MESSAGES],
-  [if test $ac_cv_header_locale_h = yes; then
-    AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
-      [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
-       am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
-    if test $am_cv_val_LC_MESSAGES = yes; then
-      AC_DEFINE(HAVE_LC_MESSAGES, 1,
-        [Define if your <locale.h> file defines LC_MESSAGES.])
-    fi
-  fi])
diff --git a/m4/nls.m4 b/m4/nls.m4
deleted file mode 100644
index 7967cc2..0000000
--- a/m4/nls.m4
+++ /dev/null
@@ -1,31 +0,0 @@
-# nls.m4 serial 3 (gettext-0.15)
-dnl Copyright (C) 1995-2003, 2005-2006 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
-
-AC_PREREQ(2.50)
-
-AC_DEFUN([AM_NLS],
-[
-  AC_MSG_CHECKING([whether NLS is requested])
-  dnl Default is enabled NLS
-  AC_ARG_ENABLE(nls,
-    [  --disable-nls           do not use Native Language Support],
-    USE_NLS=$enableval, USE_NLS=yes)
-  AC_MSG_RESULT($USE_NLS)
-  AC_SUBST(USE_NLS)
-])
diff --git a/m4/po.m4 b/m4/po.m4
deleted file mode 100644
index f395723..0000000
--- a/m4/po.m4
+++ /dev/null
@@ -1,452 +0,0 @@
-# po.m4 serial 20 (gettext-0.18.2)
-dnl Copyright (C) 1995-2013 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl   Ulrich Drepper <drepper@cygnus.com>, 1995-2000.
-dnl   Bruno Haible <haible@clisp.cons.org>, 2000-2003.
-
-AC_PREREQ([2.60])
-
-dnl Checks for all prerequisites of the po subdirectory.
-AC_DEFUN([AM_PO_SUBDIRS],
-[
-  AC_REQUIRE([AC_PROG_MAKE_SET])dnl
-  AC_REQUIRE([AC_PROG_INSTALL])dnl
-  AC_REQUIRE([AC_PROG_MKDIR_P])dnl
-  AC_REQUIRE([AM_NLS])dnl
-
-  dnl Release version of the gettext macros. This is used to ensure that
-  dnl the gettext macros and po/Makefile.in.in are in sync.
-  AC_SUBST([GETTEXT_MACRO_VERSION], [0.18])
-
-  dnl Perform the following tests also if --disable-nls has been given,
-  dnl because they are needed for "make dist" to work.
-
-  dnl Search for GNU msgfmt in the PATH.
-  dnl The first test excludes Solaris msgfmt and early GNU msgfmt versions.
-  dnl The second test excludes FreeBSD msgfmt.
-  AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
-    [$ac_dir/$ac_word --statistics /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
-     (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
-    :)
-  AC_PATH_PROG([GMSGFMT], [gmsgfmt], [$MSGFMT])
-
-  dnl Test whether it is GNU msgfmt >= 0.15.
-changequote(,)dnl
-  case `$MSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
-    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) MSGFMT_015=: ;;
-    *) MSGFMT_015=$MSGFMT ;;
-  esac
-changequote([,])dnl
-  AC_SUBST([MSGFMT_015])
-changequote(,)dnl
-  case `$GMSGFMT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
-    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) GMSGFMT_015=: ;;
-    *) GMSGFMT_015=$GMSGFMT ;;
-  esac
-changequote([,])dnl
-  AC_SUBST([GMSGFMT_015])
-
-  dnl Search for GNU xgettext 0.12 or newer in the PATH.
-  dnl The first test excludes Solaris xgettext and early GNU xgettext versions.
-  dnl The second test excludes FreeBSD xgettext.
-  AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
-    [$ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1 &&
-     (if $ac_dir/$ac_word --omit-header --copyright-holder= --msgid-bugs-address= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)],
-    :)
-  dnl Remove leftover from FreeBSD xgettext call.
-  rm -f messages.po
-
-  dnl Test whether it is GNU xgettext >= 0.15.
-changequote(,)dnl
-  case `$XGETTEXT --version | sed 1q | sed -e 's,^[^0-9]*,,'` in
-    '' | 0.[0-9] | 0.[0-9].* | 0.1[0-4] | 0.1[0-4].*) XGETTEXT_015=: ;;
-    *) XGETTEXT_015=$XGETTEXT ;;
-  esac
-changequote([,])dnl
-  AC_SUBST([XGETTEXT_015])
-
-  dnl Search for GNU msgmerge 0.11 or newer in the PATH.
-  AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,
-    [$ac_dir/$ac_word --update -q /dev/null /dev/null >&]AS_MESSAGE_LOG_FD[ 2>&1], :)
-
-  dnl Installation directories.
-  dnl Autoconf >= 2.60 defines localedir. For older versions of autoconf, we
-  dnl have to define it here, so that it can be used in po/Makefile.
-  test -n "$localedir" || localedir='${datadir}/locale'
-  AC_SUBST([localedir])
-
-  dnl Support for AM_XGETTEXT_OPTION.
-  test -n "${XGETTEXT_EXTRA_OPTIONS+set}" || XGETTEXT_EXTRA_OPTIONS=
-  AC_SUBST([XGETTEXT_EXTRA_OPTIONS])
-
-  AC_CONFIG_COMMANDS([po-directories], [[
-    for ac_file in $CONFIG_FILES; do
-      # Support "outfile[:infile[:infile...]]"
-      case "$ac_file" in
-        *:*) ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
-      esac
-      # PO directories have a Makefile.in generated from Makefile.in.in.
-      case "$ac_file" in */Makefile.in)
-        # Adjust a relative srcdir.
-        ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
-        ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
-        ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
-        # In autoconf-2.13 it is called $ac_given_srcdir.
-        # In autoconf-2.50 it is called $srcdir.
-        test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
-        case "$ac_given_srcdir" in
-          .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
-          /*) top_srcdir="$ac_given_srcdir" ;;
-          *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
-        esac
-        # Treat a directory as a PO directory if and only if it has a
-        # POTFILES.in file. This allows packages to have multiple PO
-        # directories under different names or in different locations.
-        if test -f "$ac_given_srcdir/$ac_dir/POTFILES.in"; then
-          rm -f "$ac_dir/POTFILES"
-          test -n "$as_me" && echo "$as_me: creating $ac_dir/POTFILES" || echo "creating $ac_dir/POTFILES"
-          gt_tab=`printf '\t'`
-          cat "$ac_given_srcdir/$ac_dir/POTFILES.in" | sed -e "/^#/d" -e "/^[ ${gt_tab}]*\$/d" -e "s,.*,     $top_srcdir/& \\\\," | sed -e "\$s/\(.*\) \\\\/\1/" > "$ac_dir/POTFILES"
-          POMAKEFILEDEPS="POTFILES.in"
-          # ALL_LINGUAS, POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES depend
-          # on $ac_dir but don't depend on user-specified configuration
-          # parameters.
-          if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
-            # The LINGUAS file contains the set of available languages.
-            if test -n "$OBSOLETE_ALL_LINGUAS"; then
-              test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
-            fi
-            ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
-            # Hide the ALL_LINGUAS assignment from automake < 1.5.
-            eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
-            POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
-          else
-            # The set of available languages was given in configure.in.
-            # Hide the ALL_LINGUAS assignment from automake < 1.5.
-            eval 'ALL_LINGUAS''=$OBSOLETE_ALL_LINGUAS'
-          fi
-          # Compute POFILES
-          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
-          # Compute UPDATEPOFILES
-          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
-          # Compute DUMMYPOFILES
-          # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
-          # Compute GMOFILES
-          # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
-          case "$ac_given_srcdir" in
-            .) srcdirpre= ;;
-            *) srcdirpre='$(srcdir)/' ;;
-          esac
-          POFILES=
-          UPDATEPOFILES=
-          DUMMYPOFILES=
-          GMOFILES=
-          for lang in $ALL_LINGUAS; do
-            POFILES="$POFILES $srcdirpre$lang.po"
-            UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
-            DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
-            GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
-          done
-          # CATALOGS depends on both $ac_dir and the user's LINGUAS
-          # environment variable.
-          INST_LINGUAS=
-          if test -n "$ALL_LINGUAS"; then
-            for presentlang in $ALL_LINGUAS; do
-              useit=no
-              if test "%UNSET%" != "$LINGUAS"; then
-                desiredlanguages="$LINGUAS"
-              else
-                desiredlanguages="$ALL_LINGUAS"
-              fi
-              for desiredlang in $desiredlanguages; do
-                # Use the presentlang catalog if desiredlang is
-                #   a. equal to presentlang, or
-                #   b. a variant of presentlang (because in this case,
-                #      presentlang can be used as a fallback for messages
-                #      which are not translated in the desiredlang catalog).
-                case "$desiredlang" in
-                  "$presentlang"*) useit=yes;;
-                esac
-              done
-              if test $useit = yes; then
-                INST_LINGUAS="$INST_LINGUAS $presentlang"
-              fi
-            done
-          fi
-          CATALOGS=
-          if test -n "$INST_LINGUAS"; then
-            for lang in $INST_LINGUAS; do
-              CATALOGS="$CATALOGS $lang.gmo"
-            done
-          fi
-          test -n "$as_me" && echo "$as_me: creating $ac_dir/Makefile" || echo "creating $ac_dir/Makefile"
-          sed -e "/^POTFILES =/r $ac_dir/POTFILES" -e "/^# Makevars/r $ac_given_srcdir/$ac_dir/Makevars" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@POMAKEFILEDEPS@|$POMAKEFILEDEPS|g" "$ac_dir/Makefile.in" > "$ac_dir/Makefile"
-          for f in "$ac_given_srcdir/$ac_dir"/Rules-*; do
-            if test -f "$f"; then
-              case "$f" in
-                *.orig | *.bak | *~) ;;
-                *) cat "$f" >> "$ac_dir/Makefile" ;;
-              esac
-            fi
-          done
-        fi
-        ;;
-      esac
-    done]],
-   [# Capture the value of obsolete ALL_LINGUAS because we need it to compute
-    # POFILES, UPDATEPOFILES, DUMMYPOFILES, GMOFILES, CATALOGS. But hide it
-    # from automake < 1.5.
-    eval 'OBSOLETE_ALL_LINGUAS''="$ALL_LINGUAS"'
-    # Capture the value of LINGUAS because we need it to compute CATALOGS.
-    LINGUAS="${LINGUAS-%UNSET%}"
-   ])
-])
-
-dnl Postprocesses a Makefile in a directory containing PO files.
-AC_DEFUN([AM_POSTPROCESS_PO_MAKEFILE],
-[
-  # When this code is run, in config.status, two variables have already been
-  # set:
-  # - OBSOLETE_ALL_LINGUAS is the value of LINGUAS set in configure.in,
-  # - LINGUAS is the value of the environment variable LINGUAS at configure
-  #   time.
-
-changequote(,)dnl
-  # Adjust a relative srcdir.
-  ac_dir=`echo "$ac_file"|sed 's%/[^/][^/]*$%%'`
-  ac_dir_suffix=/`echo "$ac_dir"|sed 's%^\./%%'`
-  ac_dots=`echo "$ac_dir_suffix"|sed 's%/[^/]*%../%g'`
-  # In autoconf-2.13 it is called $ac_given_srcdir.
-  # In autoconf-2.50 it is called $srcdir.
-  test -n "$ac_given_srcdir" || ac_given_srcdir="$srcdir"
-  case "$ac_given_srcdir" in
-    .)  top_srcdir=`echo $ac_dots|sed 's%/$%%'` ;;
-    /*) top_srcdir="$ac_given_srcdir" ;;
-    *)  top_srcdir="$ac_dots$ac_given_srcdir" ;;
-  esac
-
-  # Find a way to echo strings without interpreting backslash.
-  if test "X`(echo '\t') 2>/dev/null`" = 'X\t'; then
-    gt_echo='echo'
-  else
-    if test "X`(printf '%s\n' '\t') 2>/dev/null`" = 'X\t'; then
-      gt_echo='printf %s\n'
-    else
-      echo_func () {
-        cat <<EOT
-$*
-EOT
-      }
-      gt_echo='echo_func'
-    fi
-  fi
-
-  # A sed script that extracts the value of VARIABLE from a Makefile.
-  tab=`printf '\t'`
-  sed_x_variable='
-# Test if the hold space is empty.
-x
-s/P/P/
-x
-ta
-# Yes it was empty. Look if we have the expected variable definition.
-/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=/{
-  # Seen the first line of the variable definition.
-  s/^['"${tab}"' ]*VARIABLE['"${tab}"' ]*=//
-  ba
-}
-bd
-:a
-# Here we are processing a line from the variable definition.
-# Remove comment, more precisely replace it with a space.
-s/#.*$/ /
-# See if the line ends in a backslash.
-tb
-:b
-s/\\$//
-# Print the line, without the trailing backslash.
-p
-tc
-# There was no trailing backslash. The end of the variable definition is
-# reached. Clear the hold space.
-s/^.*$//
-x
-bd
-:c
-# A trailing backslash means that the variable definition continues in the
-# next line. Put a nonempty string into the hold space to indicate this.
-s/^.*$/P/
-x
-:d
-'
-changequote([,])dnl
-
-  # Set POTFILES to the value of the Makefile variable POTFILES.
-  sed_x_POTFILES=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/POTFILES/g'`
-  POTFILES=`sed -n -e "$sed_x_POTFILES" < "$ac_file"`
-  # Compute POTFILES_DEPS as
-  #   $(foreach file, $(POTFILES), $(top_srcdir)/$(file))
-  POTFILES_DEPS=
-  for file in $POTFILES; do
-    POTFILES_DEPS="$POTFILES_DEPS "'$(top_srcdir)/'"$file"
-  done
-  POMAKEFILEDEPS=""
-
-  if test -n "$OBSOLETE_ALL_LINGUAS"; then
-    test -n "$as_me" && echo "$as_me: setting ALL_LINGUAS in configure.in is obsolete" || echo "setting ALL_LINGUAS in configure.in is obsolete"
-  fi
-  if test -f "$ac_given_srcdir/$ac_dir/LINGUAS"; then
-    # The LINGUAS file contains the set of available languages.
-    ALL_LINGUAS_=`sed -e "/^#/d" -e "s/#.*//" "$ac_given_srcdir/$ac_dir/LINGUAS"`
-    POMAKEFILEDEPS="$POMAKEFILEDEPS LINGUAS"
-  else
-    # Set ALL_LINGUAS to the value of the Makefile variable LINGUAS.
-    sed_x_LINGUAS=`$gt_echo "$sed_x_variable" | sed -e '/^ *#/d' -e 's/VARIABLE/LINGUAS/g'`
-    ALL_LINGUAS_=`sed -n -e "$sed_x_LINGUAS" < "$ac_file"`
-  fi
-  # Hide the ALL_LINGUAS assignment from automake < 1.5.
-  eval 'ALL_LINGUAS''=$ALL_LINGUAS_'
-  # Compute POFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).po)
-  # Compute UPDATEPOFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(lang).po-update)
-  # Compute DUMMYPOFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(lang).nop)
-  # Compute GMOFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).gmo)
-  # Compute PROPERTIESFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).properties)
-  # Compute CLASSFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(top_srcdir)/$(DOMAIN)_$(lang).class)
-  # Compute QMFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(lang).qm)
-  # Compute MSGFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang)).msg)
-  # Compute RESOURCESDLLFILES
-  # as      $(foreach lang, $(ALL_LINGUAS), $(srcdir)/$(frob $(lang))/$(DOMAIN).resources.dll)
-  case "$ac_given_srcdir" in
-    .) srcdirpre= ;;
-    *) srcdirpre='$(srcdir)/' ;;
-  esac
-  POFILES=
-  UPDATEPOFILES=
-  DUMMYPOFILES=
-  GMOFILES=
-  PROPERTIESFILES=
-  CLASSFILES=
-  QMFILES=
-  MSGFILES=
-  RESOURCESDLLFILES=
-  for lang in $ALL_LINGUAS; do
-    POFILES="$POFILES $srcdirpre$lang.po"
-    UPDATEPOFILES="$UPDATEPOFILES $lang.po-update"
-    DUMMYPOFILES="$DUMMYPOFILES $lang.nop"
-    GMOFILES="$GMOFILES $srcdirpre$lang.gmo"
-    PROPERTIESFILES="$PROPERTIESFILES \$(top_srcdir)/\$(DOMAIN)_$lang.properties"
-    CLASSFILES="$CLASSFILES \$(top_srcdir)/\$(DOMAIN)_$lang.class"
-    QMFILES="$QMFILES $srcdirpre$lang.qm"
-    frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
-    MSGFILES="$MSGFILES $srcdirpre$frobbedlang.msg"
-    frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
-    RESOURCESDLLFILES="$RESOURCESDLLFILES $srcdirpre$frobbedlang/\$(DOMAIN).resources.dll"
-  done
-  # CATALOGS depends on both $ac_dir and the user's LINGUAS
-  # environment variable.
-  INST_LINGUAS=
-  if test -n "$ALL_LINGUAS"; then
-    for presentlang in $ALL_LINGUAS; do
-      useit=no
-      if test "%UNSET%" != "$LINGUAS"; then
-        desiredlanguages="$LINGUAS"
-      else
-        desiredlanguages="$ALL_LINGUAS"
-      fi
-      for desiredlang in $desiredlanguages; do
-        # Use the presentlang catalog if desiredlang is
-        #   a. equal to presentlang, or
-        #   b. a variant of presentlang (because in this case,
-        #      presentlang can be used as a fallback for messages
-        #      which are not translated in the desiredlang catalog).
-        case "$desiredlang" in
-          "$presentlang"*) useit=yes;;
-        esac
-      done
-      if test $useit = yes; then
-        INST_LINGUAS="$INST_LINGUAS $presentlang"
-      fi
-    done
-  fi
-  CATALOGS=
-  JAVACATALOGS=
-  QTCATALOGS=
-  TCLCATALOGS=
-  CSHARPCATALOGS=
-  if test -n "$INST_LINGUAS"; then
-    for lang in $INST_LINGUAS; do
-      CATALOGS="$CATALOGS $lang.gmo"
-      JAVACATALOGS="$JAVACATALOGS \$(DOMAIN)_$lang.properties"
-      QTCATALOGS="$QTCATALOGS $lang.qm"
-      frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
-      TCLCATALOGS="$TCLCATALOGS $frobbedlang.msg"
-      frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
-      CSHARPCATALOGS="$CSHARPCATALOGS $frobbedlang/\$(DOMAIN).resources.dll"
-    done
-  fi
-
-  sed -e "s|@POTFILES_DEPS@|$POTFILES_DEPS|g" -e "s|@POFILES@|$POFILES|g" -e "s|@UPDATEPOFILES@|$UPDATEPOFILES|g" -e "s|@DUMMYPOFILES@|$DUMMYPOFILES|g" -e "s|@GMOFILES@|$GMOFILES|g" -e "s|@PROPERTIESFILES@|$PROPERTIESFILES|g" -e "s|@CLASSFILES@|$CLASSFILES|g" -e "s|@QMFILES@|$QMFILES|g" -e "s|@MSGFILES@|$MSGFILES|g" -e "s|@RESOURCESDLLFILES@|$RESOURCESDLLFILES|g" -e "s|@CATALOGS@|$CATALOGS|g" -e "s|@JAVACATALOGS@|$JAVACATALOGS|g" -e "s|@QTCATALOGS@|$QTCATALOGS|g" -e "s|@TCLCATALOGS@|$TCLCATALOGS|g" -e "s|@CSHARPCATALOGS@|$CSHARPCATALOGS|g" -e 's,^#distdir:,distdir:,' < "$ac_file" > "$ac_file.tmp"
-  tab=`printf '\t'`
-  if grep -l '@TCLCATALOGS@' "$ac_file" > /dev/null; then
-    # Add dependencies that cannot be formulated as a simple suffix rule.
-    for lang in $ALL_LINGUAS; do
-      frobbedlang=`echo $lang | sed -e 's/\..*$//' -e 'y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/'`
-      cat >> "$ac_file.tmp" <<EOF
-$frobbedlang.msg: $lang.po
-${tab}@echo "\$(MSGFMT) -c --tcl -d \$(srcdir) -l $lang $srcdirpre$lang.po"; \
-${tab}\$(MSGFMT) -c --tcl -d "\$(srcdir)" -l $lang $srcdirpre$lang.po || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
-EOF
-    done
-  fi
-  if grep -l '@CSHARPCATALOGS@' "$ac_file" > /dev/null; then
-    # Add dependencies that cannot be formulated as a simple suffix rule.
-    for lang in $ALL_LINGUAS; do
-      frobbedlang=`echo $lang | sed -e 's/_/-/g' -e 's/^sr-CS/sr-SP/' -e 's/@latin$/-Latn/' -e 's/@cyrillic$/-Cyrl/' -e 's/^sr-SP$/sr-SP-Latn/' -e 's/^uz-UZ$/uz-UZ-Latn/'`
-      cat >> "$ac_file.tmp" <<EOF
-$frobbedlang/\$(DOMAIN).resources.dll: $lang.po
-${tab}@echo "\$(MSGFMT) -c --csharp -d \$(srcdir) -l $lang $srcdirpre$lang.po -r \$(DOMAIN)"; \
-${tab}\$(MSGFMT) -c --csharp -d "\$(srcdir)" -l $lang $srcdirpre$lang.po -r "\$(DOMAIN)" || { rm -f "\$(srcdir)/$frobbedlang.msg"; exit 1; }
-EOF
-    done
-  fi
-  if test -n "$POMAKEFILEDEPS"; then
-    cat >> "$ac_file.tmp" <<EOF
-Makefile: $POMAKEFILEDEPS
-EOF
-  fi
-  mv "$ac_file.tmp" "$ac_file"
-])
-
-dnl Initializes the accumulator used by AM_XGETTEXT_OPTION.
-AC_DEFUN([AM_XGETTEXT_OPTION_INIT],
-[
-  XGETTEXT_EXTRA_OPTIONS=
-])
-
-dnl Registers an option to be passed to xgettext in the po subdirectory.
-AC_DEFUN([AM_XGETTEXT_OPTION],
-[
-  AC_REQUIRE([AM_XGETTEXT_OPTION_INIT])
-  XGETTEXT_EXTRA_OPTIONS="$XGETTEXT_EXTRA_OPTIONS $1"
-])
diff --git a/m4/progtest.m4 b/m4/progtest.m4
deleted file mode 100644
index a56365c..0000000
--- a/m4/progtest.m4
+++ /dev/null
@@ -1,92 +0,0 @@
-# progtest.m4 serial 4 (gettext-0.14.2)
-dnl Copyright (C) 1996-2003, 2005 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-dnl
-dnl This file can can be used in projects which are not available under
-dnl the GNU General Public License or the GNU Library General Public
-dnl License but which still want to provide support for the GNU gettext
-dnl functionality.
-dnl Please note that the actual code of the GNU gettext library is covered
-dnl by the GNU Library General Public License, and the rest of the GNU
-dnl gettext package package is covered by the GNU General Public License.
-dnl They are *not* in the public domain.
-
-dnl Authors:
-dnl   Ulrich Drepper <drepper@cygnus.com>, 1996.
-
-AC_PREREQ(2.50)
-
-# Search path for a program which passes the given test.
-
-dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
-dnl   TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
-AC_DEFUN([AM_PATH_PROG_WITH_TEST],
-[
-# Prepare PATH_SEPARATOR.
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  echo "#! /bin/sh" >conf$$.sh
-  echo  "exit 0"   >>conf$$.sh
-  chmod +x conf$$.sh
-  if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
-    PATH_SEPARATOR=';'
-  else
-    PATH_SEPARATOR=:
-  fi
-  rm -f conf$$.sh
-fi
-
-# Find out how to test for executable files. Don't use a zero-byte file,
-# as systems may use methods other than mode bits to determine executability.
-cat >conf$$.file <<_ASEOF
-#! /bin/sh
-exit 0
-_ASEOF
-chmod +x conf$$.file
-if test -x conf$$.file >/dev/null 2>&1; then
-  ac_executable_p="test -x"
-else
-  ac_executable_p="test -f"
-fi
-rm -f conf$$.file
-
-# Extract the first word of "$2", so it can be a program name with args.
-set dummy $2; ac_word=[$]2
-AC_MSG_CHECKING([for $ac_word])
-AC_CACHE_VAL(ac_cv_path_$1,
-[case "[$]$1" in
-  [[\\/]]* | ?:[[\\/]]*)
-    ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
-    ;;
-  *)
-    ac_save_IFS="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in ifelse([$5], , $PATH, [$5]); do
-      IFS="$ac_save_IFS"
-      test -z "$ac_dir" && ac_dir=.
-      for ac_exec_ext in '' $ac_executable_extensions; do
-        if $ac_executable_p "$ac_dir/$ac_word$ac_exec_ext"; then
-          echo "$as_me: trying $ac_dir/$ac_word..." >&AS_MESSAGE_LOG_FD
-          if [$3]; then
-            ac_cv_path_$1="$ac_dir/$ac_word$ac_exec_ext"
-            break 2
-          fi
-        fi
-      done
-    done
-    IFS="$ac_save_IFS"
-dnl If no 4th arg is given, leave the cache variable unset,
-dnl so AC_PATH_PROGS will keep looking.
-ifelse([$4], , , [  test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
-])dnl
-    ;;
-esac])dnl
-$1="$ac_cv_path_$1"
-if test ifelse([$4], , [-n "[$]$1"], ["[$]$1" != "$4"]); then
-  AC_MSG_RESULT([$]$1)
-else
-  AC_MSG_RESULT(no)
-fi
-AC_SUBST($1)dnl
-])
diff --git a/po/.gitignore b/po/.gitignore
new file mode 100644
index 0000000..67b1779
--- /dev/null
+++ b/po/.gitignore
@@ -0,0 +1,18 @@
+/*.gmo
+/*.pot
+/Makefile.in.in
+/Makevars.template
+/POTFILES
+/Rules-quot
+/boldquot.sed
+/en@boldquot.header
+/en@boldquot.insert-header
+/en@boldquot.po
+/en@quot.header
+/en@quot.insert-header
+/en@quot.po
+/insert-header.sin
+/quot.sed
+/remove-potcdate.sed
+/remove-potcdate.sin
+/stamp-po
diff --git a/po/ChangeLog b/po/ChangeLog
index 884b166..740ca87 100644
--- a/po/ChangeLog
+++ b/po/ChangeLog
@@ -1,3 +1,38 @@
+2021-02-05  Mark Wielaard  <mark@klomp.org>
+
+	* *.po: Update for 0.183.
+
+2020-12-15  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* Makevars: Sync with Makevars.template.
+	* .gitignore: New file.
+
+	* fr.po: Remove empty translation file.
+	* it.po: Likewise.
+	* nl.po: Likewise.
+	* ru.po: Likewise.
+	* zh_CN.po: Likewise.
+
+2020-12-12  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* *.po (msgid): Fix spelling typos.
+
+2020-10-31  Mark Wielaard  <mark@klomp.org>
+
+	* *.po: Update for 0.182.
+
+2020-09-08  Mark Wielaard  <mark@klomp.org>
+
+	* *.po: Update for 0.181.
+
+2020-06-11  Mark Wielaard  <mark@klomp.org>
+
+	* *.po: Update for 0.180.
+
+2020-03-30  Mark Wielaard  <mark@klomp.org>
+
+	* *.po: Update for 0.179.
+
 2019-11-26  Mark Wielaard  <mark@klomp.org>
 
 	* *.po: Update for 0.178.
diff --git a/po/Makefile.in.in b/po/Makefile.in.in
deleted file mode 100644
index fce63a6..0000000
--- a/po/Makefile.in.in
+++ /dev/null
@@ -1,453 +0,0 @@
-# Makefile for PO directory in any package using GNU gettext.
-# Copyright (C) 1995-1997, 2000-2007, 2009-2010 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
-#
-# This file can be copied and used freely without restrictions.  It can
-# be used in projects which are not available under the GNU General Public
-# License but which still want to provide support for the GNU gettext
-# functionality.
-# Please note that the actual code of GNU gettext is covered by the GNU
-# General Public License and is *not* in the public domain.
-#
-# Origin: gettext-0.18.2
-GETTEXT_MACRO_VERSION = 0.18
-
-PACKAGE = @PACKAGE@
-VERSION = @VERSION@
-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
-
-SHELL = /bin/sh
-@SET_MAKE@
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-VPATH = @srcdir@
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-datarootdir = @datarootdir@
-datadir = @datadir@
-localedir = @localedir@
-gettextsrcdir = $(datadir)/gettext/po
-
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-
-# We use $(mkdir_p).
-# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as
-# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions,
-# @install_sh@ does not start with $(SHELL), so we add it.
-# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined
-# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake
-# versions, $(mkinstalldirs) and $(install_sh) are unused.
-mkinstalldirs = $(SHELL) @install_sh@ -d
-install_sh = $(SHELL) @install_sh@
-MKDIR_P = @MKDIR_P@
-mkdir_p = @mkdir_p@
-
-GMSGFMT_ = @GMSGFMT@
-GMSGFMT_no = @GMSGFMT@
-GMSGFMT_yes = @GMSGFMT_015@
-GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT))
-MSGFMT_ = @MSGFMT@
-MSGFMT_no = @MSGFMT@
-MSGFMT_yes = @MSGFMT_015@
-MSGFMT = $(MSGFMT_$(USE_MSGCTXT))
-XGETTEXT_ = @XGETTEXT@
-XGETTEXT_no = @XGETTEXT@
-XGETTEXT_yes = @XGETTEXT_015@
-XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT))
-MSGMERGE = msgmerge
-MSGMERGE_UPDATE = @MSGMERGE@ --update
-MSGINIT = msginit
-MSGCONV = msgconv
-MSGFILTER = msgfilter
-
-POFILES = @POFILES@
-GMOFILES = @GMOFILES@
-UPDATEPOFILES = @UPDATEPOFILES@
-DUMMYPOFILES = @DUMMYPOFILES@
-DISTFILES.common = Makefile.in.in remove-potcdate.sin \
-$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
-DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \
-$(POFILES) $(GMOFILES) \
-$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
-
-POTFILES = \
-
-CATALOGS = @CATALOGS@
-
-# Makevars gets inserted here. (Don't remove this line!)
-
-.SUFFIXES:
-.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update
-
-.po.mo:
-	@echo "$(MSGFMT) -c -o $@ $<"; \
-	$(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
-
-.po.gmo:
-	@lang=`echo $* | sed -e 's,.*/,,'`; \
-	test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
-	echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o $${lang}.gmo $${lang}.po"; \
-	cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics --verbose -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
-
-.sin.sed:
-	sed -e '/^#/d' $< > t-$@
-	mv t-$@ $@
-
-
-all: all-@USE_NLS@
-
-all-yes: stamp-po
-all-no:
-
-# Ensure that the gettext macros and this Makefile.in.in are in sync.
-CHECK_MACRO_VERSION = \
-	test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \
-	  || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \
-	       exit 1; \
-	     }
-
-# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
-# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
-# we don't want to bother translators with empty POT files). We assume that
-# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.
-# In this case, stamp-po is a nop (i.e. a phony target).
-
-# stamp-po is a timestamp denoting the last time at which the CATALOGS have
-# been loosely updated. Its purpose is that when a developer or translator
-# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
-# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent
-# invocations of "make" will do nothing. This timestamp would not be necessary
-# if updating the $(CATALOGS) would always touch them; however, the rule for
-# $(POFILES) has been designed to not touch files that don't need to be
-# changed.
-stamp-po: $(srcdir)/$(DOMAIN).pot
-	@$(CHECK_MACRO_VERSION)
-	test ! -f $(srcdir)/$(DOMAIN).pot || \
-	  test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
-	@test ! -f $(srcdir)/$(DOMAIN).pot || { \
-	  echo "touch stamp-po" && \
-	  echo timestamp > stamp-poT && \
-	  mv stamp-poT stamp-po; \
-	}
-
-# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
-# otherwise packages like GCC can not be built if only parts of the source
-# have been downloaded.
-
-# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
-# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
-# The determination of whether the package xyz is a GNU one is based on the
-# heuristic whether some file in the top level directory mentions "GNU xyz".
-# If GNU 'find' is available, we avoid grepping through monster files.
-$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
-	if { if (LC_ALL=C find --version) 2>/dev/null | grep GNU >/dev/null; then \
-	       LC_ALL=C find -L $(top_srcdir) -maxdepth 1 -type f -size -10000000c -exec grep 'GNU @PACKAGE@' /dev/null '{}' ';' 2>/dev/null; \
-	     else \
-	       LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null; \
-	     fi; \
-	   } | grep -v 'libtool:' >/dev/null; then \
-	  package_gnu='GNU '; \
-	else \
-	  package_gnu=''; \
-	fi; \
-	if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
-	  msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
-	else \
-	  msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
-	fi; \
-	case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
-	  '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
-	    $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
-	      --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
-	      --files-from=$(srcdir)/POTFILES.in \
-	      --copyright-holder='$(COPYRIGHT_HOLDER)' \
-	      --msgid-bugs-address="$$msgid_bugs_address" \
-	    ;; \
-	  *) \
-	    $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
-	      --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
-	      --files-from=$(srcdir)/POTFILES.in \
-	      --copyright-holder='$(COPYRIGHT_HOLDER)' \
-	      --package-name="$${package_gnu}@PACKAGE@" \
-	      --package-version='@VERSION@' \
-	      --msgid-bugs-address="$$msgid_bugs_address" \
-	    ;; \
-	esac
-	test ! -f $(DOMAIN).po || { \
-	  if test -f $(srcdir)/$(DOMAIN).pot; then \
-	    sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
-	    sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
-	    if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
-	      rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
-	    else \
-	      rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
-	      mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
-	    fi; \
-	  else \
-	    mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
-	  fi; \
-	}
-
-# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
-# every "make" invocation, only create it when it is missing.
-# Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
-$(srcdir)/$(DOMAIN).pot:
-	$(MAKE) $(DOMAIN).pot-update
-
-# This target rebuilds a PO file if $(DOMAIN).pot has changed.
-# Note that a PO file is not touched if it doesn't need to be changed.
-$(POFILES): $(srcdir)/$(DOMAIN).pot
-	@lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
-	if test -f "$(srcdir)/$${lang}.po"; then \
-	  test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
-	  echo "$${cdcmd}$(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot"; \
-	  cd $(srcdir) \
-	    && { case `$(MSGMERGE_UPDATE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
-	           '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
-	             $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) $${lang}.po $(DOMAIN).pot;; \
-	           *) \
-	             $(MSGMERGE_UPDATE) $(MSGMERGE_OPTIONS) --lang=$${lang} $${lang}.po $(DOMAIN).pot;; \
-	         esac; \
-	       }; \
-	else \
-	  $(MAKE) $${lang}.po-create; \
-	fi
-
-
-install: install-exec install-data
-install-exec:
-install-data: install-data-@USE_NLS@
-	if test "$(PACKAGE)" = "gettext-tools"; then \
-	  $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
-	  for file in $(DISTFILES.common) Makevars.template; do \
-	    $(INSTALL_DATA) $(srcdir)/$$file \
-			    $(DESTDIR)$(gettextsrcdir)/$$file; \
-	  done; \
-	  for file in Makevars; do \
-	    rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
-	  done; \
-	else \
-	  : ; \
-	fi
-install-data-no: all
-install-data-yes: all
-	@catalogs='$(CATALOGS)'; \
-	for cat in $$catalogs; do \
-	  cat=`basename $$cat`; \
-	  lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
-	  dir=$(localedir)/$$lang/LC_MESSAGES; \
-	  $(mkdir_p) $(DESTDIR)$$dir; \
-	  if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
-	  $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
-	  echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
-	  for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
-	    if test -n "$$lc"; then \
-	      if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
-	        link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
-	        mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
-	        mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
-	        (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
-	         for file in *; do \
-	           if test -f $$file; then \
-	             ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
-	           fi; \
-	         done); \
-	        rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
-	      else \
-	        if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
-	          :; \
-	        else \
-	          rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
-	          mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
-	        fi; \
-	      fi; \
-	      rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
-	      ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
-	      ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
-	      cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
-	      echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
-	    fi; \
-	  done; \
-	done
-
-install-strip: install
-
-installdirs: installdirs-exec installdirs-data
-installdirs-exec:
-installdirs-data: installdirs-data-@USE_NLS@
-	if test "$(PACKAGE)" = "gettext-tools"; then \
-	  $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
-	else \
-	  : ; \
-	fi
-installdirs-data-no:
-installdirs-data-yes:
-	@catalogs='$(CATALOGS)'; \
-	for cat in $$catalogs; do \
-	  cat=`basename $$cat`; \
-	  lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
-	  dir=$(localedir)/$$lang/LC_MESSAGES; \
-	  $(mkdir_p) $(DESTDIR)$$dir; \
-	  for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
-	    if test -n "$$lc"; then \
-	      if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
-	        link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
-	        mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
-	        mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
-	        (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
-	         for file in *; do \
-	           if test -f $$file; then \
-	             ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
-	           fi; \
-	         done); \
-	        rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
-	      else \
-	        if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
-	          :; \
-	        else \
-	          rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
-	          mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
-	        fi; \
-	      fi; \
-	    fi; \
-	  done; \
-	done
-
-# Define this as empty until I found a useful application.
-installcheck:
-
-uninstall: uninstall-exec uninstall-data
-uninstall-exec:
-uninstall-data: uninstall-data-@USE_NLS@
-	if test "$(PACKAGE)" = "gettext-tools"; then \
-	  for file in $(DISTFILES.common) Makevars.template; do \
-	    rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
-	  done; \
-	else \
-	  : ; \
-	fi
-uninstall-data-no:
-uninstall-data-yes:
-	catalogs='$(CATALOGS)'; \
-	for cat in $$catalogs; do \
-	  cat=`basename $$cat`; \
-	  lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
-	  for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \
-	    rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
-	  done; \
-	done
-
-check: all
-
-info dvi ps pdf html tags TAGS ctags CTAGS ID:
-
-mostlyclean:
-	rm -f remove-potcdate.sed
-	rm -f stamp-poT
-	rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
-	rm -fr *.o
-
-clean: mostlyclean
-
-distclean: clean
-	rm -f Makefile Makefile.in POTFILES *.mo
-
-maintainer-clean: distclean
-	@echo "This command is intended for maintainers to use;"
-	@echo "it deletes files that may require special tools to rebuild."
-	rm -f stamp-po $(GMOFILES)
-
-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-dist distdir:
-	$(MAKE) update-po
-	@$(MAKE) dist2
-# This is a separate target because 'update-po' must be executed before.
-dist2: stamp-po $(DISTFILES)
-	dists="$(DISTFILES)"; \
-	if test "$(PACKAGE)" = "gettext-tools"; then \
-	  dists="$$dists Makevars.template"; \
-	fi; \
-	if test -f $(srcdir)/$(DOMAIN).pot; then \
-	  dists="$$dists $(DOMAIN).pot stamp-po"; \
-	fi; \
-	if test -f $(srcdir)/ChangeLog; then \
-	  dists="$$dists ChangeLog"; \
-	fi; \
-	for i in 0 1 2 3 4 5 6 7 8 9; do \
-	  if test -f $(srcdir)/ChangeLog.$$i; then \
-	    dists="$$dists ChangeLog.$$i"; \
-	  fi; \
-	done; \
-	if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
-	for file in $$dists; do \
-	  if test -f $$file; then \
-	    cp -p $$file $(distdir) || exit 1; \
-	  else \
-	    cp -p $(srcdir)/$$file $(distdir) || exit 1; \
-	  fi; \
-	done
-
-update-po: Makefile
-	$(MAKE) $(DOMAIN).pot-update
-	test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
-	$(MAKE) update-gmo
-
-# General rule for creating PO files.
-
-.nop.po-create:
-	@lang=`echo $@ | sed -e 's/\.po-create$$//'`; \
-	echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \
-	exit 1
-
-# General rule for updating PO files.
-
-.nop.po-update:
-	@lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
-	if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \
-	tmpdir=`pwd`; \
-	echo "$$lang:"; \
-	test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
-	echo "$${cdcmd}$(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
-	cd $(srcdir); \
-	if { case `$(MSGMERGE) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
-	       '' | 0.[0-9] | 0.[0-9].* | 0.1[0-7] | 0.1[0-7].*) \
-	         $(MSGMERGE) $(MSGMERGE_OPTIONS) -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
-	       *) \
-	         $(MSGMERGE) $(MSGMERGE_OPTIONS) --lang=$$lang -o $$tmpdir/$$lang.new.po $$lang.po $(DOMAIN).pot;; \
-	     esac; \
-	   }; then \
-	  if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
-	    rm -f $$tmpdir/$$lang.new.po; \
-	  else \
-	    if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
-	      :; \
-	    else \
-	      echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
-	      exit 1; \
-	    fi; \
-	  fi; \
-	else \
-	  echo "msgmerge for $$lang.po failed!" 1>&2; \
-	  rm -f $$tmpdir/$$lang.new.po; \
-	fi
-
-$(DUMMYPOFILES):
-
-update-gmo: Makefile $(GMOFILES)
-	@:
-
-# Recreate Makefile by invoking config.status. Explicitly invoke the shell,
-# because execution permission bits may not work on the current file system.
-# Use @SHELL@, which is the shell determined by autoconf for the use by its
-# scripts, not $(SHELL) which is hardwired to /bin/sh and may be deficient.
-Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
-	cd $(top_builddir) \
-	  && @SHELL@ ./config.status $(subdir)/$@.in po-directories
-
-force:
-
-# Tell versions [3.59,3.63) of GNU make not to export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/po/Makevars b/po/Makevars
index 0afcf4e..086de58 100644
--- a/po/Makevars
+++ b/po/Makevars
@@ -41,3 +41,27 @@
 # This is the list of locale categories, beyond LC_MESSAGES, for which the
 # message catalogs shall be used.  It is usually empty.
 EXTRA_LOCALE_CATEGORIES =
+
+# This tells whether the $(DOMAIN).pot file contains messages with an 'msgctxt'
+# context.  Possible values are "yes" and "no".  Set this to yes if the
+# package uses functions taking also a message context, like pgettext(), or
+# if in $(XGETTEXT_OPTIONS) you define keywords with a context argument.
+USE_MSGCTXT = no
+
+# These options get passed to msgmerge.
+# Useful options are in particular:
+#   --previous            to keep previous msgids of translated messages,
+#   --quiet               to reduce the verbosity.
+MSGMERGE_OPTIONS =
+
+# This tells whether or not to regenerate a PO file when $(DOMAIN).pot
+# has changed.  Possible values are "yes" and "no".  Set this to no if
+# the POT file is checked in the repository and the version control
+# program ignores timestamps.
+PO_DEPENDS_ON_POT = yes
+
+# This tells whether or not to forcibly update $(DOMAIN).pot and
+# regenerate PO files on "make dist".  Possible values are "yes" and
+# "no".  Set this to no if the POT file and PO files are maintained
+# externally.
+DIST_DEPENDS_ON_UPDATE_PO = yes
diff --git a/po/Rules-quot b/po/Rules-quot
deleted file mode 100644
index 9c2a995..0000000
--- a/po/Rules-quot
+++ /dev/null
@@ -1,47 +0,0 @@
-# Special Makefile rules for English message catalogs with quotation marks.
-
-DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot
-
-.SUFFIXES: .insert-header .po-update-en
-
-en@quot.po-create:
-	$(MAKE) en@quot.po-update
-en@boldquot.po-create:
-	$(MAKE) en@boldquot.po-update
-
-en@quot.po-update: en@quot.po-update-en
-en@boldquot.po-update: en@boldquot.po-update-en
-
-.insert-header.po-update-en:
-	@lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \
-	if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
-	tmpdir=`pwd`; \
-	echo "$$lang:"; \
-	ll=`echo $$lang | sed -e 's/@.*//'`; \
-	LC_ALL=C; export LC_ALL; \
-	cd $(srcdir); \
-	if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \
-	  if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
-	    rm -f $$tmpdir/$$lang.new.po; \
-	  else \
-	    if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
-	      :; \
-	    else \
-	      echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
-	      exit 1; \
-	    fi; \
-	  fi; \
-	else \
-	  echo "creation of $$lang.po failed!" 1>&2; \
-	  rm -f $$tmpdir/$$lang.new.po; \
-	fi
-
-en@quot.insert-header: insert-header.sin
-	sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header
-
-en@boldquot.insert-header: insert-header.sin
-	sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header
-
-mostlyclean: mostlyclean-quot
-mostlyclean-quot:
-	rm -f *.insert-header
diff --git a/po/boldquot.sed b/po/boldquot.sed
deleted file mode 100644
index 4b937aa..0000000
--- a/po/boldquot.sed
+++ /dev/null
@@ -1,10 +0,0 @@
-s/"\([^"]*\)"/“\1”/g
-s/`\([^`']*\)'/‘\1’/g
-s/ '\([^`']*\)' / ‘\1’ /g
-s/ '\([^`']*\)'$/ ‘\1’/g
-s/^'\([^`']*\)' /‘\1’ /g
-s/“”/""/g
-s/“/“[1m/g
-s/”/[0m”/g
-s/‘/‘[1m/g
-s/’/[0m’/g
diff --git a/po/de.po b/po/de.po
index a9b6897..5090413 100644
--- a/po/de.po
+++ b/po/de.po
@@ -11,7 +11,7 @@
 msgstr ""
 "Project-Id-Version: elfutils VERSION\n"
 "Report-Msgid-Bugs-To: https://sourceware.org/bugzilla/\n"
-"POT-Creation-Date: 2019-11-26 09:48+0100\n"
+"POT-Creation-Date: 2021-02-05 21:10+0100\n"
 "PO-Revision-Date: 2009-06-29 15:15+0200\n"
 "Last-Translator: Michael Münch <micm@fedoraproject.org>\n"
 "Language-Team: German\n"
@@ -54,8 +54,8 @@
 "GARANTIE,\n"
 "auch nicht für Marktgängigkeit oder Eignung für einen Bestimmten Zweck.\n"
 
-#: lib/xmalloc.c:52 lib/xmalloc.c:65 lib/xmalloc.c:77 src/readelf.c:3449
-#: src/readelf.c:11398 src/unstrip.c:2393 src/unstrip.c:2599
+#: lib/xmalloc.c:48 lib/xmalloc.c:61 lib/xmalloc.c:73 src/readelf.c:3453
+#: src/readelf.c:11501 src/unstrip.c:312 src/unstrip.c:2398 src/unstrip.c:2603
 #, c-format
 msgid "memory exhausted"
 msgstr "Kein Speicher mehr verfügbar"
@@ -218,7 +218,7 @@
 msgid "invalid directory index"
 msgstr "ungültiger Verzeichnisindex"
 
-#: libdw/dwarf_error.c:87 libdwfl/libdwflP.h:72
+#: libdw/dwarf_error.c:87 libdwfl/libdwflP.h:73
 msgid "address out of range"
 msgstr "Außerhalb des Adressbereiches"
 
@@ -249,7 +249,7 @@
 msgid "invalid address range index"
 msgstr "Ungültiger Adressbereichs Index"
 
-#: libdw/dwarf_error.c:94 libdwfl/libdwflP.h:73
+#: libdw/dwarf_error.c:94 libdwfl/libdwflP.h:74
 msgid "no matching address range"
 msgstr "Kein passender Adressbereich"
 
@@ -298,68 +298,68 @@
 msgid ".debug_addr section missing"
 msgstr ".debug_line Sektion fehlt"
 
-#: libdwfl/argp-std.c:50 src/stack.c:638 src/unstrip.c:2540
+#: libdwfl/argp-std.c:47 src/stack.c:643 src/unstrip.c:2544
 msgid "Input selection options:"
 msgstr "Eingabeauswahloptionen:"
 
-#: libdwfl/argp-std.c:51
+#: libdwfl/argp-std.c:48
 msgid "Find addresses in FILE"
 msgstr "Finde Adressen in FILE"
 
-#: libdwfl/argp-std.c:53
+#: libdwfl/argp-std.c:50
 msgid "Find addresses from signatures found in COREFILE"
 msgstr "Finde Adressen von Signatur aus COREFILE"
 
-#: libdwfl/argp-std.c:55
+#: libdwfl/argp-std.c:52
 msgid "Find addresses in files mapped into process PID"
 msgstr ""
 
-#: libdwfl/argp-std.c:57
+#: libdwfl/argp-std.c:54
 msgid ""
 "Find addresses in files mapped as read from FILE in Linux /proc/PID/maps "
 "format"
 msgstr ""
 
-#: libdwfl/argp-std.c:59
+#: libdwfl/argp-std.c:56
 msgid "Find addresses in the running kernel"
 msgstr "Finde Adressen im laufenden Kernel"
 
-#: libdwfl/argp-std.c:61
+#: libdwfl/argp-std.c:58
 msgid "Kernel with all modules"
 msgstr "Kernel mit allen Modulen"
 
-#: libdwfl/argp-std.c:63 src/stack.c:645
+#: libdwfl/argp-std.c:60 src/stack.c:650
 msgid "Search path for separate debuginfo files"
 msgstr "Dateisuchpfad für separate Debug-Informationen"
 
-#: libdwfl/argp-std.c:164
+#: libdwfl/argp-std.c:161
 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:237
+#: libdwfl/argp-std.c:234
 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:241
+#: libdwfl/argp-std.c:238
 msgid "cannot find kernel modules"
 msgstr "Konnte Kernel Module nicht finden"
 
-#: libdwfl/argp-std.c:258
+#: libdwfl/argp-std.c:255
 msgid "cannot find kernel or modules"
 msgstr "Konnte Kernel oder Module nicht finden"
 
-#: libdwfl/argp-std.c:297
+#: libdwfl/argp-std.c:294
 #, c-format
 msgid "cannot read ELF core file: %s"
 msgstr "Konnte ELF Kerndatei %s nicht lesen"
 
-#: libdwfl/argp-std.c:320
+#: libdwfl/argp-std.c:317
 #, fuzzy
 msgid "Not enough memory"
 msgstr "nicht genügend Speicher"
 
-#: libdwfl/argp-std.c:330
+#: libdwfl/argp-std.c:327
 msgid "No modules recognized in core file"
 msgstr "Keine Module in der Kerndatei gefunden"
 
@@ -392,136 +392,140 @@
 msgstr ""
 
 #: libdwfl/libdwflP.h:61
-msgid "no support library found for machine"
+msgid "zstd decompression failed"
 msgstr ""
 
 #: libdwfl/libdwflP.h:62
-msgid "Callbacks missing for ET_REL file"
+msgid "no support library found for machine"
 msgstr ""
 
 #: libdwfl/libdwflP.h:63
-msgid "Unsupported relocation type"
+msgid "Callbacks missing for ET_REL file"
 msgstr ""
 
 #: libdwfl/libdwflP.h:64
+msgid "Unsupported relocation type"
+msgstr ""
+
+#: libdwfl/libdwflP.h:65
 msgid "r_offset is bogus"
 msgstr ""
 
-#: libdwfl/libdwflP.h:65 libelf/elf_error.c:115 libelf/elf_error.c:175
+#: libdwfl/libdwflP.h:66 libelf/elf_error.c:115 libelf/elf_error.c:175
 msgid "offset out of range"
 msgstr "Offset ausserhalb des Bereichs"
 
-#: libdwfl/libdwflP.h:66
+#: libdwfl/libdwflP.h:67
 #, fuzzy
 msgid "relocation refers to undefined symbol"
 msgstr "Zeige Grösse der definierten Symbole"
 
-#: libdwfl/libdwflP.h:67
+#: libdwfl/libdwflP.h:68
 msgid "Callback returned failure"
 msgstr ""
 
-#: libdwfl/libdwflP.h:68
+#: libdwfl/libdwflP.h:69
 #, fuzzy
 msgid "No DWARF information found"
 msgstr "keine DWARF Information"
 
-#: libdwfl/libdwflP.h:69
+#: libdwfl/libdwflP.h:70
 msgid "No symbol table found"
 msgstr ""
 
-#: libdwfl/libdwflP.h:70
+#: libdwfl/libdwflP.h:71
 #, fuzzy
 msgid "No ELF program headers"
 msgstr "Programm-Köpfe anzeigen"
 
-#: libdwfl/libdwflP.h:71
+#: libdwfl/libdwflP.h:72
 msgid "address range overlaps an existing module"
 msgstr ""
 
-#: libdwfl/libdwflP.h:74
+#: libdwfl/libdwflP.h:75
 msgid "image truncated"
 msgstr ""
 
-#: libdwfl/libdwflP.h:75
+#: libdwfl/libdwflP.h:76
 #, fuzzy
 msgid "ELF file opened"
 msgstr "keine ELF Datei"
 
-#: libdwfl/libdwflP.h:76
+#: libdwfl/libdwflP.h:77
 #, fuzzy
 msgid "not a valid ELF file"
 msgstr "Ungültige ELF Datei"
 
-#: libdwfl/libdwflP.h:77
+#: libdwfl/libdwflP.h:78
 #, fuzzy
 msgid "cannot handle DWARF type description"
 msgstr "konnte Elf-Deskriptor nicht erzeugen: %s"
 
-#: libdwfl/libdwflP.h:78
+#: libdwfl/libdwflP.h:79
 msgid "ELF file does not match build ID"
 msgstr ""
 
-#: libdwfl/libdwflP.h:79
+#: libdwfl/libdwflP.h:80
 #, fuzzy
 msgid "corrupt .gnu.prelink_undo section data"
 msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: libdwfl/libdwflP.h:80
+#: libdwfl/libdwflP.h:81
 msgid "Internal error due to ebl"
 msgstr ""
 
-#: libdwfl/libdwflP.h:81
+#: libdwfl/libdwflP.h:82
 msgid "Missing data in core file"
 msgstr ""
 
-#: libdwfl/libdwflP.h:82
+#: libdwfl/libdwflP.h:83
 #, fuzzy
 msgid "Invalid register"
 msgstr "ungültiger Parameter"
 
-#: libdwfl/libdwflP.h:83
+#: libdwfl/libdwflP.h:84
 msgid "Error reading process memory"
 msgstr ""
 
-#: libdwfl/libdwflP.h:84
+#: libdwfl/libdwflP.h:85
 msgid "Couldn't find architecture of any ELF"
 msgstr ""
 
-#: libdwfl/libdwflP.h:85
+#: libdwfl/libdwflP.h:86
 msgid "Error parsing /proc filesystem"
 msgstr ""
 
-#: libdwfl/libdwflP.h:86
+#: libdwfl/libdwflP.h:87
 #, fuzzy
 msgid "Invalid DWARF"
 msgstr "DWARF ungültig"
 
-#: libdwfl/libdwflP.h:87
+#: libdwfl/libdwflP.h:88
 msgid "Unsupported DWARF"
 msgstr ""
 
-#: libdwfl/libdwflP.h:88
+#: libdwfl/libdwflP.h:89
 msgid "Unable to find more threads"
 msgstr ""
 
-#: libdwfl/libdwflP.h:89
+#: libdwfl/libdwflP.h:90
 msgid "Dwfl already has attached state"
 msgstr ""
 
-#: libdwfl/libdwflP.h:90
+#: libdwfl/libdwflP.h:91
 msgid "Dwfl has no attached state"
 msgstr ""
 
-#: libdwfl/libdwflP.h:91
+#: libdwfl/libdwflP.h:92
 msgid "Unwinding not supported for this architecture"
 msgstr ""
 
-#: libdwfl/libdwflP.h:92
+#: libdwfl/libdwflP.h:93
 #, fuzzy
 msgid "Invalid argument"
 msgstr "ungültiger Parameter"
 
-#: libdwfl/libdwflP.h:93
+#: libdwfl/libdwflP.h:94
 #, fuzzy
 msgid "Not an ET_CORE ELF file"
 msgstr "Ungültige ELF Datei"
@@ -533,7 +537,7 @@
 #: libebl/eblcorenotetypename.c:100 libebl/eblobjnotetypename.c:77
 #: libebl/eblobjnotetypename.c:109 libebl/eblobjnotetypename.c:130
 #: libebl/eblosabiname.c:73 libebl/eblsectionname.c:83
-#: libebl/eblsectiontypename.c:115 libebl/eblsegmenttypename.c:79
+#: libebl/eblsectiontypename.c:115 libebl/eblsegmenttypename.c:81
 msgid "<unknown>"
 msgstr "<Unbekannt>"
 
@@ -593,7 +597,7 @@
 msgid "    Linker version: %.*s\n"
 msgstr ""
 
-#: libebl/eblobjnote.c:571
+#: libebl/eblobjnote.c:638
 #, c-format
 msgid "    OS: %s, ABI: "
 msgstr "    OS: %s, ABI: "
@@ -627,7 +631,7 @@
 msgid "invalid size of destination operand"
 msgstr "ungültige Grösse des Ziel-Operanden"
 
-#: libelf/elf_error.c:87 src/readelf.c:6166
+#: libelf/elf_error.c:87 src/readelf.c:6209
 #, c-format
 msgid "invalid encoding"
 msgstr "ungültige Kodierung"
@@ -715,8 +719,8 @@
 msgid "invalid section header"
 msgstr "ungültiger Abschnitts-Header"
 
-#: libelf/elf_error.c:191 src/readelf.c:9914 src/readelf.c:10514
-#: src/readelf.c:10615 src/readelf.c:10797
+#: libelf/elf_error.c:191 src/readelf.c:10012 src/readelf.c:10612
+#: src/readelf.c:10713 src/readelf.c:10895
 #, c-format
 msgid "invalid data"
 msgstr "Ungültige Daten"
@@ -873,12 +877,12 @@
 msgid "offset %#<PRIxMAX> lies outside section '%s'"
 msgstr ""
 
-#: src/addr2line.c:632
+#: src/addr2line.c:652
 #, c-format
 msgid "cannot find symbol '%s'"
 msgstr "Konnte Symbol '%s' nicht finden"
 
-#: src/addr2line.c:637
+#: src/addr2line.c:657
 #, c-format
 msgid "offset %#<PRIxMAX> lies outside contents of '%s'"
 msgstr ""
@@ -1048,12 +1052,12 @@
 msgid "no entry %s in archive\n"
 msgstr "Kein Eintrag %s in Archiv\n"
 
-#: src/ar.c:472 src/ar.c:923 src/ar.c:1127
+#: src/ar.c:472 src/ar.c:927 src/ar.c:1134
 #, c-format
 msgid "cannot create hash table"
 msgstr "Konnte Hash-Tabelle nicht erstellen"
 
-#: src/ar.c:479 src/ar.c:930 src/ar.c:1136
+#: src/ar.c:479 src/ar.c:934 src/ar.c:1143
 #, c-format
 msgid "cannot insert into hash table"
 msgstr "Konnte nicht in Hash-Tabelle einfügen"
@@ -1093,67 +1097,67 @@
 msgid "cannot rename temporary file to %.*s"
 msgstr "Konnte temporäre Datei nicht in %.*s umbenennen"
 
-#: src/ar.c:764 src/ar.c:1015 src/ar.c:1416 src/ranlib.c:222
+#: src/ar.c:764 src/ar.c:1019 src/ar.c:1423 src/ranlib.c:222
 #, c-format
 msgid "cannot create new file"
 msgstr "neue Datei konnte nicht angelegt werden"
 
-#: src/ar.c:1218
+#: src/ar.c:1225
 #, c-format
 msgid "position member %s not found"
 msgstr ""
 
-#: src/ar.c:1228
+#: src/ar.c:1235
 #, c-format
 msgid "%s: no entry %s in archive!\n"
 msgstr "%s: Kein Eintrag %s in dem Archiv!\n"
 
-#: src/ar.c:1257 src/objdump.c:241
+#: src/ar.c:1264 src/objdump.c:241
 #, c-format
 msgid "cannot open %s"
 msgstr "Konnte %s nicht öffnen"
 
-#: src/ar.c:1262
+#: src/ar.c:1269
 #, c-format
 msgid "cannot stat %s"
 msgstr ""
 
-#: src/ar.c:1268
+#: src/ar.c:1275
 #, c-format
 msgid "%s is no regular file"
 msgstr "%s ist keine reguläre Datei"
 
-#: src/ar.c:1281
+#: src/ar.c:1288
 #, c-format
 msgid "cannot get ELF descriptor for %s: %s\n"
 msgstr ""
 
-#: src/ar.c:1301
+#: src/ar.c:1308
 #, c-format
 msgid "cannot read %s: %s"
 msgstr "Konnte %s: %s nicht lesen"
 
-#: src/ar.c:1476
+#: src/ar.c:1483
 #, fuzzy, c-format
 msgid "cannot represent ar_date"
 msgstr "konnte Abschnittsdaten nicht kopieren: %s"
 
-#: src/ar.c:1482
+#: src/ar.c:1489
 #, fuzzy, c-format
 msgid "cannot represent ar_uid"
 msgstr "konnte Abschnittsdaten nicht kopieren: %s"
 
-#: src/ar.c:1488
+#: src/ar.c:1495
 #, fuzzy, c-format
 msgid "cannot represent ar_gid"
 msgstr "konnte Abschnittsdaten nicht kopieren: %s"
 
-#: src/ar.c:1494
+#: src/ar.c:1501
 #, fuzzy, c-format
 msgid "cannot represent ar_mode"
 msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/ar.c:1500
+#: src/ar.c:1507
 #, fuzzy, c-format
 msgid "cannot represent ar_size"
 msgstr "Konnte %s nicht öffnen"
@@ -1166,7 +1170,7 @@
 msgid "Use actual uid, gid, and date in archive members."
 msgstr ""
 
-#: src/arlib-argp.c:65
+#: src/arlib-argp.c:63
 #, c-format
 msgid "%s (default)"
 msgstr ""
@@ -1374,8 +1378,8 @@
 msgstr ""
 
 #: src/elfcmp.c:734 src/findtextrel.c:205 src/nm.c:364 src/ranlib.c:141
-#: src/size.c:272 src/strings.c:185 src/strip.c:984 src/strip.c:1021
-#: src/unstrip.c:2189 src/unstrip.c:2218
+#: src/size.c:272 src/strings.c:185 src/strip.c:1030 src/strip.c:1067
+#: src/unstrip.c:2194 src/unstrip.c:2223
 #, c-format
 msgid "cannot open '%s'"
 msgstr "'%s' kann nicht geöffnet werden"
@@ -1405,7 +1409,7 @@
 msgid "cannot get relocation: %s"
 msgstr ""
 
-#: src/elfcompress.c:115 src/strip.c:308 src/unstrip.c:121
+#: src/elfcompress.c:115 src/strip.c:308 src/unstrip.c:117
 #, c-format
 msgid "-o option specified twice"
 msgstr ""
@@ -1518,7 +1522,7 @@
 msgid "No errors"
 msgstr "Keine Fehler"
 
-#: src/elflint.c:219 src/readelf.c:575
+#: src/elflint.c:219 src/readelf.c:577
 msgid "Missing file name.\n"
 msgstr "Dateiname fehlt.\n"
 
@@ -1671,14 +1675,14 @@
 "section [%2d] '%s': section group [%2zu] '%s' does not precede group member\n"
 msgstr ""
 
-#: src/elflint.c:610 src/elflint.c:1494 src/elflint.c:1545 src/elflint.c:1651
-#: src/elflint.c:1987 src/elflint.c:2313 src/elflint.c:2932 src/elflint.c:3095
-#: src/elflint.c:3243 src/elflint.c:3433 src/elflint.c:4431
+#: src/elflint.c:610 src/elflint.c:1498 src/elflint.c:1549 src/elflint.c:1655
+#: src/elflint.c:1991 src/elflint.c:2317 src/elflint.c:2943 src/elflint.c:3106
+#: src/elflint.c:3254 src/elflint.c:3444 src/elflint.c:4456
 #, c-format
 msgid "section [%2d] '%s': cannot get section data\n"
 msgstr ""
 
-#: src/elflint.c:623 src/elflint.c:1658
+#: src/elflint.c:623 src/elflint.c:1662
 #, c-format
 msgid ""
 "section [%2d] '%s': referenced as string table for section [%2d] '%s' but "
@@ -1697,157 +1701,167 @@
 msgid "section [%2u] '%s': entry size is does not match ElfXX_Sym\n"
 msgstr ""
 
-#: src/elflint.c:667
+#: src/elflint.c:662
+#, c-format
+msgid ""
+"section [%2u] '%s': number of local entries in 'st_info' larger than table "
+"size\n"
+msgstr ""
+
+#: src/elflint.c:671
 #, c-format
 msgid "section [%2d] '%s': cannot get symbol %d: %s\n"
 msgstr ""
 
-#: src/elflint.c:672 src/elflint.c:675 src/elflint.c:678 src/elflint.c:681
-#: src/elflint.c:684 src/elflint.c:687
+#: src/elflint.c:676 src/elflint.c:679 src/elflint.c:682 src/elflint.c:685
+#: src/elflint.c:688 src/elflint.c:691
 #, c-format
 msgid "section [%2d] '%s': '%s' in zeroth entry not zero\n"
 msgstr ""
 
-#: src/elflint.c:690
+#: src/elflint.c:694
 #, c-format
 msgid "section [%2d] '%s': XINDEX for zeroth entry not zero\n"
 msgstr ""
 
-#: src/elflint.c:700
+#: src/elflint.c:704
 #, c-format
 msgid "section [%2d] '%s': cannot get symbol %zu: %s\n"
 msgstr ""
 
-#: src/elflint.c:709
+#: src/elflint.c:713
 #, c-format
 msgid "section [%2d] '%s': symbol %zu: invalid name value\n"
 msgstr ""
 
-#: src/elflint.c:724
+#: src/elflint.c:728
 #, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: too large section index but no extended "
+"section [%2d] '%s': symbol %zu (%s): too large section index but no extended "
 "section index section\n"
 msgstr ""
 
-#: src/elflint.c:730
+#: src/elflint.c:734
 #, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: XINDEX used for index which would fit in "
-"st_shndx (%<PRIu32>)\n"
+"section [%2d] '%s': symbol %zu (%s): XINDEX used for index which would fit "
+"in st_shndx (%<PRIu32>)\n"
 msgstr ""
 
 #. || sym->st_shndx > SHN_HIRESERVE  always false
-#: src/elflint.c:742
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: invalid section index\n"
-msgstr ""
+#: src/elflint.c:746
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): invalid section index\n"
+msgstr "ungültiger Abschnittsindex"
 
-#: src/elflint.c:750
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown type\n"
-msgstr ""
+#: src/elflint.c:754
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): unknown type\n"
+msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/elflint.c:756
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown symbol binding\n"
-msgstr ""
+#: src/elflint.c:760
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): unknown symbol binding\n"
+msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/elflint.c:761
+#: src/elflint.c:765
 #, c-format
-msgid "section [%2d] '%s': symbol %zu: unique symbol not of object type\n"
-msgstr ""
-
-#: src/elflint.c:769
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: COMMON only allowed in relocatable files\n"
+msgid "section [%2d] '%s': symbol %zu (%s): unique symbol not of object type\n"
 msgstr ""
 
 #: src/elflint.c:773
 #, c-format
-msgid "section [%2d] '%s': symbol %zu: local COMMON symbols are nonsense\n"
+msgid ""
+"section [%2d] '%s': symbol %zu (%s): COMMON only allowed in relocatable "
+"files\n"
 msgstr ""
 
 #: src/elflint.c:777
 #, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: function in COMMON section is nonsense\n"
+"section [%2d] '%s': symbol %zu (%s): local COMMON symbols are nonsense\n"
 msgstr ""
 
-#: src/elflint.c:828
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: st_value out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:834 src/elflint.c:859 src/elflint.c:908
+#: src/elflint.c:781
 #, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu does not fit completely in referenced section "
-"[%2d] '%s'\n"
+"section [%2d] '%s': symbol %zu (%s): function in COMMON section is nonsense\n"
 msgstr ""
 
-#: src/elflint.c:843
+#: src/elflint.c:832
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): st_value out of bounds\n"
+msgstr "konnte Abschnittsdaten nicht holen: %s"
+
+#: src/elflint.c:838 src/elflint.c:863 src/elflint.c:912
 #, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: referenced section [%2d] '%s' does not have "
-"SHF_TLS flag set\n"
+"section [%2d] '%s': symbol %zu (%s) does not fit completely in referenced "
+"section [%2d] '%s'\n"
 msgstr ""
 
-#: src/elflint.c:853 src/elflint.c:901
+#: src/elflint.c:847
 #, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: st_value out of bounds of referenced section "
-"[%2d] '%s'\n"
+"section [%2d] '%s': symbol %zu (%s): referenced section [%2d] '%s' does not "
+"have SHF_TLS flag set\n"
 msgstr ""
 
-#: src/elflint.c:880
+#: src/elflint.c:857 src/elflint.c:905
 #, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: TLS symbol but no TLS program header entry\n"
+"section [%2d] '%s': symbol %zu (%s): st_value out of bounds of referenced "
+"section [%2d] '%s'\n"
 msgstr ""
 
-#: src/elflint.c:886
+#: src/elflint.c:884
 #, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: TLS symbol but couldn't get TLS program "
+"section [%2d] '%s': symbol %zu (%s): TLS symbol but no TLS program header "
+"entry\n"
+msgstr ""
+
+#: src/elflint.c:890
+#, c-format
+msgid ""
+"section [%2d] '%s': symbol %zu (%s): TLS symbol but couldn't get TLS program "
 "header entry\n"
 msgstr ""
 
-#: src/elflint.c:894
+#: src/elflint.c:898
 #, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: st_value short of referenced section [%2d] "
-"'%s'\n"
+"section [%2d] '%s': symbol %zu (%s): st_value short of referenced section "
+"[%2d] '%s'\n"
 msgstr ""
 
-#: src/elflint.c:921
+#: src/elflint.c:925
 #, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: local symbol outside range described in "
+"section [%2d] '%s': symbol %zu (%s): local symbol outside range described in "
 "sh_info\n"
 msgstr ""
 
-#: src/elflint.c:928
+#: src/elflint.c:932
 #, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: non-local symbol outside range described in "
-"sh_info\n"
+"section [%2d] '%s': symbol %zu (%s): non-local symbol outside range "
+"described in sh_info\n"
 msgstr ""
 
-#: src/elflint.c:935
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: non-local section symbol\n"
-msgstr ""
+#: src/elflint.c:939
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): non-local section symbol\n"
+msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/elflint.c:985
+#: src/elflint.c:989
 #, c-format
 msgid ""
 "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to bad section "
 "[%2d]\n"
 msgstr ""
 
-#: src/elflint.c:992
+#: src/elflint.c:996
 #, c-format
 msgid ""
 "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to section [%2d] "
@@ -1857,1367 +1871,1372 @@
 #. 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:1008
+#: src/elflint.c:1012
 #, c-format
 msgid ""
 "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol value %#<PRIx64> does not "
 "match %s section address %#<PRIx64>\n"
 msgstr ""
 
-#: src/elflint.c:1015
+#: src/elflint.c:1019
 #, c-format
 msgid ""
 "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol size %<PRIu64> does not "
 "match %s section size %<PRIu64>\n"
 msgstr ""
 
-#: src/elflint.c:1023
+#: src/elflint.c:1027
 #, c-format
 msgid ""
 "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol present, but no .got "
 "section\n"
 msgstr ""
 
-#: src/elflint.c:1039
+#: src/elflint.c:1043
 #, c-format
 msgid ""
 "section [%2d] '%s': _DYNAMIC_ symbol value %#<PRIx64> does not match dynamic "
 "segment address %#<PRIx64>\n"
 msgstr ""
 
-#: src/elflint.c:1046
+#: src/elflint.c:1050
 #, c-format
 msgid ""
 "section [%2d] '%s': _DYNAMIC symbol size %<PRIu64> does not match dynamic "
 "segment size %<PRIu64>\n"
 msgstr ""
 
-#: src/elflint.c:1059
+#: src/elflint.c:1063
 #, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: symbol in dynamic symbol table with non-"
+"section [%2d] '%s': symbol %zu (%s): symbol in dynamic symbol table with non-"
 "default visibility\n"
 msgstr ""
 
-#: src/elflint.c:1063
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown bit set in st_other\n"
-msgstr ""
+#: src/elflint.c:1067
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): unknown bit set in st_other\n"
+msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/elflint.c:1101
+#: src/elflint.c:1105
 #, fuzzy, c-format
 msgid "section [%2d] '%s': cannot get section data.\n"
 msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/elflint.c:1117
+#: src/elflint.c:1121
 #, c-format
 msgid "section [%2d] '%s': DT_RELCOUNT used for this RELA section\n"
 msgstr ""
 
-#: src/elflint.c:1128 src/elflint.c:1181
+#: src/elflint.c:1132 src/elflint.c:1185
 #, c-format
 msgid "section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"
 msgstr ""
 
-#: src/elflint.c:1153 src/elflint.c:1206
+#: src/elflint.c:1157 src/elflint.c:1210
 #, c-format
 msgid ""
 "section [%2d] '%s': relative relocations after index %d as specified by "
 "DT_RELCOUNT\n"
 msgstr ""
 
-#: src/elflint.c:1159 src/elflint.c:1212
+#: src/elflint.c:1163 src/elflint.c:1216
 #, c-format
 msgid ""
 "section [%2d] '%s': non-relative relocation at index %zu; DT_RELCOUNT "
 "specified %d relative relocations\n"
 msgstr ""
 
-#: src/elflint.c:1171
+#: src/elflint.c:1175
 #, c-format
 msgid "section [%2d] '%s': DT_RELACOUNT used for this REL section\n"
 msgstr ""
 
-#: src/elflint.c:1254
+#: src/elflint.c:1258
 #, c-format
 msgid "section [%2d] '%s': invalid destination section index\n"
 msgstr ""
 
-#: src/elflint.c:1266
+#: src/elflint.c:1270
 #, c-format
 msgid "section [%2d] '%s': invalid destination section type\n"
 msgstr ""
 
-#: src/elflint.c:1274
+#: src/elflint.c:1278
 #, c-format
 msgid "section [%2d] '%s': sh_info should be zero\n"
 msgstr ""
 
-#: src/elflint.c:1282
+#: src/elflint.c:1286
 #, fuzzy, c-format
 msgid ""
 "section [%2d] '%s': no relocations for merge-able string sections possible\n"
 msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/elflint.c:1290
+#: src/elflint.c:1294
 #, c-format
 msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n"
 msgstr ""
 
-#: src/elflint.c:1350
+#: src/elflint.c:1354
 #, c-format
 msgid "text relocation flag set but there is no read-only segment\n"
 msgstr ""
 
-#: src/elflint.c:1377
+#: src/elflint.c:1381
 #, c-format
 msgid "section [%2d] '%s': relocation %zu: invalid type\n"
 msgstr ""
 
-#: src/elflint.c:1385
+#: src/elflint.c:1389
 #, c-format
 msgid ""
 "section [%2d] '%s': relocation %zu: relocation type invalid for the file "
 "type\n"
 msgstr ""
 
-#: src/elflint.c:1393
+#: src/elflint.c:1397
 #, c-format
 msgid "section [%2d] '%s': relocation %zu: invalid symbol index\n"
 msgstr ""
 
-#: src/elflint.c:1411
+#: src/elflint.c:1415
 #, c-format
 msgid ""
 "section [%2d] '%s': relocation %zu: only symbol '_GLOBAL_OFFSET_TABLE_' can "
 "be used with %s\n"
 msgstr ""
 
-#: src/elflint.c:1428
+#: src/elflint.c:1432
 #, c-format
 msgid "section [%2d] '%s': relocation %zu: offset out of bounds\n"
 msgstr ""
 
-#: src/elflint.c:1443
+#: src/elflint.c:1447
 #, c-format
 msgid ""
 "section [%2d] '%s': relocation %zu: copy relocation against symbol of type "
 "%s\n"
 msgstr ""
 
-#: src/elflint.c:1464
+#: src/elflint.c:1468
 #, c-format
 msgid ""
 "section [%2d] '%s': relocation %zu: read-only section modified but text "
 "relocation flag not set\n"
 msgstr ""
 
-#: src/elflint.c:1479
+#: src/elflint.c:1483
 #, c-format
 msgid "section [%2d] '%s': relocations are against loaded and unloaded data\n"
 msgstr ""
 
-#: src/elflint.c:1519 src/elflint.c:1570
+#: src/elflint.c:1523 src/elflint.c:1574
 #, c-format
 msgid "section [%2d] '%s': cannot get relocation %zu: %s\n"
 msgstr ""
 
-#: src/elflint.c:1646
+#: src/elflint.c:1650
 #, c-format
 msgid "more than one dynamic section present\n"
 msgstr ""
 
-#: src/elflint.c:1664
+#: src/elflint.c:1668
 #, c-format
 msgid ""
 "section [%2d]: referenced as string table for section [%2d] '%s' but section "
 "link value is invalid\n"
 msgstr ""
 
-#: src/elflint.c:1672
+#: src/elflint.c:1676
 #, c-format
 msgid "section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"
 msgstr ""
 
-#: src/elflint.c:1677 src/elflint.c:1966
+#: src/elflint.c:1681 src/elflint.c:1970
 #, c-format
 msgid "section [%2d] '%s': sh_info not zero\n"
 msgstr ""
 
-#: src/elflint.c:1687
+#: src/elflint.c:1691
 #, c-format
 msgid "section [%2d] '%s': cannot get dynamic section entry %zu: %s\n"
 msgstr ""
 
-#: src/elflint.c:1695
+#: src/elflint.c:1699
 #, c-format
 msgid "section [%2d] '%s': non-DT_NULL entries follow DT_NULL entry\n"
 msgstr ""
 
-#: src/elflint.c:1702
+#: src/elflint.c:1706
 #, c-format
 msgid "section [%2d] '%s': entry %zu: unknown tag\n"
 msgstr ""
 
-#: src/elflint.c:1713
+#: src/elflint.c:1717
 #, c-format
 msgid "section [%2d] '%s': entry %zu: more than one entry with tag %s\n"
 msgstr ""
 
-#: src/elflint.c:1723
+#: src/elflint.c:1727
 #, c-format
 msgid "section [%2d] '%s': entry %zu: level 2 tag %s used\n"
 msgstr ""
 
-#: src/elflint.c:1741
+#: src/elflint.c:1745
 #, c-format
 msgid ""
 "section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n"
 msgstr ""
 
-#: src/elflint.c:1754
+#: src/elflint.c:1758
 #, 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:1797
+#: src/elflint.c:1801
 #, c-format
 msgid ""
 "section [%2d] '%s': entry %zu: %s value must point into loaded segment\n"
 msgstr ""
 
-#: src/elflint.c:1812
+#: src/elflint.c:1816
 #, c-format
 msgid ""
 "section [%2d] '%s': entry %zu: %s value must be valid offset in section "
 "[%2d] '%s'\n"
 msgstr ""
 
-#: src/elflint.c:1832 src/elflint.c:1860
+#: src/elflint.c:1836 src/elflint.c:1864
 #, c-format
 msgid "section [%2d] '%s': contains %s entry but not %s\n"
 msgstr ""
 
-#: src/elflint.c:1844
+#: src/elflint.c:1848
 #, c-format
 msgid "section [%2d] '%s': mandatory tag %s not present\n"
 msgstr ""
 
-#: src/elflint.c:1853
+#: src/elflint.c:1857
 #, c-format
 msgid "section [%2d] '%s': no hash section present\n"
 msgstr ""
 
-#: src/elflint.c:1868 src/elflint.c:1875
+#: src/elflint.c:1872 src/elflint.c:1879
 #, c-format
 msgid "section [%2d] '%s': not all of %s, %s, and %s are present\n"
 msgstr ""
 
-#: src/elflint.c:1885 src/elflint.c:1889
+#: src/elflint.c:1889 src/elflint.c:1893
 #, c-format
 msgid "section [%2d] '%s': %s tag missing in DSO marked during prelinking\n"
 msgstr ""
 
-#: src/elflint.c:1895
+#: src/elflint.c:1899
 #, c-format
 msgid "section [%2d] '%s': non-DSO file marked as dependency during prelink\n"
 msgstr ""
 
-#: src/elflint.c:1906 src/elflint.c:1910 src/elflint.c:1914 src/elflint.c:1918
+#: src/elflint.c:1910 src/elflint.c:1914 src/elflint.c:1918 src/elflint.c:1922
 #, c-format
 msgid "section [%2d] '%s': %s tag missing in prelinked executable\n"
 msgstr ""
 
-#: src/elflint.c:1930
+#: src/elflint.c:1934
 #, c-format
 msgid ""
 "section [%2d] '%s': only relocatable files can have extended section index\n"
 msgstr ""
 
-#: src/elflint.c:1940
+#: src/elflint.c:1944
 #, c-format
 msgid ""
 "section [%2d] '%s': extended section index section not for symbol table\n"
 msgstr ""
 
-#: src/elflint.c:1944
+#: src/elflint.c:1948
 #, c-format
 msgid "section [%2d] '%s': sh_link extended section index [%2d] is invalid\n"
 msgstr ""
 
-#: src/elflint.c:1949
+#: src/elflint.c:1953
 #, c-format
 msgid "cannot get data for symbol section\n"
 msgstr ""
 
-#: src/elflint.c:1952
+#: src/elflint.c:1956
 #, c-format
 msgid "section [%2d] '%s': entry size does not match Elf32_Word\n"
 msgstr ""
 
-#: src/elflint.c:1961
+#: src/elflint.c:1965
 #, c-format
 msgid "section [%2d] '%s': extended index table too small for symbol table\n"
 msgstr ""
 
-#: src/elflint.c:1976
+#: src/elflint.c:1980
 #, c-format
 msgid ""
 "section [%2d] '%s': extended section index in section [%2zu] '%s' refers to "
 "same symbol table\n"
 msgstr ""
 
-#: src/elflint.c:1994
+#: src/elflint.c:1998
 #, c-format
 msgid "symbol 0 should have zero extended section index\n"
 msgstr ""
 
-#: src/elflint.c:2006
+#: src/elflint.c:2010
 #, c-format
 msgid "cannot get data for symbol %zu\n"
 msgstr ""
 
-#: src/elflint.c:2011
+#: src/elflint.c:2015
 #, c-format
 msgid "extended section index is %<PRIu32> but symbol index is not XINDEX\n"
 msgstr ""
 
-#: src/elflint.c:2028 src/elflint.c:2085
+#: src/elflint.c:2032 src/elflint.c:2089
 #, c-format
 msgid ""
 "section [%2d] '%s': hash table section is too small (is %ld, expected %ld)\n"
 msgstr ""
 
-#: src/elflint.c:2042 src/elflint.c:2099
+#: src/elflint.c:2046 src/elflint.c:2103
 #, c-format
 msgid "section [%2d] '%s': chain array too large\n"
 msgstr ""
 
-#: src/elflint.c:2056 src/elflint.c:2113
+#: src/elflint.c:2060 src/elflint.c:2117
 #, c-format
 msgid "section [%2d] '%s': hash bucket reference %zu out of bounds\n"
 msgstr ""
 
-#: src/elflint.c:2066
+#: src/elflint.c:2070
 #, c-format
 msgid "section [%2d] '%s': hash chain reference %zu out of bounds\n"
 msgstr ""
 
-#: src/elflint.c:2123
+#: src/elflint.c:2127
 #, c-format
 msgid "section [%2d] '%s': hash chain reference %<PRIu64> out of bounds\n"
 msgstr ""
 
-#: src/elflint.c:2136
+#: src/elflint.c:2140
 #, c-format
 msgid "section [%2d] '%s': not enough data\n"
 msgstr ""
 
-#: src/elflint.c:2148
+#: src/elflint.c:2152
 #, c-format
 msgid "section [%2d] '%s': bitmask size zero or not power of 2: %u\n"
 msgstr ""
 
-#: src/elflint.c:2164
+#: src/elflint.c:2168
 #, c-format
 msgid ""
 "section [%2d] '%s': hash table section is too small (is %ld, expected at "
 "least %ld)\n"
 msgstr ""
 
-#: src/elflint.c:2173
+#: src/elflint.c:2177
 #, c-format
 msgid "section [%2d] '%s': 2nd hash function shift too big: %u\n"
 msgstr ""
 
-#: src/elflint.c:2207
+#: src/elflint.c:2211
 #, c-format
 msgid ""
 "section [%2d] '%s': hash chain for bucket %zu lower than symbol index bias\n"
 msgstr ""
 
-#: src/elflint.c:2228
+#: src/elflint.c:2232
 #, c-format
 msgid ""
 "section [%2d] '%s': symbol %u referenced in chain for bucket %zu is "
 "undefined\n"
 msgstr ""
 
-#: src/elflint.c:2241
+#: src/elflint.c:2245
 #, c-format
 msgid ""
 "section [%2d] '%s': hash value for symbol %u in chain for bucket %zu wrong\n"
 msgstr ""
 
-#: src/elflint.c:2250
+#: src/elflint.c:2254
 #, c-format
 msgid ""
 "section [%2d] '%s': mask index for symbol %u in chain for bucket %zu wrong\n"
 msgstr ""
 
-#: src/elflint.c:2280
+#: src/elflint.c:2284
 #, c-format
 msgid "section [%2d] '%s': hash chain for bucket %zu out of bounds\n"
 msgstr ""
 
-#: src/elflint.c:2285
+#: src/elflint.c:2289
 #, c-format
 msgid ""
 "section [%2d] '%s': symbol reference in chain for bucket %zu out of bounds\n"
 msgstr ""
 
-#: src/elflint.c:2291
+#: src/elflint.c:2295
 #, c-format
 msgid "section [%2d] '%s': bitmask does not match names in the hash table\n"
 msgstr ""
 
-#: src/elflint.c:2304
+#: src/elflint.c:2308
 #, c-format
 msgid "section [%2d] '%s': relocatable files cannot have hash tables\n"
 msgstr ""
 
-#: src/elflint.c:2322
+#: src/elflint.c:2326
 #, c-format
 msgid "section [%2d] '%s': hash table not for dynamic symbol table\n"
 msgstr ""
 
-#: src/elflint.c:2326
+#: src/elflint.c:2330
 #, c-format
 msgid "section [%2d] '%s': invalid sh_link symbol table section index [%2d]\n"
 msgstr ""
 
-#: src/elflint.c:2336
+#: src/elflint.c:2340
 #, c-format
 msgid "section [%2d] '%s': hash table entry size incorrect\n"
 msgstr ""
 
-#: src/elflint.c:2341
+#: src/elflint.c:2345
 #, c-format
 msgid "section [%2d] '%s': not marked to be allocated\n"
 msgstr ""
 
-#: src/elflint.c:2346
+#: src/elflint.c:2350
 #, c-format
 msgid ""
 "section [%2d] '%s': hash table has not even room for initial administrative "
 "entries\n"
 msgstr ""
 
-#: src/elflint.c:2395
+#: src/elflint.c:2399
 #, c-format
 msgid "sh_link in hash sections [%2zu] '%s' and [%2zu] '%s' not identical\n"
 msgstr ""
 
-#: src/elflint.c:2419 src/elflint.c:2484 src/elflint.c:2519
+#: src/elflint.c:2423 src/elflint.c:2488 src/elflint.c:2523
 #, c-format
 msgid "hash section [%2zu] '%s' does not contain enough data\n"
 msgstr ""
 
-#: src/elflint.c:2440
+#: src/elflint.c:2444
 #, c-format
 msgid "hash section [%2zu] '%s' has zero bit mask words\n"
 msgstr ""
 
-#: src/elflint.c:2451 src/elflint.c:2495 src/elflint.c:2532
+#: src/elflint.c:2455 src/elflint.c:2499 src/elflint.c:2536
 #, c-format
 msgid "hash section [%2zu] '%s' uses too much data\n"
 msgstr ""
 
-#: src/elflint.c:2466
+#: src/elflint.c:2470
 #, c-format
 msgid ""
 "hash section [%2zu] '%s' invalid symbol index %<PRIu32> (max_nsyms: "
 "%<PRIu32>, nentries: %<PRIu32>\n"
 msgstr ""
 
-#: src/elflint.c:2553
+#: src/elflint.c:2557
 #, c-format
 msgid "hash section [%2zu] '%s' invalid sh_entsize\n"
 msgstr ""
 
-#: src/elflint.c:2563 src/elflint.c:2567
+#: src/elflint.c:2567 src/elflint.c:2571
 #, c-format
 msgid "section [%2zu] '%s': reference to symbol index 0\n"
 msgstr ""
 
-#: src/elflint.c:2574
+#: src/elflint.c:2578
 #, 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:2586
+#: src/elflint.c:2590
 #, 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:2602
+#: src/elflint.c:2606
 #, c-format
 msgid "section [%2d] '%s': nonzero sh_%s for NULL section\n"
 msgstr ""
 
-#: src/elflint.c:2622
+#: src/elflint.c:2626
 #, c-format
 msgid ""
 "section [%2d] '%s': section groups only allowed in relocatable object files\n"
 msgstr ""
 
-#: src/elflint.c:2633
+#: src/elflint.c:2637
 #, c-format
 msgid "section [%2d] '%s': cannot get symbol table: %s\n"
 msgstr ""
 
-#: src/elflint.c:2638
+#: src/elflint.c:2642
 #, c-format
 msgid "section [%2d] '%s': section reference in sh_link is no symbol table\n"
 msgstr ""
 
-#: src/elflint.c:2644
+#: src/elflint.c:2648
 #, c-format
 msgid "section [%2d] '%s': invalid symbol index in sh_info\n"
 msgstr ""
 
-#: src/elflint.c:2649
+#: src/elflint.c:2653
 #, c-format
 msgid "section [%2d] '%s': sh_flags not zero\n"
 msgstr ""
 
-#: src/elflint.c:2656
+#: src/elflint.c:2660
 #, c-format
 msgid "section [%2d] '%s': cannot get symbol for signature\n"
 msgstr ""
 
-#: src/elflint.c:2660
+#: src/elflint.c:2664
 #, c-format
 msgid "section [%2d] '%s': cannot get symbol name for signature\n"
 msgstr ""
 
-#: src/elflint.c:2665
+#: src/elflint.c:2669
 #, c-format
 msgid "section [%2d] '%s': signature symbol cannot be empty string\n"
 msgstr ""
 
-#: src/elflint.c:2671
+#: src/elflint.c:2675
 #, c-format
 msgid "section [%2d] '%s': sh_flags not set correctly\n"
 msgstr ""
 
-#: src/elflint.c:2677
+#: src/elflint.c:2681
 #, c-format
 msgid "section [%2d] '%s': cannot get data: %s\n"
 msgstr ""
 
-#: src/elflint.c:2686
+#: src/elflint.c:2690
 #, c-format
 msgid "section [%2d] '%s': section size not multiple of sizeof(Elf32_Word)\n"
 msgstr ""
 
-#: src/elflint.c:2692
+#: src/elflint.c:2696
 #, c-format
 msgid "section [%2d] '%s': section group without flags word\n"
 msgstr ""
 
-#: src/elflint.c:2700
+#: src/elflint.c:2704
 #, c-format
 msgid "section [%2d] '%s': section group without member\n"
 msgstr ""
 
-#: src/elflint.c:2704
+#: src/elflint.c:2708
 #, c-format
 msgid "section [%2d] '%s': section group with only one member\n"
 msgstr ""
 
-#: src/elflint.c:2715
+#: src/elflint.c:2719
 #, c-format
 msgid "section [%2d] '%s': unknown section group flags\n"
 msgstr ""
 
-#: src/elflint.c:2727
+#: src/elflint.c:2731
 #, fuzzy, c-format
 msgid "section [%2d] '%s': section index %zu out of range\n"
 msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/elflint.c:2736
+#: src/elflint.c:2740
 #, c-format
 msgid "section [%2d] '%s': cannot get section header for element %zu: %s\n"
 msgstr ""
 
-#: src/elflint.c:2743
+#: src/elflint.c:2747
 #, c-format
 msgid "section [%2d] '%s': section group contains another group [%2d] '%s'\n"
 msgstr ""
 
-#: src/elflint.c:2749
+#: src/elflint.c:2753
 #, c-format
 msgid ""
 "section [%2d] '%s': element %zu references section [%2d] '%s' without "
 "SHF_GROUP flag set\n"
 msgstr ""
 
-#: src/elflint.c:2756
+#: src/elflint.c:2760
 #, c-format
 msgid "section [%2d] '%s' is contained in more than one section group\n"
 msgstr ""
 
-#: src/elflint.c:2946
+#: src/elflint.c:2957
 #, 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:2958
+#: src/elflint.c:2969
 #, c-format
 msgid ""
 "section [%2d] '%s' has different number of entries than symbol table [%2d] "
 "'%s'\n"
 msgstr ""
 
-#: src/elflint.c:2974
+#: src/elflint.c:2985
 #, c-format
 msgid "section [%2d] '%s': symbol %d: cannot read version data\n"
 msgstr ""
 
-#: src/elflint.c:2990
+#: src/elflint.c:3001
 #, c-format
 msgid "section [%2d] '%s': symbol %d: local symbol with global scope\n"
 msgstr ""
 
-#: src/elflint.c:2998
+#: src/elflint.c:3009
 #, c-format
 msgid "section [%2d] '%s': symbol %d: local symbol with version\n"
 msgstr ""
 
-#: src/elflint.c:3012
+#: src/elflint.c:3023
 #, c-format
 msgid "section [%2d] '%s': symbol %d: invalid version index %d\n"
 msgstr ""
 
-#: src/elflint.c:3017
+#: src/elflint.c:3028
 #, c-format
 msgid ""
 "section [%2d] '%s': symbol %d: version index %d is for defined version\n"
 msgstr ""
 
-#: src/elflint.c:3027
+#: src/elflint.c:3038
 #, c-format
 msgid ""
 "section [%2d] '%s': symbol %d: version index %d is for requested version\n"
 msgstr ""
 
-#: src/elflint.c:3080
+#: src/elflint.c:3091
 #, c-format
 msgid "more than one version reference section present\n"
 msgstr ""
 
-#: src/elflint.c:3088 src/elflint.c:3235
+#: src/elflint.c:3099 src/elflint.c:3246
 #, c-format
 msgid "section [%2d] '%s': sh_link does not link to string table\n"
 msgstr ""
 
-#: src/elflint.c:3113 src/elflint.c:3289
+#: src/elflint.c:3124 src/elflint.c:3300
 #, c-format
 msgid "section [%2d] '%s': entry %d has wrong version %d\n"
 msgstr ""
 
-#: src/elflint.c:3120 src/elflint.c:3296
+#: src/elflint.c:3131 src/elflint.c:3307
 #, c-format
 msgid "section [%2d] '%s': entry %d has wrong offset of auxiliary data\n"
 msgstr ""
 
-#: src/elflint.c:3130
+#: src/elflint.c:3141
 #, c-format
 msgid "section [%2d] '%s': entry %d has invalid file reference\n"
 msgstr ""
 
-#: src/elflint.c:3138
+#: src/elflint.c:3149
 #, c-format
 msgid "section [%2d] '%s': entry %d references unknown dependency\n"
 msgstr ""
 
-#: src/elflint.c:3150
+#: src/elflint.c:3161
 #, c-format
 msgid "section [%2d] '%s': auxiliary entry %d of entry %d has unknown flag\n"
 msgstr ""
 
-#: src/elflint.c:3158
+#: src/elflint.c:3169
 #, c-format
 msgid ""
 "section [%2d] '%s': auxiliary entry %d of entry %d has invalid name "
 "reference\n"
 msgstr ""
 
-#: src/elflint.c:3167
+#: src/elflint.c:3178
 #, c-format
 msgid ""
 "section [%2d] '%s': auxiliary entry %d of entry %d has wrong hash value: "
 "%#x, expected %#x\n"
 msgstr ""
 
-#: src/elflint.c:3176
+#: src/elflint.c:3187
 #, c-format
 msgid ""
 "section [%2d] '%s': auxiliary entry %d of entry %d has duplicate version "
 "name '%s'\n"
 msgstr ""
 
-#: src/elflint.c:3187
+#: src/elflint.c:3198
 #, c-format
 msgid ""
 "section [%2d] '%s': auxiliary entry %d of entry %d has wrong next field\n"
 msgstr ""
 
-#: src/elflint.c:3204 src/elflint.c:3380
+#: src/elflint.c:3215 src/elflint.c:3391
 #, c-format
 msgid "section [%2d] '%s': entry %d has invalid offset to next entry\n"
 msgstr ""
 
-#: src/elflint.c:3212 src/elflint.c:3388
+#: src/elflint.c:3223 src/elflint.c:3399
 #, c-format
 msgid ""
 "section [%2d] '%s': entry %d has zero offset to next entry, but sh_info says "
 "there are more entries\n"
 msgstr ""
 
-#: src/elflint.c:3227
+#: src/elflint.c:3238
 #, c-format
 msgid "more than one version definition section present\n"
 msgstr ""
 
-#: src/elflint.c:3274
+#: src/elflint.c:3285
 #, c-format
 msgid "section [%2d] '%s': more than one BASE definition\n"
 msgstr ""
 
-#: src/elflint.c:3278
+#: src/elflint.c:3289
 #, c-format
 msgid "section [%2d] '%s': BASE definition must have index VER_NDX_GLOBAL\n"
 msgstr ""
 
-#: src/elflint.c:3284
+#: src/elflint.c:3295
 #, c-format
 msgid "section [%2d] '%s': entry %d has unknown flag\n"
 msgstr ""
 
-#: src/elflint.c:3311
+#: src/elflint.c:3322
 #, c-format
 msgid "section [%2d] '%s': entry %d has invalid name reference\n"
 msgstr ""
 
-#: src/elflint.c:3318
+#: src/elflint.c:3329
 #, c-format
 msgid "section [%2d] '%s': entry %d has wrong hash value: %#x, expected %#x\n"
 msgstr ""
 
-#: src/elflint.c:3326
+#: src/elflint.c:3337
 #, c-format
 msgid "section [%2d] '%s': entry %d has duplicate version name '%s'\n"
 msgstr ""
 
-#: src/elflint.c:3346
+#: src/elflint.c:3357
 #, c-format
 msgid ""
 "section [%2d] '%s': entry %d has invalid name reference in auxiliary data\n"
 msgstr ""
 
-#: src/elflint.c:3363
+#: src/elflint.c:3374
 #, c-format
 msgid "section [%2d] '%s': entry %d has wrong next field in auxiliary data\n"
 msgstr ""
 
-#: src/elflint.c:3396
+#: src/elflint.c:3407
 #, c-format
 msgid "section [%2d] '%s': no BASE definition\n"
 msgstr ""
 
-#: src/elflint.c:3412
+#: src/elflint.c:3423
 #, c-format
 msgid "section [%2d] '%s': unknown parent version '%s'\n"
 msgstr ""
 
-#: src/elflint.c:3425
+#: src/elflint.c:3436
 #, c-format
 msgid "section [%2d] '%s': empty object attributes section\n"
 msgstr ""
 
-#: src/elflint.c:3446
+#: src/elflint.c:3457
 #, c-format
 msgid "section [%2d] '%s': unrecognized attribute format\n"
 msgstr ""
 
-#: src/elflint.c:3462
+#: src/elflint.c:3473
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: zero length field in attribute section\n"
 msgstr ""
 
-#: src/elflint.c:3471
+#: src/elflint.c:3482
 #, c-format
 msgid "section [%2d] '%s': offset %zu: invalid length in attribute section\n"
 msgstr ""
 
-#: src/elflint.c:3483
+#: src/elflint.c:3494
 #, c-format
 msgid "section [%2d] '%s': offset %zu: unterminated vendor name string\n"
 msgstr ""
 
-#: src/elflint.c:3500
+#: src/elflint.c:3511
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: endless ULEB128 in attribute subsection tag\n"
 msgstr ""
 
-#: src/elflint.c:3509
+#: src/elflint.c:3520
 #, c-format
 msgid "section [%2d] '%s': offset %zu: truncated attribute section\n"
 msgstr ""
 
-#: src/elflint.c:3518
+#: src/elflint.c:3529
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: zero length field in attribute subsection\n"
 msgstr ""
 
-#: src/elflint.c:3533
+#: src/elflint.c:3544
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: invalid length in attribute subsection\n"
 msgstr ""
 
 #. Tag_File
-#: src/elflint.c:3544
+#: src/elflint.c:3555
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: attribute subsection has unexpected tag %u\n"
 msgstr ""
 
-#: src/elflint.c:3562
+#: src/elflint.c:3573
 #, c-format
 msgid "section [%2d] '%s': offset %zu: endless ULEB128 in attribute tag\n"
 msgstr ""
 
-#: src/elflint.c:3573
+#: src/elflint.c:3584
 #, c-format
 msgid "section [%2d] '%s': offset %zu: unterminated string in attribute\n"
 msgstr ""
 
-#: src/elflint.c:3586
+#: src/elflint.c:3597
 #, c-format
 msgid "section [%2d] '%s': offset %zu: unrecognized attribute tag %u\n"
 msgstr ""
 
-#: src/elflint.c:3590
+#: src/elflint.c:3601
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: unrecognized %s attribute value %<PRIu64>\n"
 msgstr ""
 
-#: src/elflint.c:3600
+#: src/elflint.c:3611
 #, c-format
 msgid "section [%2d] '%s': offset %zu: vendor '%s' unknown\n"
 msgstr ""
 
-#: src/elflint.c:3606
+#: src/elflint.c:3617
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: extra bytes after last attribute section\n"
 msgstr ""
 
-#: src/elflint.c:3695
+#: src/elflint.c:3714
 #, c-format
 msgid "cannot get section header of zeroth section\n"
 msgstr ""
 
-#: src/elflint.c:3699
+#: src/elflint.c:3718
 #, c-format
 msgid "zeroth section has nonzero name\n"
 msgstr ""
 
-#: src/elflint.c:3701
+#: src/elflint.c:3720
 #, c-format
 msgid "zeroth section has nonzero type\n"
 msgstr ""
 
-#: src/elflint.c:3703
+#: src/elflint.c:3722
 #, c-format
 msgid "zeroth section has nonzero flags\n"
 msgstr ""
 
-#: src/elflint.c:3705
+#: src/elflint.c:3724
 #, c-format
 msgid "zeroth section has nonzero address\n"
 msgstr ""
 
-#: src/elflint.c:3707
+#: src/elflint.c:3726
 #, c-format
 msgid "zeroth section has nonzero offset\n"
 msgstr ""
 
-#: src/elflint.c:3709
+#: src/elflint.c:3728
 #, c-format
 msgid "zeroth section has nonzero align value\n"
 msgstr ""
 
-#: src/elflint.c:3711
+#: src/elflint.c:3730
 #, c-format
 msgid "zeroth section has nonzero entry size value\n"
 msgstr ""
 
-#: src/elflint.c:3714
+#: src/elflint.c:3733
 #, c-format
 msgid ""
 "zeroth section has nonzero size value while ELF header has nonzero shnum "
 "value\n"
 msgstr ""
 
-#: src/elflint.c:3718
+#: src/elflint.c:3737
 #, c-format
 msgid ""
 "zeroth section has nonzero link value while ELF header does not signal "
 "overflow in shstrndx\n"
 msgstr ""
 
-#: src/elflint.c:3722
+#: src/elflint.c:3741
 #, c-format
 msgid ""
 "zeroth section has nonzero link value while ELF header does not signal "
 "overflow in phnum\n"
 msgstr ""
 
-#: src/elflint.c:3740
+#: src/elflint.c:3759
 #, c-format
 msgid "cannot get section header for section [%2zu] '%s': %s\n"
 msgstr ""
 
-#: src/elflint.c:3749
+#: src/elflint.c:3768
 #, c-format
 msgid "section [%2zu]: invalid name\n"
 msgstr ""
 
-#: src/elflint.c:3776
+#: src/elflint.c:3795
 #, c-format
 msgid "section [%2d] '%s' has wrong type: expected %s, is %s\n"
 msgstr ""
 
-#: src/elflint.c:3794
+#: src/elflint.c:3812
 #, c-format
 msgid "section [%2zu] '%s' has wrong flags: expected %s, is %s\n"
 msgstr ""
 
-#: src/elflint.c:3812
+#: src/elflint.c:3830
 #, c-format
 msgid ""
 "section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n"
 msgstr ""
 
-#: src/elflint.c:3830
+#: src/elflint.c:3847
 #, c-format
 msgid "section [%2zu] '%s' present in object file\n"
 msgstr ""
 
-#: src/elflint.c:3836 src/elflint.c:3868
+#: src/elflint.c:3853 src/elflint.c:3885
 #, c-format
 msgid ""
 "section [%2zu] '%s' has SHF_ALLOC flag set but there is no loadable segment\n"
 msgstr ""
 
-#: src/elflint.c:3841 src/elflint.c:3873
+#: src/elflint.c:3858 src/elflint.c:3890
 #, c-format
 msgid ""
 "section [%2zu] '%s' has SHF_ALLOC flag not set but there are loadable "
 "segments\n"
 msgstr ""
 
-#: src/elflint.c:3849
+#: src/elflint.c:3866
 #, c-format
 msgid ""
 "section [%2zu] '%s' is extension section index table in non-object file\n"
 msgstr ""
 
-#: src/elflint.c:3892
+#: src/elflint.c:3909
 #, c-format
 msgid "section [%2zu] '%s': size not multiple of entry size\n"
 msgstr ""
 
-#: src/elflint.c:3897
+#: src/elflint.c:3914
 #, c-format
 msgid "cannot get section header\n"
 msgstr ""
 
-#: src/elflint.c:3907
+#: src/elflint.c:3924
 #, c-format
 msgid "section [%2zu] '%s' has unsupported type %d\n"
 msgstr ""
 
-#: src/elflint.c:3922
+#: src/elflint.c:3944
 #, c-format
 msgid ""
 "section [%2zu] '%s' contains invalid processor-specific flag(s) %#<PRIx64>\n"
 msgstr ""
 
-#: src/elflint.c:3929
+#: src/elflint.c:3954
 #, c-format
 msgid "section [%2zu] '%s' contains unknown flag(s) %#<PRIx64>\n"
 msgstr ""
 
-#: src/elflint.c:3937
+#: src/elflint.c:3962
 #, c-format
 msgid "section [%2zu] '%s': thread-local data sections address not zero\n"
 msgstr ""
 
-#: src/elflint.c:3947
+#: src/elflint.c:3972
 #, fuzzy, c-format
 msgid "section [%2zu] '%s': allocated section cannot be compressed\n"
 msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/elflint.c:3952
+#: src/elflint.c:3977
 #, fuzzy, c-format
 msgid "section [%2zu] '%s': nobits section cannot be compressed\n"
 msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/elflint.c:3958
+#: src/elflint.c:3983
 #, c-format
 msgid ""
 "section [%2zu] '%s': compressed section with no compression header: %s\n"
 msgstr ""
 
-#: src/elflint.c:3964
+#: src/elflint.c:3989
 #, c-format
 msgid "section [%2zu] '%s': invalid section reference in link value\n"
 msgstr ""
 
-#: src/elflint.c:3969
+#: src/elflint.c:3994
 #, c-format
 msgid "section [%2zu] '%s': invalid section reference in info value\n"
 msgstr ""
 
-#: src/elflint.c:3976
+#: src/elflint.c:4001
 #, c-format
 msgid "section [%2zu] '%s': strings flag set without merge flag\n"
 msgstr ""
 
-#: src/elflint.c:3981
+#: src/elflint.c:4006
 #, c-format
 msgid "section [%2zu] '%s': merge flag set but entry size is zero\n"
 msgstr ""
 
-#: src/elflint.c:4000
+#: src/elflint.c:4025
 #, c-format
 msgid "section [%2zu] '%s' has unexpected type %d for an executable section\n"
 msgstr ""
 
-#: src/elflint.c:4009
+#: src/elflint.c:4034
 #, c-format
 msgid "section [%2zu] '%s' must be of type NOBITS in debuginfo files\n"
 msgstr ""
 
-#: src/elflint.c:4016
+#: src/elflint.c:4041
 #, c-format
 msgid "section [%2zu] '%s' is both executable and writable\n"
 msgstr ""
 
-#: src/elflint.c:4047
+#: src/elflint.c:4072
 #, c-format
 msgid ""
 "section [%2zu] '%s' not fully contained in segment of program header entry "
 "%d\n"
 msgstr ""
 
-#: src/elflint.c:4057
+#: src/elflint.c:4082
 #, 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:4083
+#: src/elflint.c:4108
 #, c-format
 msgid ""
 "section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
 "program header entry %d and file contents is non-zero\n"
 msgstr ""
 
-#: src/elflint.c:4094
+#: src/elflint.c:4119
 #, 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:4105
+#: src/elflint.c:4130
 #, c-format
 msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n"
 msgstr ""
 
-#: src/elflint.c:4115
+#: src/elflint.c:4140
 #, c-format
 msgid "section [%2zu] '%s' is writable in unwritable segment %d\n"
 msgstr ""
 
-#: src/elflint.c:4125
+#: src/elflint.c:4150
 #, c-format
 msgid ""
 "section [%2zu] '%s': alloc flag set but section not in any loaded segment\n"
 msgstr ""
 
-#: src/elflint.c:4131
+#: src/elflint.c:4156
 #, 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:4139
+#: src/elflint.c:4164
 #, c-format
 msgid ""
 "section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n"
 msgstr ""
 
-#: src/elflint.c:4190
+#: src/elflint.c:4215
 #, c-format
 msgid "more than one version symbol table present\n"
 msgstr ""
 
-#: src/elflint.c:4213
+#: src/elflint.c:4238
 #, c-format
 msgid "INTERP program header entry but no .interp section\n"
 msgstr ""
 
-#: src/elflint.c:4224
+#: src/elflint.c:4249
 #, c-format
 msgid ""
 "loadable segment [%u] is executable but contains no executable sections\n"
 msgstr ""
 
-#: src/elflint.c:4230
+#: src/elflint.c:4255
 #, c-format
 msgid "loadable segment [%u] is writable but contains no writable sections\n"
 msgstr ""
 
-#: src/elflint.c:4241
+#: src/elflint.c:4266
 #, c-format
 msgid ""
 "no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section "
 "exist\n"
 msgstr ""
 
-#: src/elflint.c:4254
+#: src/elflint.c:4279
 #, c-format
 msgid "duplicate version index %d\n"
 msgstr ""
 
-#: src/elflint.c:4268
+#: src/elflint.c:4293
 #, c-format
 msgid ".gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n"
 msgstr ""
 
-#: src/elflint.c:4317
+#: src/elflint.c:4342
 #, c-format
 msgid "phdr[%d]: unknown core file note type %<PRIu32> at offset %<PRIu64>\n"
 msgstr ""
 
-#: src/elflint.c:4321
+#: src/elflint.c:4346
 #, c-format
 msgid ""
 "section [%2d] '%s': unknown core file note type %<PRIu32> at offset %zu\n"
 msgstr ""
 
-#: src/elflint.c:4370
+#: src/elflint.c:4395
 #, c-format
 msgid ""
 "phdr[%d]: unknown object file note type %<PRIu32> with owner name '%s' at "
 "offset %zu\n"
 msgstr ""
 
-#: src/elflint.c:4375
+#: src/elflint.c:4400
 #, c-format
 msgid ""
 "section [%2d] '%s': unknown object file note type %<PRIu32> with owner name "
 "'%s' at offset %zu\n"
 msgstr ""
 
-#: src/elflint.c:4394
+#: src/elflint.c:4419
 #, c-format
 msgid "phdr[%d]: no note entries defined for the type of file\n"
 msgstr ""
 
-#: src/elflint.c:4414
+#: src/elflint.c:4439
 #, c-format
 msgid "phdr[%d]: cannot get content of note section: %s\n"
 msgstr ""
 
-#: src/elflint.c:4417
+#: src/elflint.c:4442
 #, c-format
 msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n"
 msgstr ""
 
-#: src/elflint.c:4438
+#: src/elflint.c:4463
 #, c-format
 msgid "section [%2d] '%s': no note entries defined for the type of file\n"
 msgstr ""
 
-#: src/elflint.c:4445
+#: src/elflint.c:4470
 #, c-format
 msgid "section [%2d] '%s': cannot get content of note section\n"
 msgstr ""
 
-#: src/elflint.c:4448
+#: src/elflint.c:4473
 #, c-format
 msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n"
 msgstr ""
 
-#: src/elflint.c:4466
+#: src/elflint.c:4491
 #, c-format
 msgid ""
 "only executables, shared objects, and core files can have program headers\n"
 msgstr ""
 
-#: src/elflint.c:4481
+#: src/elflint.c:4506
 #, c-format
 msgid "cannot get program header entry %d: %s\n"
 msgstr ""
 
-#: src/elflint.c:4490
+#: src/elflint.c:4516
 #, c-format
 msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n"
 msgstr ""
 
-#: src/elflint.c:4501
+#: src/elflint.c:4527
 #, c-format
 msgid "more than one INTERP entry in program header\n"
 msgstr ""
 
-#: src/elflint.c:4509
+#: src/elflint.c:4535
 #, c-format
 msgid "more than one TLS entry in program header\n"
 msgstr ""
 
-#: src/elflint.c:4516
+#: src/elflint.c:4542
 #, c-format
 msgid "static executable cannot have dynamic sections\n"
 msgstr ""
 
-#: src/elflint.c:4530
+#: src/elflint.c:4556
 #, c-format
 msgid "dynamic section reference in program header has wrong offset\n"
 msgstr ""
 
-#: src/elflint.c:4533
+#: src/elflint.c:4559
 #, c-format
 msgid "dynamic section size mismatch in program and section header\n"
 msgstr ""
 
-#: src/elflint.c:4543
+#: src/elflint.c:4569
 #, c-format
 msgid "more than one GNU_RELRO entry in program header\n"
 msgstr ""
 
-#: src/elflint.c:4564
+#: src/elflint.c:4590
 #, c-format
 msgid "loadable segment GNU_RELRO applies to is not writable\n"
 msgstr ""
 
-#: src/elflint.c:4575
+#: src/elflint.c:4601
 #, c-format
 msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n"
 msgstr ""
 
-#: src/elflint.c:4582
+#: src/elflint.c:4608
 #, c-format
 msgid ""
 "GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n"
 msgstr ""
 
-#: src/elflint.c:4591 src/elflint.c:4614
+#: src/elflint.c:4617 src/elflint.c:4640
 #, c-format
 msgid "%s segment not contained in a loaded segment\n"
 msgstr ""
 
-#: src/elflint.c:4620
+#: src/elflint.c:4646
 #, c-format
 msgid "program header offset in ELF header and PHDR entry do not match"
 msgstr ""
 
-#: src/elflint.c:4647
+#: src/elflint.c:4673
 #, c-format
 msgid "call frame search table reference in program header has wrong offset\n"
 msgstr ""
 
-#: src/elflint.c:4650
+#: src/elflint.c:4676
 #, c-format
 msgid "call frame search table size mismatch in program and section header\n"
 msgstr ""
 
-#: src/elflint.c:4663
+#: src/elflint.c:4689
 #, c-format
 msgid "PT_GNU_EH_FRAME present but no .eh_frame_hdr section\n"
 msgstr ""
 
-#: src/elflint.c:4671
+#: src/elflint.c:4697
 #, c-format
 msgid "call frame search table must be allocated\n"
 msgstr ""
 
-#: src/elflint.c:4674
+#: src/elflint.c:4700
 #, c-format
 msgid "section [%2zu] '%s' must be allocated\n"
 msgstr ""
 
-#: src/elflint.c:4678
+#: src/elflint.c:4704
 #, c-format
 msgid "call frame search table must not be writable\n"
 msgstr ""
 
-#: src/elflint.c:4681
+#: src/elflint.c:4707
 #, c-format
 msgid "section [%2zu] '%s' must not be writable\n"
 msgstr ""
 
-#: src/elflint.c:4686
+#: src/elflint.c:4712
 #, c-format
 msgid "call frame search table must not be executable\n"
 msgstr ""
 
-#: src/elflint.c:4689
+#: src/elflint.c:4715
 #, c-format
 msgid "section [%2zu] '%s' must not be executable\n"
 msgstr ""
 
-#: src/elflint.c:4700
+#: src/elflint.c:4726
 #, c-format
 msgid "program header entry %d: file size greater than memory size\n"
 msgstr ""
 
-#: src/elflint.c:4707
+#: src/elflint.c:4733
 #, c-format
 msgid "program header entry %d: alignment not a power of 2\n"
 msgstr ""
 
-#: src/elflint.c:4710
+#: src/elflint.c:4736
 #, c-format
 msgid ""
 "program header entry %d: file offset and virtual address not module of "
 "alignment\n"
 msgstr ""
 
-#: src/elflint.c:4723
+#: src/elflint.c:4749
 #, 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:4757
+#: src/elflint.c:4783
 #, c-format
 msgid "cannot read ELF header: %s\n"
 msgstr ""
 
-#: src/elflint.c:4783
+#: src/elflint.c:4795
+#, fuzzy, c-format
+msgid "cannot create backend for ELF file\n"
+msgstr "neue Datei konnte nicht angelegt werden"
+
+#: src/elflint.c:4816
 #, c-format
 msgid "text relocation flag set but not needed\n"
 msgstr ""
@@ -3393,7 +3412,7 @@
 msgid "Print size of defined symbols"
 msgstr "Zeige Grösse der definierten Symbole"
 
-#: src/nm.c:91 src/size.c:68 src/strip.c:75 src/unstrip.c:73
+#: src/nm.c:91 src/size.c:68 src/strip.c:75 src/unstrip.c:69
 msgid "Output options:"
 msgstr "Ausgabeoptionen:"
 
@@ -3429,12 +3448,12 @@
 msgstr "%s: INTERNER FEHLER %d (%s-%s): %s"
 
 #: src/nm.c:381 src/nm.c:393 src/size.c:288 src/size.c:297 src/size.c:308
-#: src/strip.c:2748
+#: src/strip.c:2763
 #, c-format
 msgid "while closing '%s'"
 msgstr "beim Schliessen von '%s'"
 
-#: src/nm.c:403 src/objdump.c:280 src/strip.c:797
+#: src/nm.c:403 src/objdump.c:280 src/strip.c:818
 #, c-format
 msgid "%s: File format not recognized"
 msgstr "%s: Dateiformat nicht erkannt"
@@ -3474,13 +3493,13 @@
 msgid "cannot create search tree"
 msgstr "Kann Suchbaum nicht erstellen"
 
-#: src/nm.c:746 src/nm.c:1205 src/objdump.c:779 src/readelf.c:635
-#: src/readelf.c:1447 src/readelf.c:1598 src/readelf.c:1799 src/readelf.c:2005
-#: src/readelf.c:2195 src/readelf.c:2373 src/readelf.c:2449 src/readelf.c:2707
-#: src/readelf.c:2783 src/readelf.c:2870 src/readelf.c:3468 src/readelf.c:3518
-#: src/readelf.c:3581 src/readelf.c:11230 src/readelf.c:12415
-#: src/readelf.c:12626 src/readelf.c:12695 src/size.c:398 src/size.c:470
-#: src/strip.c:1038
+#: src/nm.c:746 src/nm.c:1239 src/objdump.c:782 src/readelf.c:637
+#: src/readelf.c:1451 src/readelf.c:1602 src/readelf.c:1803 src/readelf.c:2009
+#: src/readelf.c:2199 src/readelf.c:2377 src/readelf.c:2453 src/readelf.c:2711
+#: src/readelf.c:2787 src/readelf.c:2874 src/readelf.c:3472 src/readelf.c:3522
+#: src/readelf.c:3592 src/readelf.c:11328 src/readelf.c:12523
+#: src/readelf.c:12734 src/readelf.c:12803 src/size.c:398 src/size.c:470
+#: src/strip.c:1084
 #, c-format
 msgid "cannot get section header string table index"
 msgstr ""
@@ -3507,28 +3526,28 @@
 "\n"
 msgstr ""
 
-#: src/nm.c:1216
+#: src/nm.c:1250
 #, fuzzy, c-format
 msgid "%s: entry size in section %zd `%s' is not what we expect"
 msgstr "%s: entry size in section `%s' is not what we expect"
 
-#: src/nm.c:1221
+#: src/nm.c:1255
 #, fuzzy, c-format
 msgid "%s: size of section %zd `%s' is not multiple of entry size"
 msgstr "%s: entry size in section `%s' is not what we expect"
 
-#: src/nm.c:1300
+#: src/nm.c:1334
 #, fuzzy, c-format
 msgid "%s: entries (%zd) in section %zd `%s' is too large"
 msgstr "%s: entry size in section `%s' is not what we expect"
 
 #. XXX Add machine specific object file types.
-#: src/nm.c:1527
+#: src/nm.c:1570
 #, c-format
 msgid "%s%s%s%s: Invalid operation"
 msgstr "%s%s%s%s: Ungültige Operation"
 
-#: src/nm.c:1584
+#: src/nm.c:1620
 #, c-format
 msgid "%s%s%s: no symbols"
 msgstr "%s%s%s: keine Symbole"
@@ -3563,7 +3582,7 @@
 msgid "Show information from FILEs (a.out by default)."
 msgstr ""
 
-#: src/objdump.c:218 src/readelf.c:580
+#: src/objdump.c:218 src/readelf.c:582
 msgid "No operation specified.\n"
 msgstr "Keine Operation angegeben.\n"
 
@@ -3572,11 +3591,11 @@
 msgid "while close `%s'"
 msgstr ""
 
-#: src/objdump.c:363 src/readelf.c:2100 src/readelf.c:2292
+#: src/objdump.c:363 src/readelf.c:2104 src/readelf.c:2296
 msgid "INVALID SYMBOL"
 msgstr ""
 
-#: src/objdump.c:378 src/readelf.c:2134 src/readelf.c:2328
+#: src/objdump.c:378 src/readelf.c:2138 src/readelf.c:2332
 msgid "INVALID SECTION"
 msgstr ""
 
@@ -3602,6 +3621,11 @@
 msgid "cannot disassemble"
 msgstr "Disassemblieren nicht möglich"
 
+#: src/objdump.c:760
+#, fuzzy, c-format
+msgid "cannot create backend for elf file"
+msgstr "neue Datei konnte nicht angelegt werden"
+
 #. Short description of program.
 #: src/ranlib.c:63
 msgid "Generate an index to speed access to archives."
@@ -3771,369 +3795,369 @@
 msgid "no"
 msgstr "nein"
 
-#: src/readelf.c:548
+#: src/readelf.c:550
 #, c-format
 msgid "Unknown DWARF debug section `%s'.\n"
 msgstr ""
 
-#: src/readelf.c:619 src/readelf.c:730
+#: src/readelf.c:621 src/readelf.c:732
 #, c-format
 msgid "cannot generate Elf descriptor: %s"
 msgstr "konnte Elf-Deskriptor nicht erzeugen: %s"
 
-#: src/readelf.c:626 src/readelf.c:953 src/strip.c:1133
+#: src/readelf.c:628 src/readelf.c:955 src/strip.c:1179
 #, c-format
 msgid "cannot determine number of sections: %s"
 msgstr ""
 
-#: src/readelf.c:644 src/readelf.c:1263 src/readelf.c:1471
+#: src/readelf.c:646 src/readelf.c:1265 src/readelf.c:1475
 #, c-format
 msgid "cannot get section: %s"
 msgstr ""
 
-#: src/readelf.c:653 src/readelf.c:1270 src/readelf.c:1479 src/readelf.c:12646
-#: src/unstrip.c:395 src/unstrip.c:426 src/unstrip.c:485 src/unstrip.c:604
-#: src/unstrip.c:625 src/unstrip.c:665 src/unstrip.c:881 src/unstrip.c:1212
-#: src/unstrip.c:1339 src/unstrip.c:1363 src/unstrip.c:1419 src/unstrip.c:1483
-#: src/unstrip.c:1658 src/unstrip.c:1809 src/unstrip.c:1952 src/unstrip.c:2051
+#: src/readelf.c:655 src/readelf.c:1272 src/readelf.c:1483 src/readelf.c:12754
+#: src/unstrip.c:397 src/unstrip.c:428 src/unstrip.c:487 src/unstrip.c:608
+#: src/unstrip.c:629 src/unstrip.c:669 src/unstrip.c:885 src/unstrip.c:1216
+#: src/unstrip.c:1343 src/unstrip.c:1367 src/unstrip.c:1423 src/unstrip.c:1487
+#: src/unstrip.c:1662 src/unstrip.c:1813 src/unstrip.c:1956 src/unstrip.c:2055
 #, c-format
 msgid "cannot get section header: %s"
 msgstr ""
 
-#: src/readelf.c:661
+#: src/readelf.c:663
 #, fuzzy, c-format
 msgid "cannot get section name"
 msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/readelf.c:670 src/readelf.c:6576 src/readelf.c:10502 src/readelf.c:10604
-#: src/readelf.c:10782
+#: src/readelf.c:672 src/readelf.c:6628 src/readelf.c:10600 src/readelf.c:10702
+#: src/readelf.c:10880
 #, c-format
 msgid "cannot get %s content: %s"
 msgstr ""
 
-#: src/readelf.c:686
+#: src/readelf.c:688
 #, fuzzy, c-format
 msgid "cannot create temp file '%s'"
 msgstr "neue Datei konnte nicht angelegt werden"
 
-#: src/readelf.c:695
+#: src/readelf.c:697
 #, fuzzy, c-format
 msgid "cannot write section data"
 msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/readelf.c:701 src/readelf.c:718 src/readelf.c:747
+#: src/readelf.c:703 src/readelf.c:720 src/readelf.c:749
 #, c-format
 msgid "error while closing Elf descriptor: %s"
 msgstr ""
 
-#: src/readelf.c:708
+#: src/readelf.c:710
 #, fuzzy, c-format
 msgid "error while rewinding file descriptor"
 msgstr "Fehler beim Schliessen des Elf-Desktriptor: %s\n"
 
-#: src/readelf.c:742
+#: src/readelf.c:744
 #, c-format
 msgid "'%s' is not an archive, cannot print archive index"
 msgstr ""
 
-#: src/readelf.c:846
+#: src/readelf.c:848
 #, c-format
 msgid "cannot stat input file"
 msgstr ""
 
-#: src/readelf.c:848
+#: src/readelf.c:850
 #, c-format
 msgid "input file is empty"
 msgstr ""
 
-#: src/readelf.c:850
+#: src/readelf.c:852
 #, c-format
 msgid "failed reading '%s': %s"
 msgstr "Konnte '%s' nicht lesen: %s"
 
-#: src/readelf.c:879
+#: src/readelf.c:881
 #, fuzzy, c-format
 msgid "No such section '%s' in '%s'"
 msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/readelf.c:938
+#: src/readelf.c:940
 #, c-format
 msgid "cannot read ELF header: %s"
 msgstr ""
 
-#: src/readelf.c:946
+#: src/readelf.c:948
 #, c-format
 msgid "cannot create EBL handle"
 msgstr ""
 
-#: src/readelf.c:959
+#: src/readelf.c:961
 #, fuzzy, c-format
 msgid "cannot determine number of program headers: %s"
 msgstr "konnte Programm-Kopf nicht erstellen: %s"
 
-#: src/readelf.c:991
+#: src/readelf.c:993
 #, fuzzy, c-format
 msgid "cannot read ELF: %s"
 msgstr "Konnte %s: %s nicht lesen"
 
-#: src/readelf.c:1052
+#: src/readelf.c:1054
 msgid "NONE (None)"
 msgstr ""
 
-#: src/readelf.c:1053
+#: src/readelf.c:1055
 msgid "REL (Relocatable file)"
 msgstr ""
 
-#: src/readelf.c:1054
+#: src/readelf.c:1056
 msgid "EXEC (Executable file)"
 msgstr ""
 
-#: src/readelf.c:1055
+#: src/readelf.c:1057
 msgid "DYN (Shared object file)"
 msgstr ""
 
-#: src/readelf.c:1056
+#: src/readelf.c:1058
 msgid "CORE (Core file)"
 msgstr ""
 
-#: src/readelf.c:1061
+#: src/readelf.c:1063
 #, c-format
 msgid "OS Specific: (%x)\n"
 msgstr ""
 
 #. && e_type <= ET_HIPROC always true
-#: src/readelf.c:1063
+#: src/readelf.c:1065
 #, c-format
 msgid "Processor Specific: (%x)\n"
 msgstr ""
 
-#: src/readelf.c:1073
+#: src/readelf.c:1075
 msgid ""
 "ELF Header:\n"
 "  Magic:  "
 msgstr ""
 
-#: src/readelf.c:1077
+#: src/readelf.c:1079
 #, c-format
 msgid ""
 "\n"
 "  Class:                             %s\n"
 msgstr ""
 
-#: src/readelf.c:1082
+#: src/readelf.c:1084
 #, fuzzy, c-format
 msgid "  Data:                              %s\n"
 msgstr "  Daten:                             %s\n"
 
-#: src/readelf.c:1088
+#: src/readelf.c:1090
 #, c-format
 msgid "  Ident Version:                     %hhd %s\n"
 msgstr ""
 
-#: src/readelf.c:1090 src/readelf.c:1112
+#: src/readelf.c:1092 src/readelf.c:1114
 msgid "(current)"
 msgstr "(aktuell)"
 
-#: src/readelf.c:1094
+#: src/readelf.c:1096
 #, c-format
 msgid "  OS/ABI:                            %s\n"
 msgstr ""
 
-#: src/readelf.c:1097
+#: src/readelf.c:1099
 #, c-format
 msgid "  ABI Version:                       %hhd\n"
 msgstr ""
 
-#: src/readelf.c:1100
+#: src/readelf.c:1102
 msgid "  Type:                              "
 msgstr "  Typ:                               "
 
-#: src/readelf.c:1105
+#: src/readelf.c:1107
 #, c-format
 msgid "  Machine:                           %s\n"
 msgstr ""
 
-#: src/readelf.c:1107
+#: src/readelf.c:1109
 #, fuzzy, c-format
 msgid "  Machine:                           <unknown>: 0x%x\n"
 msgstr "  Daten:                             %s\n"
 
-#: src/readelf.c:1110
+#: src/readelf.c:1112
 #, c-format
 msgid "  Version:                           %d %s\n"
 msgstr ""
 
-#: src/readelf.c:1114
+#: src/readelf.c:1116
 #, c-format
 msgid "  Entry point address:               %#<PRIx64>\n"
 msgstr ""
 
-#: src/readelf.c:1117
+#: src/readelf.c:1119
 #, c-format
 msgid "  Start of program headers:          %<PRId64> %s\n"
 msgstr ""
 
-#: src/readelf.c:1118 src/readelf.c:1121
+#: src/readelf.c:1120 src/readelf.c:1123
 msgid "(bytes into file)"
 msgstr ""
 
-#: src/readelf.c:1120
+#: src/readelf.c:1122
 #, c-format
 msgid "  Start of section headers:          %<PRId64> %s\n"
 msgstr ""
 
-#: src/readelf.c:1123
+#: src/readelf.c:1125
 #, c-format
 msgid "  Flags:                             %s\n"
 msgstr ""
 
-#: src/readelf.c:1126
+#: src/readelf.c:1128
 #, c-format
 msgid "  Size of this header:               %<PRId16> %s\n"
 msgstr ""
 
-#: src/readelf.c:1127 src/readelf.c:1130 src/readelf.c:1147
+#: src/readelf.c:1129 src/readelf.c:1132 src/readelf.c:1149
 msgid "(bytes)"
 msgstr "(Bytes)"
 
-#: src/readelf.c:1129
+#: src/readelf.c:1131
 #, c-format
 msgid "  Size of program header entries:    %<PRId16> %s\n"
 msgstr ""
 
-#: src/readelf.c:1132
+#: src/readelf.c:1134
 #, c-format
 msgid "  Number of program headers entries: %<PRId16>"
 msgstr ""
 
-#: src/readelf.c:1139
+#: src/readelf.c:1141
 #, c-format
 msgid " (%<PRIu32> in [0].sh_info)"
 msgstr ""
 
-#: src/readelf.c:1142 src/readelf.c:1159 src/readelf.c:1173
+#: src/readelf.c:1144 src/readelf.c:1161 src/readelf.c:1175
 msgid " ([0] not available)"
 msgstr ""
 
-#: src/readelf.c:1146
+#: src/readelf.c:1148
 #, c-format
 msgid "  Size of section header entries:    %<PRId16> %s\n"
 msgstr ""
 
-#: src/readelf.c:1149
+#: src/readelf.c:1151
 #, c-format
 msgid "  Number of section headers entries: %<PRId16>"
 msgstr ""
 
-#: src/readelf.c:1156
+#: src/readelf.c:1158
 #, c-format
 msgid " (%<PRIu32> in [0].sh_size)"
 msgstr ""
 
 #. We managed to get the zeroth section.
-#: src/readelf.c:1169
+#: src/readelf.c:1171
 #, c-format
 msgid " (%<PRIu32> in [0].sh_link)"
 msgstr ""
 
-#: src/readelf.c:1177
+#: src/readelf.c:1179
 #, c-format
 msgid ""
 "  Section header string table index: XINDEX%s\n"
 "\n"
 msgstr ""
 
-#: src/readelf.c:1181
+#: src/readelf.c:1183
 #, c-format
 msgid ""
 "  Section header string table index: %<PRId16>\n"
 "\n"
 msgstr ""
 
-#: src/readelf.c:1228 src/readelf.c:1436
+#: src/readelf.c:1230 src/readelf.c:1440
 #, fuzzy, c-format
 msgid "cannot get number of sections: %s"
 msgstr "konnte Programm-Kopf nicht erstellen: %s"
 
-#: src/readelf.c:1231
+#: src/readelf.c:1233
 #, fuzzy, c-format
 msgid ""
 "There are %zd section headers, starting at offset %#<PRIx64>:\n"
 "\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:1240
+#: src/readelf.c:1242
 #, fuzzy, c-format
 msgid "cannot get section header string table index: %s"
 msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/readelf.c:1243
+#: src/readelf.c:1245
 msgid "Section Headers:"
 msgstr ""
 
-#: src/readelf.c:1246
+#: src/readelf.c:1248
 msgid ""
 "[Nr] Name                 Type         Addr     Off    Size   ES Flags Lk "
 "Inf Al"
 msgstr ""
 
-#: src/readelf.c:1248
+#: src/readelf.c:1250
 msgid ""
 "[Nr] Name                 Type         Addr             Off      Size     ES "
 "Flags Lk Inf Al"
 msgstr ""
 
-#: src/readelf.c:1253
+#: src/readelf.c:1255
 msgid "     [Compression  Size   Al]"
 msgstr ""
 
-#: src/readelf.c:1255
+#: src/readelf.c:1257
 msgid "     [Compression  Size     Al]"
 msgstr ""
 
-#: src/readelf.c:1331
+#: src/readelf.c:1335
 #, c-format
 msgid "bad compression header for section %zd: %s"
 msgstr ""
 
-#: src/readelf.c:1342
+#: src/readelf.c:1346
 #, c-format
 msgid "bad gnu compressed size for section %zd: %s"
 msgstr ""
 
-#: src/readelf.c:1360
+#: src/readelf.c:1364
 msgid "Program Headers:"
 msgstr "Programm-Köpfe:"
 
-#: src/readelf.c:1362
+#: src/readelf.c:1366
 msgid ""
 "  Type           Offset   VirtAddr   PhysAddr   FileSiz  MemSiz   Flg Align"
 msgstr ""
 
-#: src/readelf.c:1365
+#: src/readelf.c:1369
 msgid ""
 "  Type           Offset   VirtAddr           PhysAddr           FileSiz  "
 "MemSiz   Flg Align"
 msgstr ""
 
-#: src/readelf.c:1422
+#: src/readelf.c:1426
 #, c-format
 msgid "\t[Requesting program interpreter: %s]\n"
 msgstr ""
 
-#: src/readelf.c:1449
+#: src/readelf.c:1453
 msgid ""
 "\n"
 " Section to Segment mapping:\n"
 "  Segment Sections..."
 msgstr ""
 
-#: src/readelf.c:1460 src/unstrip.c:2110 src/unstrip.c:2152 src/unstrip.c:2159
+#: src/readelf.c:1464 src/unstrip.c:2114 src/unstrip.c:2156 src/unstrip.c:2163
 #, c-format
 msgid "cannot get program header: %s"
 msgstr ""
 
-#: src/readelf.c:1606
+#: src/readelf.c:1610
 #, c-format
 msgid ""
 "\n"
@@ -4144,7 +4168,7 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/readelf.c:1611
+#: src/readelf.c:1615
 #, c-format
 msgid ""
 "\n"
@@ -4155,31 +4179,31 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/readelf.c:1619
+#: src/readelf.c:1623
 msgid "<INVALID SYMBOL>"
 msgstr ""
 
-#: src/readelf.c:1633
+#: src/readelf.c:1637
 msgid "<INVALID SECTION>"
 msgstr ""
 
-#: src/readelf.c:1656 src/readelf.c:2383 src/readelf.c:3484 src/readelf.c:12517
-#: src/readelf.c:12524 src/readelf.c:12568 src/readelf.c:12575
+#: src/readelf.c:1660 src/readelf.c:2387 src/readelf.c:3488 src/readelf.c:12625
+#: src/readelf.c:12632 src/readelf.c:12676 src/readelf.c:12683
 msgid "Couldn't uncompress section"
 msgstr ""
 
-#: src/readelf.c:1661 src/readelf.c:2388 src/readelf.c:3489
+#: src/readelf.c:1665 src/readelf.c:2392 src/readelf.c:3493
 #, fuzzy, c-format
 msgid "cannot get section [%zd] header: %s"
 msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/readelf.c:1805 src/readelf.c:2455 src/readelf.c:2713 src/readelf.c:2789
-#: src/readelf.c:3093 src/readelf.c:3167 src/readelf.c:5364
+#: src/readelf.c:1809 src/readelf.c:2459 src/readelf.c:2717 src/readelf.c:2793
+#: src/readelf.c:3097 src/readelf.c:3171 src/readelf.c:5401
 #, fuzzy, c-format
 msgid "invalid sh_link value in section %zu"
 msgstr "ungültige .debug_line Sektion"
 
-#: src/readelf.c:1808
+#: src/readelf.c:1812
 #, c-format
 msgid ""
 "\n"
@@ -4192,43 +4216,43 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/readelf.c:1818
+#: src/readelf.c:1822
 msgid "  Type              Value\n"
 msgstr ""
 
-#: src/readelf.c:1842
+#: src/readelf.c:1846
 #, c-format
 msgid "Shared library: [%s]\n"
 msgstr ""
 
-#: src/readelf.c:1847
+#: src/readelf.c:1851
 #, c-format
 msgid "Library soname: [%s]\n"
 msgstr ""
 
-#: src/readelf.c:1852
+#: src/readelf.c:1856
 #, c-format
 msgid "Library rpath: [%s]\n"
 msgstr ""
 
-#: src/readelf.c:1857
+#: src/readelf.c:1861
 #, c-format
 msgid "Library runpath: [%s]\n"
 msgstr ""
 
-#: src/readelf.c:1877
+#: src/readelf.c:1881
 #, c-format
 msgid "%<PRId64> (bytes)\n"
 msgstr ""
 
-#: src/readelf.c:1990 src/readelf.c:2180
+#: src/readelf.c:1994 src/readelf.c:2184
 #, c-format
 msgid ""
 "\n"
 "Invalid symbol table at offset %#0<PRIx64>\n"
 msgstr ""
 
-#: src/readelf.c:2008 src/readelf.c:2198
+#: src/readelf.c:2012 src/readelf.c:2202
 #, c-format
 msgid ""
 "\n"
@@ -4247,7 +4271,7 @@
 #. The .rela.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:2023 src/readelf.c:2213
+#: src/readelf.c:2027 src/readelf.c:2217
 #, c-format
 msgid ""
 "\n"
@@ -4258,29 +4282,29 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/readelf.c:2033
+#: src/readelf.c:2037
 msgid "  Offset      Type                 Value       Name\n"
 msgstr ""
 
-#: src/readelf.c:2035
+#: src/readelf.c:2039
 msgid "  Offset              Type                 Value               Name\n"
 msgstr ""
 
-#: src/readelf.c:2088 src/readelf.c:2099 src/readelf.c:2112 src/readelf.c:2133
-#: src/readelf.c:2145 src/readelf.c:2279 src/readelf.c:2291 src/readelf.c:2305
-#: src/readelf.c:2327 src/readelf.c:2340
+#: src/readelf.c:2092 src/readelf.c:2103 src/readelf.c:2116 src/readelf.c:2137
+#: src/readelf.c:2149 src/readelf.c:2283 src/readelf.c:2295 src/readelf.c:2309
+#: src/readelf.c:2331 src/readelf.c:2344
 msgid "<INVALID RELOC>"
 msgstr ""
 
-#: src/readelf.c:2223
+#: src/readelf.c:2227
 msgid "  Offset      Type            Value       Addend Name\n"
 msgstr ""
 
-#: src/readelf.c:2225
+#: src/readelf.c:2229
 msgid "  Offset              Type            Value               Addend Name\n"
 msgstr ""
 
-#: src/readelf.c:2463
+#: src/readelf.c:2467
 #, c-format
 msgid ""
 "\n"
@@ -4291,40 +4315,40 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/readelf.c:2468
+#: src/readelf.c:2472
 #, 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:2476
+#: src/readelf.c:2480
 msgid "  Num:    Value   Size Type    Bind   Vis          Ndx Name\n"
 msgstr ""
 
-#: src/readelf.c:2478
+#: src/readelf.c:2482
 msgid "  Num:            Value   Size Type    Bind   Vis          Ndx Name\n"
 msgstr ""
 
-#: src/readelf.c:2498
+#: src/readelf.c:2502
 #, c-format
 msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
 msgstr ""
 
-#: src/readelf.c:2586
+#: src/readelf.c:2590
 #, c-format
 msgid "bad dynamic symbol"
 msgstr ""
 
-#: src/readelf.c:2668
+#: src/readelf.c:2672
 msgid "none"
 msgstr "keine"
 
-#: src/readelf.c:2685
+#: src/readelf.c:2689
 msgid "| <unknown>"
 msgstr "| <unbekannt>"
 
-#: src/readelf.c:2716
+#: src/readelf.c:2720
 #, c-format
 msgid ""
 "\n"
@@ -4337,17 +4361,17 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/readelf.c:2737
+#: src/readelf.c:2741
 #, fuzzy, c-format
 msgid "  %#06x: Version: %hu  File: %s  Cnt: %hu\n"
 msgstr "  %#06x: Version: %hu  Datei: %s  Cnt: %hu\n"
 
-#: src/readelf.c:2750
+#: src/readelf.c:2754
 #, c-format
 msgid "  %#06x: Name: %s  Flags: %s  Version: %hu\n"
 msgstr "  %#06x: Name: %s  Flags: %s  Version: %hu\n"
 
-#: src/readelf.c:2793
+#: src/readelf.c:2797
 #, c-format
 msgid ""
 "\n"
@@ -4360,18 +4384,18 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/readelf.c:2821
+#: src/readelf.c:2825
 #, c-format
 msgid "  %#06x: Version: %hd  Flags: %s  Index: %hd  Cnt: %hd  Name: %s\n"
 msgstr ""
 
-#: src/readelf.c:2836
+#: src/readelf.c:2840
 #, c-format
 msgid "  %#06x: Parent %d: %s\n"
 msgstr ""
 
 #. Print the header.
-#: src/readelf.c:3097
+#: src/readelf.c:3101
 #, c-format
 msgid ""
 "\n"
@@ -4384,15 +4408,15 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/readelf.c:3125
+#: src/readelf.c:3129
 msgid "   0 *local*                     "
 msgstr "   0 *lokal*                     "
 
-#: src/readelf.c:3130
+#: src/readelf.c:3134
 msgid "   1 *global*                    "
 msgstr "   1 *global*                    "
 
-#: src/readelf.c:3172
+#: src/readelf.c:3176
 #, c-format
 msgid ""
 "\n"
@@ -4407,66 +4431,66 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/readelf.c:3194
+#: src/readelf.c:3198
 #, no-c-format
 msgid " Length  Number  % of total  Coverage\n"
 msgstr ""
 
-#: src/readelf.c:3196
+#: src/readelf.c:3200
 #, c-format
 msgid "      0  %6<PRIu32>      %5.1f%%\n"
 msgstr "      0  %6<PRIu32>      %5.1f%%\n"
 
-#: src/readelf.c:3203
+#: src/readelf.c:3207
 #, c-format
 msgid "%7d  %6<PRIu32>      %5.1f%%    %5.1f%%\n"
 msgstr "%7d  %6<PRIu32>      %5.1f%%    %5.1f%%\n"
 
-#: src/readelf.c:3216
+#: src/readelf.c:3220
 #, c-format
 msgid ""
 " Average number of tests:   successful lookup: %f\n"
 "\t\t\t  unsuccessful lookup: %f\n"
 msgstr ""
 
-#: src/readelf.c:3234 src/readelf.c:3298 src/readelf.c:3364
+#: src/readelf.c:3238 src/readelf.c:3302 src/readelf.c:3368
 #, c-format
 msgid "cannot get data for section %d: %s"
 msgstr ""
 
-#: src/readelf.c:3242
+#: src/readelf.c:3246
 #, fuzzy, c-format
 msgid "invalid data in sysv.hash section %d"
 msgstr "ungültige .debug_line Sektion"
 
-#: src/readelf.c:3271
+#: src/readelf.c:3275
 #, fuzzy, c-format
 msgid "invalid chain in sysv.hash section %d"
 msgstr "ungültige .debug_line Sektion"
 
-#: src/readelf.c:3306
+#: src/readelf.c:3310
 #, fuzzy, c-format
 msgid "invalid data in sysv.hash64 section %d"
 msgstr "ungültige .debug_line Sektion"
 
-#: src/readelf.c:3337
+#: src/readelf.c:3341
 #, fuzzy, c-format
 msgid "invalid chain in sysv.hash64 section %d"
 msgstr "ungültige .debug_line Sektion"
 
-#: src/readelf.c:3373
+#: src/readelf.c:3377
 #, fuzzy, c-format
 msgid "invalid data in gnu.hash section %d"
 msgstr "ungültige .debug_line Sektion"
 
-#: src/readelf.c:3440
+#: src/readelf.c:3444
 #, c-format
 msgid ""
 " Symbol Bias: %u\n"
 " Bitmask Size: %zu bytes  %<PRIuFAST32>%% bits set  2nd hash shift: %u\n"
 msgstr ""
 
-#: src/readelf.c:3529
+#: src/readelf.c:3533
 #, c-format
 msgid ""
 "\n"
@@ -4477,13 +4501,13 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/readelf.c:3543
+#: src/readelf.c:3547
 msgid ""
 "       Library                       Time Stamp          Checksum Version "
 "Flags"
 msgstr ""
 
-#: src/readelf.c:3595
+#: src/readelf.c:3606
 #, c-format
 msgid ""
 "\n"
@@ -4491,102 +4515,102 @@
 "%#0<PRIx64>:\n"
 msgstr ""
 
-#: src/readelf.c:3612
+#: src/readelf.c:3623
 msgid "  Owner          Size\n"
 msgstr ""
 
-#: src/readelf.c:3641
+#: src/readelf.c:3647
 #, c-format
 msgid "  %-13s  %4<PRIu32>\n"
 msgstr "  %-13s  %4<PRIu32>\n"
 
 #. Unknown subsection, print and skip.
-#: src/readelf.c:3680
+#: src/readelf.c:3686
 #, c-format
 msgid "    %-4u %12<PRIu32>\n"
 msgstr "    %-4u %12<PRIu32>\n"
 
 #. Tag_File
-#: src/readelf.c:3685
+#: src/readelf.c:3691
 #, c-format
 msgid "    File: %11<PRIu32>\n"
 msgstr "    File: %11<PRIu32>\n"
 
-#: src/readelf.c:3734
+#: src/readelf.c:3740
 #, c-format
 msgid "      %s: %<PRId64>, %s\n"
 msgstr "      %s: %<PRId64>, %s\n"
 
-#: src/readelf.c:3737
+#: src/readelf.c:3743
 #, c-format
 msgid "      %s: %<PRId64>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:3740
+#: src/readelf.c:3746
 #, c-format
 msgid "      %s: %s\n"
 msgstr "      %s: %s\n"
 
-#: src/readelf.c:3750
+#: src/readelf.c:3756
 #, c-format
 msgid "      %u: %<PRId64>\n"
 msgstr "      %u: %<PRId64>\n"
 
-#: src/readelf.c:3753
+#: src/readelf.c:3759
 #, c-format
 msgid "      %u: %s\n"
 msgstr "      %u: %s\n"
 
-#: src/readelf.c:3823
+#: src/readelf.c:3829
 #, fuzzy, c-format
 msgid "sprintf failure"
 msgstr "mprotect fehlgeschlagen"
 
-#: src/readelf.c:4305
+#: src/readelf.c:4311
 msgid "empty block"
 msgstr ""
 
-#: src/readelf.c:4308
+#: src/readelf.c:4314
 #, c-format
 msgid "%zu byte block:"
 msgstr ""
 
-#: src/readelf.c:4786
+#: src/readelf.c:4792
 #, c-format
 msgid "%*s[%2<PRIuMAX>] %s  <TRUNCATED>\n"
 msgstr ""
 
-#: src/readelf.c:4850
+#: src/readelf.c:4859
 #, c-format
 msgid "%s %#<PRIx64> used with different address sizes"
 msgstr ""
 
-#: src/readelf.c:4857
+#: src/readelf.c:4866
 #, c-format
 msgid "%s %#<PRIx64> used with different offset sizes"
 msgstr ""
 
-#: src/readelf.c:4864
+#: src/readelf.c:4873
 #, c-format
 msgid "%s %#<PRIx64> used with different base addresses"
 msgstr ""
 
-#: src/readelf.c:4871
+#: src/readelf.c:4880
 #, c-format
 msgid "%s %#<PRIx64> used with different attribute %s and %s"
 msgstr ""
 
-#: src/readelf.c:4968
+#: src/readelf.c:4980
 #, c-format
 msgid " [%6tx]  <UNUSED GARBAGE IN REST OF SECTION>\n"
 msgstr ""
 
-#: src/readelf.c:4976
+#: src/readelf.c:4988
 #, c-format
 msgid " [%6tx]  <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
 msgstr ""
 
-#: src/readelf.c:5054
+#: src/readelf.c:5091
 #, c-format
 msgid ""
 "\n"
@@ -4594,79 +4618,79 @@
 " [ Code]\n"
 msgstr ""
 
-#: src/readelf.c:5062
+#: src/readelf.c:5099
 #, c-format
 msgid ""
 "\n"
 "Abbreviation section at offset %<PRIu64>:\n"
 msgstr ""
 
-#: src/readelf.c:5075
+#: src/readelf.c:5112
 #, c-format
 msgid " *** error while reading abbreviation: %s\n"
 msgstr ""
 
-#: src/readelf.c:5091
+#: src/readelf.c:5128
 #, c-format
 msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
 msgstr ""
 
-#: src/readelf.c:5124 src/readelf.c:5433 src/readelf.c:5600 src/readelf.c:5985
-#: src/readelf.c:6586 src/readelf.c:8323 src/readelf.c:9009 src/readelf.c:9445
-#: src/readelf.c:9690 src/readelf.c:9856 src/readelf.c:10243
-#: src/readelf.c:10303
+#: src/readelf.c:5161 src/readelf.c:5470 src/readelf.c:5637 src/readelf.c:6022
+#: src/readelf.c:6638 src/readelf.c:8375 src/readelf.c:9064 src/readelf.c:9537
+#: src/readelf.c:9788 src/readelf.c:9954 src/readelf.c:10341
+#: src/readelf.c:10401
 #, c-format
 msgid ""
 "\n"
 "DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n"
 msgstr ""
 
-#: src/readelf.c:5137
+#: src/readelf.c:5174
 #, fuzzy, c-format
 msgid "cannot get .debug_addr section data: %s"
 msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/readelf.c:5237 src/readelf.c:5261 src/readelf.c:5645 src/readelf.c:9054
+#: src/readelf.c:5274 src/readelf.c:5298 src/readelf.c:5682 src/readelf.c:9109
 #, fuzzy, c-format
 msgid " Length:         %8<PRIu64>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:5239 src/readelf.c:5276 src/readelf.c:5658 src/readelf.c:9067
+#: src/readelf.c:5276 src/readelf.c:5313 src/readelf.c:5695 src/readelf.c:9122
 #, fuzzy, c-format
 msgid " DWARF version:  %8<PRIu16>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:5240 src/readelf.c:5285 src/readelf.c:5667 src/readelf.c:9076
+#: src/readelf.c:5277 src/readelf.c:5322 src/readelf.c:5704 src/readelf.c:9131
 #, fuzzy, c-format
 msgid " Address size:   %8<PRIu64>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:5242 src/readelf.c:5295 src/readelf.c:5677 src/readelf.c:9086
+#: src/readelf.c:5279 src/readelf.c:5332 src/readelf.c:5714 src/readelf.c:9141
 #, fuzzy, c-format
 msgid " Segment size:   %8<PRIu64>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:5280 src/readelf.c:5662 src/readelf.c:9071 src/readelf.c:10435
+#: src/readelf.c:5317 src/readelf.c:5699 src/readelf.c:9126 src/readelf.c:10533
 #, fuzzy, c-format
 msgid "Unknown version"
 msgstr "unbekannte Version"
 
-#: src/readelf.c:5290 src/readelf.c:5503 src/readelf.c:5672 src/readelf.c:9081
+#: src/readelf.c:5327 src/readelf.c:5540 src/readelf.c:5709 src/readelf.c:9136
 #, fuzzy, c-format
 msgid "unsupported address size"
 msgstr "Kein Adress-Wert"
 
-#: src/readelf.c:5301 src/readelf.c:5514 src/readelf.c:5682 src/readelf.c:9091
+#: src/readelf.c:5338 src/readelf.c:5551 src/readelf.c:5719 src/readelf.c:9146
 #, c-format
 msgid "unsupported segment size"
 msgstr ""
 
-#: src/readelf.c:5354 src/readelf.c:5428
+#: src/readelf.c:5391 src/readelf.c:5465
 #, c-format
 msgid "cannot get .debug_aranges content: %s"
 msgstr ""
 
-#: src/readelf.c:5369
+#: src/readelf.c:5406
 #, c-format
 msgid ""
 "\n"
@@ -4677,241 +4701,239 @@
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/readelf.c:5400
+#: src/readelf.c:5437
 #, c-format
 msgid " [%*zu] ???\n"
 msgstr " [%*zu] ???\n"
 
-#: src/readelf.c:5402
+#: src/readelf.c:5439
 #, c-format
 msgid ""
 " [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
 msgstr ""
 
-#: src/readelf.c:5446 src/readelf.c:8350
+#: src/readelf.c:5483 src/readelf.c:8402
 #, c-format
 msgid ""
 "\n"
 "Table at offset %zu:\n"
 msgstr ""
 
-#: src/readelf.c:5450 src/readelf.c:5626 src/readelf.c:6610 src/readelf.c:8361
-#: src/readelf.c:9035
+#: src/readelf.c:5487 src/readelf.c:5663 src/readelf.c:6662 src/readelf.c:8413
+#: src/readelf.c:9090
 #, c-format
 msgid "invalid data in section [%zu] '%s'"
 msgstr ""
 
-#: src/readelf.c:5466
+#: src/readelf.c:5503
 #, fuzzy, c-format
 msgid ""
 "\n"
 " Length:        %6<PRIu64>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:5478
+#: src/readelf.c:5515
 #, fuzzy, c-format
 msgid " DWARF version: %6<PRIuFAST16>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:5482
+#: src/readelf.c:5519
 #, c-format
 msgid "unsupported aranges version"
 msgstr ""
 
-#: src/readelf.c:5493
+#: src/readelf.c:5530
 #, fuzzy, c-format
 msgid " CU offset:     %6<PRIx64>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:5499
+#: src/readelf.c:5536
 #, c-format
 msgid " Address size:  %6<PRIu64>\n"
 msgstr ""
 
-#: src/readelf.c:5510
+#: src/readelf.c:5547
 #, c-format
 msgid ""
 " Segment size:  %6<PRIu64>\n"
 "\n"
 msgstr ""
 
-#: src/readelf.c:5565
+#: src/readelf.c:5602
 #, c-format
 msgid "   %zu padding bytes\n"
 msgstr ""
 
-#: src/readelf.c:5609
+#: src/readelf.c:5646
 #, fuzzy, c-format
 msgid "cannot get .debug_rnglists content: %s"
 msgstr "konnte Programm-Kopf nicht erstellen: %s"
 
-#: src/readelf.c:5632 src/readelf.c:9041
+#: src/readelf.c:5669 src/readelf.c:9096
 #, fuzzy, c-format
 msgid ""
 "Table at Offset 0x%<PRIx64>:\n"
 "\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:5687 src/readelf.c:9096
+#: src/readelf.c:5724 src/readelf.c:9151
 #, fuzzy, c-format
 msgid " Offset entries: %8<PRIu64>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:5703 src/readelf.c:9112
+#: src/readelf.c:5740 src/readelf.c:9167
 #, c-format
 msgid " Unknown CU base: "
 msgstr ""
 
-#: src/readelf.c:5705 src/readelf.c:9114
+#: src/readelf.c:5742 src/readelf.c:9169
 #, c-format
 msgid " CU [%6<PRIx64>] base: "
 msgstr ""
 
-#: src/readelf.c:5711 src/readelf.c:9120
+#: src/readelf.c:5748 src/readelf.c:9175
 #, c-format
 msgid " Not associated with a CU.\n"
 msgstr ""
 
-#: src/readelf.c:5722 src/readelf.c:9131
+#: src/readelf.c:5759 src/readelf.c:9186
 #, c-format
 msgid "too many offset entries for unit length"
 msgstr ""
 
-#: src/readelf.c:5726 src/readelf.c:9135
+#: src/readelf.c:5763 src/readelf.c:9190
 #, fuzzy, c-format
 msgid "  Offsets starting at 0x%<PRIx64>:\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:5778
+#: src/readelf.c:5815
 #, fuzzy, c-format
 msgid "invalid range list data"
 msgstr "Ungültige Daten"
 
-#: src/readelf.c:5963 src/readelf.c:9423
+#: src/readelf.c:6000 src/readelf.c:9515
 #, c-format
 msgid ""
 "   %zu padding bytes\n"
 "\n"
 msgstr ""
 
-#: src/readelf.c:5980
+#: src/readelf.c:6017
 #, c-format
 msgid "cannot get .debug_ranges content: %s"
 msgstr ""
 
-#: src/readelf.c:6016 src/readelf.c:9478
+#: src/readelf.c:6053 src/readelf.c:9570
 #, c-format
 msgid ""
 "\n"
 " Unknown CU base: "
 msgstr ""
 
-#: src/readelf.c:6018 src/readelf.c:9480
+#: src/readelf.c:6055 src/readelf.c:9572
 #, c-format
 msgid ""
 "\n"
 " CU [%6<PRIx64>] base: "
 msgstr ""
 
-#: src/readelf.c:6027 src/readelf.c:9506 src/readelf.c:9532
+#: src/readelf.c:6064 src/readelf.c:9598 src/readelf.c:9624
 #, c-format
 msgid " [%6tx]  <INVALID DATA>\n"
 msgstr ""
 
-#: src/readelf.c:6048 src/readelf.c:9612
-#, c-format
-msgid ""
-" [%6tx] base address\n"
-"          "
-msgstr ""
+#: src/readelf.c:6089 src/readelf.c:9708
+#, fuzzy
+msgid "base address"
+msgstr "Außerhalb des Adressbereiches"
 
-#: src/readelf.c:6056 src/readelf.c:9620
+#: src/readelf.c:6099 src/readelf.c:9718
 #, fuzzy, c-format
 msgid " [%6tx] empty list\n"
 msgstr " [%6tx]  %s..%s\n"
 
-#: src/readelf.c:6311
+#: src/readelf.c:6359
 msgid "         <INVALID DATA>\n"
 msgstr ""
 
-#: src/readelf.c:6564
+#: src/readelf.c:6616
 #, fuzzy, c-format
 msgid "cannot get ELF: %s"
 msgstr "ELF Kopf konnte nicht ausgelesen werden"
 
-#: src/readelf.c:6582
+#: src/readelf.c:6634
 #, c-format
 msgid ""
 "\n"
 "Call frame information section [%2zu] '%s' at offset %#<PRIx64>:\n"
 msgstr ""
 
-#: src/readelf.c:6632
+#: src/readelf.c:6684
 #, c-format
 msgid ""
 "\n"
 " [%6tx] Zero terminator\n"
 msgstr ""
 
-#: src/readelf.c:6733 src/readelf.c:6887
+#: src/readelf.c:6785 src/readelf.c:6939
 #, fuzzy, c-format
 msgid "invalid augmentation length"
 msgstr "ungültige Abschnittsausrichtung"
 
-#: src/readelf.c:6748
+#: src/readelf.c:6800
 msgid "FDE address encoding: "
 msgstr ""
 
-#: src/readelf.c:6754
+#: src/readelf.c:6806
 msgid "LSDA pointer encoding: "
 msgstr ""
 
-#: src/readelf.c:6864
+#: src/readelf.c:6916
 #, c-format
 msgid " (offset: %#<PRIx64>)"
 msgstr ""
 
-#: src/readelf.c:6871
+#: src/readelf.c:6923
 #, c-format
 msgid " (end offset: %#<PRIx64>)"
 msgstr ""
 
-#: src/readelf.c:6908
+#: src/readelf.c:6960
 #, c-format
 msgid "   %-26sLSDA pointer: %#<PRIx64>\n"
 msgstr ""
 
-#: src/readelf.c:6993
+#: src/readelf.c:7045
 #, c-format
 msgid "DIE [%<PRIx64>] cannot get attribute code: %s"
 msgstr ""
 
-#: src/readelf.c:7003
+#: src/readelf.c:7055
 #, c-format
 msgid "DIE [%<PRIx64>] cannot get attribute form: %s"
 msgstr ""
 
-#: src/readelf.c:7025
+#: src/readelf.c:7077
 #, c-format
 msgid "DIE [%<PRIx64>] cannot get attribute '%s' (%s) value: %s"
 msgstr ""
 
-#: src/readelf.c:7355
+#: src/readelf.c:7407
 #, fuzzy, c-format
 msgid "invalid file (%<PRId64>): %s"
 msgstr "Ungültige Datei"
 
-#: src/readelf.c:7359
+#: src/readelf.c:7411
 #, fuzzy, c-format
 msgid "no srcfiles for CU [%<PRIx64>]"
 msgstr "unbekannte Form %<PRIx64>"
 
-#: src/readelf.c:7363
+#: src/readelf.c:7415
 #, fuzzy, c-format
 msgid "couldn't get DWARF CU: %s"
 msgstr "ELF Kopf konnte nicht ausgelesen werden"
 
-#: src/readelf.c:7676
+#: src/readelf.c:7728
 #, c-format
 msgid ""
 "\n"
@@ -4919,12 +4941,12 @@
 " [Offset]\n"
 msgstr ""
 
-#: src/readelf.c:7726
+#: src/readelf.c:7778
 #, fuzzy, c-format
 msgid "cannot get next unit: %s"
 msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/readelf.c:7745
+#: src/readelf.c:7797
 #, c-format
 msgid ""
 " Type unit at offset %<PRIu64>:\n"
@@ -4933,7 +4955,7 @@
 " Type signature: %#<PRIx64>, Type offset: %#<PRIx64> [%<PRIx64>]\n"
 msgstr ""
 
-#: src/readelf.c:7757
+#: src/readelf.c:7809
 #, c-format
 msgid ""
 " Compilation unit at offset %<PRIu64>:\n"
@@ -4941,37 +4963,37 @@
 "%<PRIu8>, Offset size: %<PRIu8>\n"
 msgstr ""
 
-#: src/readelf.c:7767 src/readelf.c:7930
+#: src/readelf.c:7819 src/readelf.c:7982
 #, c-format
 msgid " Unit type: %s (%<PRIu8>)"
 msgstr ""
 
-#: src/readelf.c:7794
+#: src/readelf.c:7846
 #, c-format
 msgid "unknown version (%d) or unit type (%d)"
 msgstr ""
 
-#: src/readelf.c:7823
+#: src/readelf.c:7875
 #, c-format
 msgid "cannot get DIE offset: %s"
 msgstr ""
 
-#: src/readelf.c:7832
+#: src/readelf.c:7884
 #, fuzzy, c-format
 msgid "cannot get tag of DIE at offset [%<PRIx64>] in section '%s': %s"
 msgstr "konnte Programm-Kopf nicht erstellen: %s"
 
-#: src/readelf.c:7870
+#: src/readelf.c:7922
 #, c-format
 msgid "cannot get next DIE: %s\n"
 msgstr ""
 
-#: src/readelf.c:7878
+#: src/readelf.c:7930
 #, c-format
 msgid "cannot get next DIE: %s"
 msgstr ""
 
-#: src/readelf.c:7922
+#: src/readelf.c:7974
 #, c-format
 msgid ""
 " Split compilation unit at offset %<PRIu64>:\n"
@@ -4979,7 +5001,7 @@
 "%<PRIu8>, Offset size: %<PRIu8>\n"
 msgstr ""
 
-#: src/readelf.c:7974
+#: src/readelf.c:8026
 #, c-format
 msgid ""
 "\n"
@@ -4987,18 +5009,18 @@
 "\n"
 msgstr ""
 
-#: src/readelf.c:8306
+#: src/readelf.c:8358
 #, fuzzy, c-format
 msgid "unknown form: %s"
 msgstr "unbekannte Form %<PRIx64>"
 
-#: src/readelf.c:8337
+#: src/readelf.c:8389
 #, c-format
 msgid "cannot get line data section data: %s"
 msgstr ""
 
 #. Print what we got so far.
-#: src/readelf.c:8439
+#: src/readelf.c:8491
 #, c-format
 msgid ""
 "\n"
@@ -5017,171 +5039,177 @@
 "Opcodes:\n"
 msgstr ""
 
-#: src/readelf.c:8461
+#: src/readelf.c:8513
 #, fuzzy, c-format
 msgid "cannot handle .debug_line version: %u\n"
 msgstr "ungültige .debug_line Sektion"
 
-#: src/readelf.c:8469
+#: src/readelf.c:8521
 #, fuzzy, c-format
 msgid "cannot handle address size: %u\n"
 msgstr "Kein Adress-Wert"
 
-#: src/readelf.c:8477
+#: src/readelf.c:8529
 #, c-format
 msgid "cannot handle segment selector size: %u\n"
 msgstr ""
 
-#: src/readelf.c:8487
+#: src/readelf.c:8539
 #, c-format
 msgid "invalid data at offset %tu in section [%zu] '%s'"
 msgstr ""
 
-#: src/readelf.c:8502
+#: src/readelf.c:8554
 #, c-format
 msgid "  [%*<PRIuFAST8>]  %hhu argument\n"
 msgid_plural "  [%*<PRIuFAST8>]  %hhu arguments\n"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/readelf.c:8513
+#: src/readelf.c:8565
 msgid ""
 "\n"
 "Directory table:"
 msgstr ""
 
-#: src/readelf.c:8519 src/readelf.c:8596
+#: src/readelf.c:8571 src/readelf.c:8648
 #, fuzzy, c-format
 msgid "      ["
 msgstr "      %s: %s\n"
 
-#: src/readelf.c:8590
+#: src/readelf.c:8642
 msgid ""
 "\n"
 "File name table:"
 msgstr ""
 
-#: src/readelf.c:8651
+#: src/readelf.c:8703
 msgid " Entry Dir   Time      Size      Name"
 msgstr ""
 
-#: src/readelf.c:8688
+#: src/readelf.c:8742
+msgid ""
+"\n"
+"No line number statements."
+msgstr ""
+
+#: src/readelf.c:8746
 msgid ""
 "\n"
 "Line number statements:"
 msgstr ""
 
-#: src/readelf.c:8711
+#: src/readelf.c:8766
 #, c-format
 msgid "invalid maximum operations per instruction is zero"
 msgstr ""
 
-#: src/readelf.c:8745
+#: src/readelf.c:8800
 #, c-format
 msgid " special opcode %u: address+%u = "
 msgstr ""
 
-#: src/readelf.c:8749
+#: src/readelf.c:8804
 #, c-format
 msgid ", op_index = %u, line%+d = %zu\n"
 msgstr ""
 
-#: src/readelf.c:8752
+#: src/readelf.c:8807
 #, c-format
 msgid ", line%+d = %zu\n"
 msgstr ""
 
-#: src/readelf.c:8770
+#: src/readelf.c:8825
 #, c-format
 msgid " extended opcode %u: "
 msgstr ""
 
-#: src/readelf.c:8775
+#: src/readelf.c:8830
 msgid " end of sequence"
 msgstr ""
 
-#: src/readelf.c:8793
+#: src/readelf.c:8848
 #, fuzzy, c-format
 msgid " set address to "
 msgstr "Außerhalb des Adressbereiches"
 
-#: src/readelf.c:8821
+#: src/readelf.c:8876
 #, c-format
 msgid " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
 msgstr ""
 
-#: src/readelf.c:8835
+#: src/readelf.c:8890
 #, c-format
 msgid " set discriminator to %u\n"
 msgstr ""
 
 #. Unknown, ignore it.
-#: src/readelf.c:8840
+#: src/readelf.c:8895
 #, fuzzy
 msgid " unknown opcode"
 msgstr "unbekannter Typ"
 
 #. Takes no argument.
-#: src/readelf.c:8852
+#: src/readelf.c:8907
 msgid " copy"
 msgstr ""
 
-#: src/readelf.c:8863
+#: src/readelf.c:8918
 #, c-format
 msgid " advance address by %u to "
 msgstr ""
 
-#: src/readelf.c:8867 src/readelf.c:8928
+#: src/readelf.c:8922 src/readelf.c:8983
 #, c-format
 msgid ", op_index to %u"
 msgstr ""
 
-#: src/readelf.c:8879
+#: src/readelf.c:8934
 #, c-format
 msgid " advance line by constant %d to %<PRId64>\n"
 msgstr ""
 
-#: src/readelf.c:8889
+#: src/readelf.c:8944
 #, c-format
 msgid " set file to %<PRIu64>\n"
 msgstr ""
 
-#: src/readelf.c:8900
+#: src/readelf.c:8955
 #, c-format
 msgid " set column to %<PRIu64>\n"
 msgstr ""
 
-#: src/readelf.c:8907
+#: src/readelf.c:8962
 #, c-format
 msgid " set '%s' to %<PRIuFAST8>\n"
 msgstr ""
 
 #. Takes no argument.
-#: src/readelf.c:8913
+#: src/readelf.c:8968
 msgid " set basic block flag"
 msgstr ""
 
-#: src/readelf.c:8924
+#: src/readelf.c:8979
 #, c-format
 msgid " advance address by constant %u to "
 msgstr ""
 
-#: src/readelf.c:8944
+#: src/readelf.c:8999
 #, c-format
 msgid " advance address by fixed value %u to \n"
 msgstr ""
 
 #. Takes no argument.
-#: src/readelf.c:8954
+#: src/readelf.c:9009
 msgid " set prologue end flag"
 msgstr ""
 
 #. Takes no argument.
-#: src/readelf.c:8959
+#: src/readelf.c:9014
 msgid " set epilogue begin flag"
 msgstr ""
 
-#: src/readelf.c:8969
+#: src/readelf.c:9024
 #, c-format
 msgid " set isa to %u\n"
 msgstr ""
@@ -5189,103 +5217,108 @@
 #. 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:8978
+#: src/readelf.c:9033
 #, c-format
 msgid " unknown opcode with %<PRIu8> parameter:"
 msgid_plural " unknown opcode with %<PRIu8> parameters:"
 msgstr[0] ""
 msgstr[1] ""
 
-#: src/readelf.c:9018
+#: src/readelf.c:9073
 #, fuzzy, c-format
 msgid "cannot get .debug_loclists content: %s"
 msgstr "konnte Eintrag aus der Symboltabelle nicht holen: %s"
 
-#: src/readelf.c:9187
+#: src/readelf.c:9239
+#, c-format
+msgid "    <INVALID DATA>\n"
+msgstr ""
+
+#: src/readelf.c:9279
 #, fuzzy, c-format
 msgid "invalid loclists data"
 msgstr "Ungültige Daten"
 
-#: src/readelf.c:9440
+#: src/readelf.c:9532
 #, c-format
 msgid "cannot get .debug_loc content: %s"
 msgstr ""
 
-#: src/readelf.c:9647 src/readelf.c:10691
+#: src/readelf.c:9745 src/readelf.c:10789
 msgid "   <INVALID DATA>\n"
 msgstr ""
 
-#: src/readelf.c:9702 src/readelf.c:9865
+#: src/readelf.c:9800 src/readelf.c:9963
 #, c-format
 msgid "cannot get macro information section data: %s"
 msgstr ""
 
-#: src/readelf.c:9782
+#: src/readelf.c:9880
 #, c-format
 msgid "%*s*** non-terminated string at end of section"
 msgstr ""
 
-#: src/readelf.c:9805
+#: src/readelf.c:9903
 #, c-format
 msgid "%*s*** missing DW_MACINFO_start_file argument at end of section"
 msgstr ""
 
-#: src/readelf.c:9906
+#: src/readelf.c:10004
 #, fuzzy, c-format
 msgid " Offset:             0x%<PRIx64>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:9918
+#: src/readelf.c:10016
 #, fuzzy, c-format
 msgid " Version:            %<PRIu16>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:9924 src/readelf.c:10811
+#: src/readelf.c:10022 src/readelf.c:10909
 #, c-format
 msgid "  unknown version, cannot parse section\n"
 msgstr ""
 
-#: src/readelf.c:9931
+#: src/readelf.c:10029
 #, fuzzy, c-format
 msgid " Flag:               0x%<PRIx8>"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:9960
+#: src/readelf.c:10058
 #, c-format
 msgid " Offset length:      %<PRIu8>\n"
 msgstr ""
 
-#: src/readelf.c:9968
+#: src/readelf.c:10066
 #, c-format
 msgid " .debug_line offset: 0x%<PRIx64>\n"
 msgstr ""
 
-#: src/readelf.c:9993
+#: src/readelf.c:10091
 #, c-format
 msgid "  extension opcode table, %<PRIu8> items:\n"
 msgstr ""
 
-#: src/readelf.c:10000
+#: src/readelf.c:10098
 #, c-format
 msgid "    [%<PRIx8>]"
 msgstr ""
 
-#: src/readelf.c:10012
+#: src/readelf.c:10110
 #, c-format
 msgid " %<PRIu8> arguments:"
 msgstr ""
 
-#: src/readelf.c:10027
+#: src/readelf.c:10125
 #, c-format
 msgid " no arguments."
 msgstr ""
 
-#: src/readelf.c:10228
+#: src/readelf.c:10326
 #, c-format
 msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
 msgstr ""
 
-#: src/readelf.c:10272
+#: src/readelf.c:10370
 #, c-format
 msgid ""
 "\n"
@@ -5293,72 +5326,72 @@
 " %*s  String\n"
 msgstr ""
 
-#: src/readelf.c:10287
+#: src/readelf.c:10385
 #, c-format
 msgid " *** error, missing string terminator\n"
 msgstr ""
 
-#: src/readelf.c:10316
+#: src/readelf.c:10414
 #, fuzzy, c-format
 msgid "cannot get .debug_str_offsets section data: %s"
 msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/readelf.c:10415
+#: src/readelf.c:10513
 #, fuzzy, c-format
 msgid " Length:        %8<PRIu64>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:10417
+#: src/readelf.c:10515
 #, fuzzy, c-format
 msgid " Offset size:   %8<PRIu8>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:10431
+#: src/readelf.c:10529
 #, fuzzy, c-format
 msgid " DWARF version: %8<PRIu16>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:10440
+#: src/readelf.c:10538
 #, fuzzy, c-format
 msgid " Padding:       %8<PRIx16>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:10494
+#: src/readelf.c:10592
 #, c-format
 msgid ""
 "\n"
 "Call frame search table section [%2zu] '.eh_frame_hdr':\n"
 msgstr ""
 
-#: src/readelf.c:10596
+#: src/readelf.c:10694
 #, c-format
 msgid ""
 "\n"
 "Exception handling table section [%2zu] '.gcc_except_table':\n"
 msgstr ""
 
-#: src/readelf.c:10619
+#: src/readelf.c:10717
 #, c-format
 msgid " LPStart encoding:    %#x "
 msgstr ""
 
-#: src/readelf.c:10631
+#: src/readelf.c:10729
 #, c-format
 msgid " TType encoding:      %#x "
 msgstr ""
 
-#: src/readelf.c:10646
+#: src/readelf.c:10744
 #, c-format
 msgid " Call site encoding:  %#x "
 msgstr ""
 
-#: src/readelf.c:10659
+#: src/readelf.c:10757
 msgid ""
 "\n"
 " Call site table:"
 msgstr ""
 
-#: src/readelf.c:10673
+#: src/readelf.c:10771
 #, c-format
 msgid ""
 " [%4u] Call site start:   %#<PRIx64>\n"
@@ -5367,142 +5400,142 @@
 "        Action:            %u\n"
 msgstr ""
 
-#: src/readelf.c:10746
+#: src/readelf.c:10844
 #, c-format
 msgid "invalid TType encoding"
 msgstr ""
 
-#: src/readelf.c:10773
+#: src/readelf.c:10871
 #, c-format
 msgid ""
 "\n"
 "GDB section [%2zu] '%s' at offset %#<PRIx64> contains %<PRId64> bytes :\n"
 msgstr ""
 
-#: src/readelf.c:10802
+#: src/readelf.c:10900
 #, fuzzy, c-format
 msgid " Version:         %<PRId32>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:10820
+#: src/readelf.c:10918
 #, c-format
 msgid " CU offset:       %#<PRIx32>\n"
 msgstr ""
 
-#: src/readelf.c:10827
+#: src/readelf.c:10925
 #, c-format
 msgid " TU offset:       %#<PRIx32>\n"
 msgstr ""
 
-#: src/readelf.c:10834
+#: src/readelf.c:10932
 #, c-format
 msgid " address offset:  %#<PRIx32>\n"
 msgstr ""
 
-#: src/readelf.c:10841
+#: src/readelf.c:10939
 #, c-format
 msgid " symbol offset:   %#<PRIx32>\n"
 msgstr ""
 
-#: src/readelf.c:10848
+#: src/readelf.c:10946
 #, c-format
 msgid " constant offset: %#<PRIx32>\n"
 msgstr ""
 
-#: src/readelf.c:10862
+#: src/readelf.c:10960
 #, c-format
 msgid ""
 "\n"
 " CU list at offset %#<PRIx32> contains %zu entries:\n"
 msgstr ""
 
-#: src/readelf.c:10887
+#: src/readelf.c:10985
 #, c-format
 msgid ""
 "\n"
 " TU list at offset %#<PRIx32> contains %zu entries:\n"
 msgstr ""
 
-#: src/readelf.c:10916
+#: src/readelf.c:11014
 #, c-format
 msgid ""
 "\n"
 " Address list at offset %#<PRIx32> contains %zu entries:\n"
 msgstr ""
 
-#: src/readelf.c:10948
+#: src/readelf.c:11046
 #, c-format
 msgid ""
 "\n"
 " Symbol table at offset %#<PRIx32> contains %zu slots:\n"
 msgstr ""
 
-#: src/readelf.c:11086
+#: src/readelf.c:11184
 #, c-format
 msgid "cannot get debug context descriptor: %s"
 msgstr ""
 
-#: src/readelf.c:11449 src/readelf.c:12071 src/readelf.c:12182
-#: src/readelf.c:12240
+#: src/readelf.c:11552 src/readelf.c:12179 src/readelf.c:12290
+#: src/readelf.c:12348
 #, c-format
 msgid "cannot convert core note data: %s"
 msgstr ""
 
-#: src/readelf.c:11812
+#: src/readelf.c:11915
 #, c-format
 msgid ""
 "\n"
 "%*s... <repeats %u more times> ..."
 msgstr ""
 
-#: src/readelf.c:12319
+#: src/readelf.c:12427
 msgid "  Owner          Data size  Type\n"
 msgstr ""
 
-#: src/readelf.c:12348
+#: src/readelf.c:12456
 #, c-format
 msgid "  %-13.*s  %9<PRId32>  %s\n"
 msgstr ""
 
-#: src/readelf.c:12400
+#: src/readelf.c:12508
 #, fuzzy, c-format
 msgid "cannot get content of note: %s"
 msgstr "Konnte Inhalt von %s: %s nicht lesen"
 
-#: src/readelf.c:12434
+#: src/readelf.c:12542
 #, c-format
 msgid ""
 "\n"
 "Note section [%2zu] '%s' of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
 msgstr ""
 
-#: src/readelf.c:12457
+#: src/readelf.c:12565
 #, c-format
 msgid ""
 "\n"
 "Note segment of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
 msgstr ""
 
-#: src/readelf.c:12504
+#: src/readelf.c:12612
 #, fuzzy, c-format
 msgid ""
 "\n"
 "Section [%zu] '%s' has no data to dump.\n"
 msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/readelf.c:12531 src/readelf.c:12582
+#: src/readelf.c:12639 src/readelf.c:12690
 #, fuzzy, c-format
 msgid "cannot get data for section [%zu] '%s': %s"
 msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/readelf.c:12536
+#: src/readelf.c:12644
 #, c-format
 msgid ""
 "\n"
 "Hex dump of section [%zu] '%s', %<PRIu64> bytes at offset %#0<PRIx64>:\n"
 msgstr ""
 
-#: src/readelf.c:12541
+#: src/readelf.c:12649
 #, c-format
 msgid ""
 "\n"
@@ -5510,21 +5543,21 @@
 "%#0<PRIx64>:\n"
 msgstr ""
 
-#: src/readelf.c:12555
+#: src/readelf.c:12663
 #, fuzzy, c-format
 msgid ""
 "\n"
 "Section [%zu] '%s' has no strings to dump.\n"
 msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/readelf.c:12587
+#: src/readelf.c:12695
 #, c-format
 msgid ""
 "\n"
 "String section [%zu] '%s' contains %<PRIu64> bytes at offset %#0<PRIx64>:\n"
 msgstr ""
 
-#: src/readelf.c:12592
+#: src/readelf.c:12700
 #, c-format
 msgid ""
 "\n"
@@ -5532,45 +5565,45 @@
 "offset %#0<PRIx64>:\n"
 msgstr ""
 
-#: src/readelf.c:12641
+#: src/readelf.c:12749
 #, c-format
 msgid ""
 "\n"
 "section [%lu] does not exist"
 msgstr ""
 
-#: src/readelf.c:12671
+#: src/readelf.c:12779
 #, c-format
 msgid ""
 "\n"
 "section '%s' does not exist"
 msgstr ""
 
-#: src/readelf.c:12728
+#: src/readelf.c:12836
 #, c-format
 msgid "cannot get symbol index of archive '%s': %s"
 msgstr ""
 
-#: src/readelf.c:12731
+#: src/readelf.c:12839
 #, c-format
 msgid ""
 "\n"
 "Archive '%s' has no symbol index\n"
 msgstr ""
 
-#: src/readelf.c:12735
+#: src/readelf.c:12843
 #, c-format
 msgid ""
 "\n"
 "Index of archive '%s' has %zu entries:\n"
 msgstr ""
 
-#: src/readelf.c:12753
+#: src/readelf.c:12861
 #, fuzzy, c-format
 msgid "cannot extract member at offset %zu in '%s': %s"
 msgstr "konnte Programm-Kopf nicht erstellen: %s"
 
-#: src/readelf.c:12758
+#: src/readelf.c:12866
 #, c-format
 msgid "Archive member '%s' contains:\n"
 msgstr ""
@@ -5633,7 +5666,7 @@
 msgid "%s: file format not recognized"
 msgstr ""
 
-#: src/size.c:418 src/size.c:557
+#: src/size.c:418 src/size.c:560
 #, c-format
 msgid " (ex %s)"
 msgstr ""
@@ -5643,123 +5676,123 @@
 msgid "cannot get section header"
 msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/size.c:582
+#: src/size.c:585
 msgid "(TOTALS)\n"
 msgstr ""
 
-#: src/stack.c:482
+#: src/stack.c:487
 #, c-format
 msgid "-p PID should be a positive process id."
 msgstr ""
 
-#: src/stack.c:488
+#: src/stack.c:493
 #, fuzzy, c-format
 msgid "Cannot open core file '%s'"
 msgstr "Konnte Archiv '%s' nicht öffnen"
 
-#: src/stack.c:548
+#: src/stack.c:553
 #, c-format
 msgid "-n MAXFRAMES should be 0 or higher."
 msgstr ""
 
-#: src/stack.c:560
+#: src/stack.c:565
 #, c-format
 msgid "-e EXEC needs a core given by --core."
 msgstr ""
 
-#: src/stack.c:564
+#: src/stack.c:569
 #, c-format
 msgid "-1 needs a thread id given by -p."
 msgstr ""
 
-#: src/stack.c:568
+#: src/stack.c:573
 #, c-format
 msgid "One of -p PID or --core COREFILE should be given."
 msgstr ""
 
-#: src/stack.c:640
+#: src/stack.c:645
 #, fuzzy
 msgid "Show stack of process PID"
 msgstr "Kann Suchbaum nicht erstellen"
 
-#: src/stack.c:642
+#: src/stack.c:647
 msgid "Show stack found in COREFILE"
 msgstr ""
 
-#: src/stack.c:643
+#: src/stack.c:648
 msgid "(optional) EXECUTABLE that produced COREFILE"
 msgstr ""
 
-#: src/stack.c:647
+#: src/stack.c:652
 #, fuzzy
 msgid "Output selection options:"
 msgstr "Eingabeauswahloptionen:"
 
-#: src/stack.c:649
+#: src/stack.c:654
 msgid "Additionally show frame activation"
 msgstr ""
 
-#: src/stack.c:651
+#: src/stack.c:656
 msgid "Additionally try to lookup DWARF debuginfo name for frame address"
 msgstr ""
 
-#: src/stack.c:654
+#: src/stack.c:659
 msgid ""
 "Additionally show inlined function frames using DWARF debuginfo if available "
 "(implies -d)"
 msgstr ""
 
-#: src/stack.c:656
+#: src/stack.c:661
 msgid "Additionally show module file information"
 msgstr ""
 
-#: src/stack.c:658
+#: src/stack.c:663
 msgid "Additionally show source file information"
 msgstr ""
 
-#: src/stack.c:660
+#: src/stack.c:665
 msgid ""
 "Show all additional information (activation, debugname, inlines, module and "
 "source)"
 msgstr ""
 
-#: src/stack.c:662
+#: src/stack.c:667
 msgid "Do not resolve address to function symbol name"
 msgstr ""
 
-#: src/stack.c:664
+#: src/stack.c:669
 msgid "Show raw function symbol names, do not try to demangle names"
 msgstr ""
 
-#: src/stack.c:666
+#: src/stack.c:671
 msgid "Show module build-id, load address and pc offset"
 msgstr ""
 
-#: src/stack.c:668
+#: src/stack.c:673
 msgid "Show the backtrace of only one thread"
 msgstr ""
 
-#: src/stack.c:670
+#: src/stack.c:675
 msgid "Show at most MAXFRAMES per thread (default 256, use 0 for unlimited)"
 msgstr ""
 
-#: src/stack.c:672
+#: src/stack.c:677
 msgid "Show module memory map with build-id, elf and debug files detected"
 msgstr ""
 
-#: src/stack.c:680
+#: src/stack.c:685
 msgid ""
 "Print a stack for each thread in a process or core file.\n"
 "\n"
 "Program exits with return code 0 if all frames were shown without any "
 "errors.  If some frames were shown, but there were some non-fatal errors, "
 "possibly causing an incomplete backtrace, the program exits with return code "
-"1.  If no frames could be shown, or a fatal error occured the program exits "
+"1.  If no frames could be shown, or a fatal error occurred the program exits "
 "with return code 2.  If the program was invoked with bad or missing "
 "arguments it will exit with return code 64."
 msgstr ""
 
-#: src/stack.c:755
+#: src/stack.c:760
 #, c-format
 msgid "Couldn't show any frames."
 msgstr ""
@@ -5778,7 +5811,7 @@
 
 #: src/strings.c:69
 msgid ""
-"Select character size and endianess: s = 7-bit, S = 8-bit, {b,l} = 16-bit, "
+"Select character size and endianness: s = 7-bit, S = 8-bit, {b,l} = 16-bit, "
 "{B,L} = 32-bit"
 msgstr ""
 
@@ -5857,14 +5890,14 @@
 msgid ""
 "Resolve all trivial relocations between debug sections if the removed "
 "sections are placed in a debug file (only relevant for ET_REL files, "
-"operation is not reversable, needs -f)"
+"operation is not reversible, needs -f)"
 msgstr ""
 
 #: src/strip.c:87
 msgid ""
 "Similar to --reloc-debug-sections, but resolve all trivial relocations "
 "between debug sections in place.  No other stripping is performed (operation "
-"is not reversable, incompatible with -f, -g, --remove-comment and --remove-"
+"is not reversible, incompatible with -f, -g, --remove-comment and --remove-"
 "section)"
 msgstr ""
 
@@ -5921,22 +5954,22 @@
 msgid "cannot both keep and remove .comment section"
 msgstr ""
 
-#: src/strip.c:574
+#: src/strip.c:481
 #, fuzzy, c-format
 msgid "bad relocation"
 msgstr "Relocations anzeigen"
 
-#: src/strip.c:726 src/strip.c:750
+#: src/strip.c:747 src/strip.c:771
 #, c-format
 msgid "cannot stat input file '%s'"
 msgstr ""
 
-#: src/strip.c:740
+#: src/strip.c:761
 #, c-format
 msgid "while opening '%s'"
 msgstr ""
 
-#: src/strip.c:778
+#: src/strip.c:799
 #, c-format
 msgid "%s: cannot use -o or -f when stripping archive"
 msgstr ""
@@ -5947,263 +5980,263 @@
 #. result = handle_ar (fd, elf, NULL, fname,
 #. preserve_dates ? tv : NULL);
 #.
-#: src/strip.c:790
+#: src/strip.c:811
 #, fuzzy, c-format
 msgid "%s: no support for stripping archive"
 msgstr "%s: Kein Eintrag %s in dem Archiv!\n"
 
-#: src/strip.c:1001
+#: src/strip.c:1047
 #, c-format
 msgid "cannot open EBL backend"
 msgstr ""
 
-#: src/strip.c:1046
+#: src/strip.c:1092
 #, fuzzy, c-format
 msgid "cannot get number of phdrs"
 msgstr "konnte Programm-Kopf nicht erstellen: %s"
 
-#: src/strip.c:1060 src/strip.c:1103
+#: src/strip.c:1106 src/strip.c:1149
 #, fuzzy, c-format
 msgid "cannot create new ehdr for file '%s': %s"
 msgstr "neue Datei konnte nicht angelegt werden"
 
-#: src/strip.c:1070 src/strip.c:1113
+#: src/strip.c:1116 src/strip.c:1159
 #, fuzzy, c-format
 msgid "cannot create new phdr for file '%s': %s"
 msgstr "neue Datei konnte nicht angelegt werden"
 
-#: src/strip.c:1194
+#: src/strip.c:1240
 #, c-format
 msgid "illformed file '%s'"
 msgstr ""
 
-#: src/strip.c:1204
+#: src/strip.c:1250
 #, fuzzy, c-format
 msgid "Cannot remove allocated section '%s'"
 msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/strip.c:1213
+#: src/strip.c:1259
 #, fuzzy, c-format
 msgid "Cannot both keep and remove section '%s'"
 msgstr "Konnte Archiv '%s' nicht öffnen"
 
-#: src/strip.c:1573 src/strip.c:1688
+#: src/strip.c:1624 src/strip.c:1739
 #, c-format
 msgid "while generating output file: %s"
 msgstr ""
 
-#: src/strip.c:1637
+#: src/strip.c:1688
 #, fuzzy, c-format
 msgid "%s: error while updating ELF header: %s"
 msgstr "Fehler beim Schliessen des Elf-Desktriptor: %s\n"
 
-#: src/strip.c:1646
+#: src/strip.c:1697
 #, fuzzy, c-format
 msgid "%s: error while getting shdrstrndx: %s"
 msgstr "Fehler beim Schliessen des Elf-Desktriptor: %s\n"
 
-#: src/strip.c:1654 src/strip.c:2535
+#: src/strip.c:1705 src/strip.c:2550
 #, fuzzy, c-format
 msgid "%s: error updating shdrstrndx: %s"
 msgstr "Fehler beim Schliessen des Elf-Desktriptor: %s\n"
 
-#: src/strip.c:1671
+#: src/strip.c:1722
 #, c-format
 msgid "while preparing output for '%s'"
 msgstr ""
 
-#: src/strip.c:1733 src/strip.c:1796
+#: src/strip.c:1784 src/strip.c:1847
 #, c-format
 msgid "while create section header section: %s"
 msgstr ""
 
-#: src/strip.c:1742
+#: src/strip.c:1793
 #, c-format
 msgid "cannot allocate section data: %s"
 msgstr ""
 
-#: src/strip.c:1808
+#: src/strip.c:1859
 #, c-format
 msgid "while create section header string table: %s"
 msgstr ""
 
-#: src/strip.c:1815
+#: src/strip.c:1866
 #, c-format
 msgid "no memory to create section header string table"
 msgstr ""
 
-#: src/strip.c:2028
+#: src/strip.c:2079
 #, c-format
 msgid "Cannot remove symbol [%zd] from allocated symbol table [%zd]"
 msgstr ""
 
-#: src/strip.c:2451 src/strip.c:2559
+#: src/strip.c:2466 src/strip.c:2574
 #, c-format
 msgid "while writing '%s': %s"
 msgstr ""
 
-#: src/strip.c:2462
+#: src/strip.c:2477
 #, c-format
 msgid "while creating '%s'"
 msgstr ""
 
-#: src/strip.c:2485
+#: src/strip.c:2500
 #, c-format
 msgid "while computing checksum for debug information"
 msgstr ""
 
-#: src/strip.c:2526
+#: src/strip.c:2541
 #, c-format
 msgid "%s: error while creating ELF header: %s"
 msgstr ""
 
-#: src/strip.c:2544
+#: src/strip.c:2559
 #, c-format
 msgid "%s: error while reading the file: %s"
 msgstr ""
 
-#: src/strip.c:2584 src/strip.c:2604
+#: src/strip.c:2599 src/strip.c:2619
 #, fuzzy, c-format
 msgid "while writing '%s'"
 msgstr "beim Schliessen von '%s'"
 
-#: src/strip.c:2641 src/strip.c:2648
+#: src/strip.c:2656 src/strip.c:2663
 #, c-format
 msgid "error while finishing '%s': %s"
 msgstr ""
 
-#: src/strip.c:2665 src/strip.c:2741
+#: src/strip.c:2680 src/strip.c:2756
 #, c-format
 msgid "cannot set access and modification date of '%s'"
 msgstr ""
 
-#: src/unstrip.c:70
+#: src/unstrip.c:66
 msgid "Match MODULE against file names, not module names"
 msgstr ""
 
-#: src/unstrip.c:71
+#: src/unstrip.c:67
 msgid "Silently skip unfindable files"
 msgstr ""
 
-#: src/unstrip.c:74
+#: src/unstrip.c:70
 msgid "Place output into FILE"
 msgstr ""
 
-#: src/unstrip.c:76
+#: src/unstrip.c:72
 msgid "Create multiple output files under DIRECTORY"
 msgstr ""
 
-#: src/unstrip.c:77
+#: src/unstrip.c:73
 msgid "Use module rather than file names"
 msgstr ""
 
-#: src/unstrip.c:79
+#: src/unstrip.c:75
 msgid "Create output for modules that have no separate debug information"
 msgstr ""
 
-#: src/unstrip.c:82
+#: src/unstrip.c:78
 msgid "Apply relocations to section contents in ET_REL files"
 msgstr ""
 
-#: src/unstrip.c:84
+#: src/unstrip.c:80
 msgid "Only list module and file names, build IDs"
 msgstr ""
 
-#: src/unstrip.c:86
+#: src/unstrip.c:82
 msgid "Force combining files even if some ELF headers don't seem to match"
 msgstr ""
 
-#: src/unstrip.c:130
+#: src/unstrip.c:126
 #, c-format
 msgid "-d option specified twice"
 msgstr "Option -d zweimal angegeben"
 
-#: src/unstrip.c:165
+#: src/unstrip.c:161
 #, c-format
 msgid "only one of -o or -d allowed"
 msgstr "nur entweder -o oder -d erlaubt"
 
-#: src/unstrip.c:174
+#: src/unstrip.c:170
 #, c-format
 msgid "-n cannot be used with explicit files or -o or -d"
 msgstr "-n kann nicht mit expliziten Dateien oder -o oder -d verwendet werden"
 
-#: src/unstrip.c:189
+#: src/unstrip.c:185
 #, c-format
 msgid "output directory '%s'"
 msgstr "Ausgabeverzeichnis '%s'"
 
-#: src/unstrip.c:198
+#: src/unstrip.c:194
 #, c-format
 msgid "exactly two file arguments are required"
 msgstr "genau zwei Datei-Argumente werden benötigt"
 
-#: src/unstrip.c:204
+#: src/unstrip.c:200
 #, c-format
 msgid "-m, -a, -R, and -i options not allowed with explicit files"
 msgstr ""
 
-#: src/unstrip.c:217
+#: src/unstrip.c:213
 #, c-format
 msgid "-o or -d is required when using implicit files"
 msgstr ""
 
-#: src/unstrip.c:240
+#: src/unstrip.c:236
 #, c-format
 msgid "cannot create ELF header: %s"
 msgstr ""
 
-#: src/unstrip.c:244
+#: src/unstrip.c:240
 #, fuzzy, c-format
 msgid "cannot get shdrstrndx:%s"
 msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/unstrip.c:248 src/unstrip.c:2081
+#: src/unstrip.c:244 src/unstrip.c:2085
 #, c-format
 msgid "cannot get ELF header: %s"
 msgstr ""
 
-#: src/unstrip.c:258
+#: src/unstrip.c:254
 #, fuzzy, c-format
 msgid "cannot get new zero section: %s"
 msgstr "konnte Versionierungsabschnitt nicht erstellen: %s"
 
-#: src/unstrip.c:261
+#: src/unstrip.c:257
 #, fuzzy, c-format
 msgid "cannot update new zero section: %s"
 msgstr "konnte Versionierungsabschnitt nicht erstellen: %s"
 
-#: src/unstrip.c:265
+#: src/unstrip.c:261
 #, c-format
 msgid "cannot copy ELF header: %s"
 msgstr ""
 
-#: src/unstrip.c:269 src/unstrip.c:2099 src/unstrip.c:2142
+#: src/unstrip.c:265 src/unstrip.c:2103 src/unstrip.c:2146
 #, fuzzy, c-format
 msgid "cannot get number of program headers: %s"
 msgstr "konnte Programm-Kopf nicht erstellen: %s"
 
-#: src/unstrip.c:274 src/unstrip.c:2103
+#: src/unstrip.c:270 src/unstrip.c:2107
 #, c-format
 msgid "cannot create program headers: %s"
 msgstr "konnte Programm-Kopf nicht erstellen: %s"
 
-#: src/unstrip.c:280
+#: src/unstrip.c:276
 #, c-format
 msgid "cannot copy program header: %s"
 msgstr "konnte Programm-Kopf nicht kopieren: %s"
 
-#: src/unstrip.c:290
+#: src/unstrip.c:286
 #, c-format
 msgid "cannot copy section header: %s"
 msgstr ""
 
-#: src/unstrip.c:293 src/unstrip.c:1703
+#: src/unstrip.c:289 src/unstrip.c:1707
 #, c-format
 msgid "cannot get section data: %s"
 msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/unstrip.c:295 src/unstrip.c:1705
+#: src/unstrip.c:291 src/unstrip.c:1709
 #, c-format
 msgid "cannot copy section data: %s"
 msgstr "konnte Abschnittsdaten nicht kopieren: %s"
@@ -6213,260 +6246,260 @@
 msgid "cannot create directory '%s'"
 msgstr "konnte Verzeichnis nicht erstellen: %s"
 
-#: src/unstrip.c:391 src/unstrip.c:651 src/unstrip.c:685 src/unstrip.c:853
-#: src/unstrip.c:1745
+#: src/unstrip.c:393 src/unstrip.c:655 src/unstrip.c:689 src/unstrip.c:857
+#: src/unstrip.c:1749
 #, c-format
 msgid "cannot get symbol table entry: %s"
 msgstr "konnte Eintrag aus der Symboltabelle nicht holen: %s"
 
-#: src/unstrip.c:407 src/unstrip.c:654 src/unstrip.c:675 src/unstrip.c:688
-#: src/unstrip.c:1766 src/unstrip.c:1961 src/unstrip.c:1985
+#: src/unstrip.c:409 src/unstrip.c:658 src/unstrip.c:679 src/unstrip.c:692
+#: src/unstrip.c:1770 src/unstrip.c:1965 src/unstrip.c:1989
 #, c-format
 msgid "cannot update symbol table: %s"
 msgstr "konnte Symboltabelle nicht aktualisieren: %s"
 
-#: src/unstrip.c:417
+#: src/unstrip.c:419
 #, c-format
 msgid "cannot update section header: %s"
 msgstr ""
 
-#: src/unstrip.c:463 src/unstrip.c:477
+#: src/unstrip.c:465 src/unstrip.c:479
 #, c-format
 msgid "cannot update relocation: %s"
 msgstr ""
 
-#: src/unstrip.c:574
+#: src/unstrip.c:578
 #, c-format
 msgid "cannot get symbol version: %s"
 msgstr ""
 
-#: src/unstrip.c:587
+#: src/unstrip.c:591
 #, c-format
 msgid "unexpected section type in [%zu] with sh_link to symtab"
 msgstr ""
 
-#: src/unstrip.c:842
+#: src/unstrip.c:846
 #, fuzzy, c-format
 msgid "cannot get symbol section data: %s"
 msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/unstrip.c:844
+#: src/unstrip.c:848
 #, fuzzy, c-format
 msgid "cannot get string section data: %s"
 msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/unstrip.c:861
+#: src/unstrip.c:865
 #, fuzzy, c-format
 msgid "invalid string offset in symbol [%zu]"
 msgstr "ungültiger Offset %zu für Symbol %s"
 
-#: src/unstrip.c:1019 src/unstrip.c:1423
+#: src/unstrip.c:1023 src/unstrip.c:1427
 #, fuzzy, c-format
 msgid "cannot read section [%zu] name: %s"
 msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/unstrip.c:1034
+#: src/unstrip.c:1038
 #, fuzzy, c-format
 msgid "bad sh_link for group section: %s"
 msgstr "ungültige .debug_line Sektion"
 
-#: src/unstrip.c:1040
+#: src/unstrip.c:1044
 #, fuzzy, c-format
 msgid "couldn't get shdr for group section: %s"
 msgstr "konnte Versionierungsabschnitt nicht erstellen: %s"
 
-#: src/unstrip.c:1045
+#: src/unstrip.c:1049
 #, fuzzy, c-format
 msgid "bad data for group symbol section: %s"
 msgstr "ungültige .debug_line Sektion"
 
-#: src/unstrip.c:1051
+#: src/unstrip.c:1055
 #, fuzzy, c-format
 msgid "couldn't get symbol for group section: %s"
 msgstr "konnte Programm-Kopf nicht erstellen: %s"
 
-#: src/unstrip.c:1056
+#: src/unstrip.c:1060
 #, fuzzy, c-format
 msgid "bad symbol name for group section: %s"
 msgstr "konnte Programm-Kopf nicht erstellen: %s"
 
-#: src/unstrip.c:1098 src/unstrip.c:1117 src/unstrip.c:1155
+#: src/unstrip.c:1102 src/unstrip.c:1121 src/unstrip.c:1159
 #, c-format
 msgid "cannot read '.gnu.prelink_undo' section: %s"
 msgstr ""
 
-#: src/unstrip.c:1135
+#: src/unstrip.c:1139
 #, c-format
 msgid "overflow with shnum = %zu in '%s' section"
 msgstr ""
 
-#: src/unstrip.c:1146
+#: src/unstrip.c:1150
 #, c-format
 msgid "invalid contents in '%s' section"
 msgstr ""
 
-#: src/unstrip.c:1202 src/unstrip.c:1549
+#: src/unstrip.c:1206 src/unstrip.c:1553
 #, fuzzy, c-format
 msgid "cannot find matching section for [%zu] '%s'"
 msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/unstrip.c:1327 src/unstrip.c:1343 src/unstrip.c:1629 src/unstrip.c:1920
+#: src/unstrip.c:1331 src/unstrip.c:1347 src/unstrip.c:1633 src/unstrip.c:1924
 #, c-format
 msgid "cannot add section name to string table: %s"
 msgstr ""
 
-#: src/unstrip.c:1352
+#: src/unstrip.c:1356
 #, c-format
 msgid "cannot update section header string table data: %s"
 msgstr ""
 
-#: src/unstrip.c:1381 src/unstrip.c:1385
+#: src/unstrip.c:1385 src/unstrip.c:1389
 #, c-format
 msgid "cannot get section header string table section index: %s"
 msgstr ""
 
-#: src/unstrip.c:1389 src/unstrip.c:1393 src/unstrip.c:1644
+#: src/unstrip.c:1393 src/unstrip.c:1397 src/unstrip.c:1648
 #, c-format
 msgid "cannot get section count: %s"
 msgstr ""
 
-#: src/unstrip.c:1396
+#: src/unstrip.c:1400
 #, c-format
 msgid "more sections in stripped file than debug file -- arguments reversed?"
 msgstr ""
 
-#: src/unstrip.c:1400
+#: src/unstrip.c:1404
 #, c-format
 msgid "no sections in stripped file"
 msgstr ""
 
-#: src/unstrip.c:1471 src/unstrip.c:1564
+#: src/unstrip.c:1475 src/unstrip.c:1568
 #, c-format
 msgid "cannot read section header string table: %s"
 msgstr ""
 
-#: src/unstrip.c:1623
+#: src/unstrip.c:1627
 #, c-format
 msgid "cannot add new section: %s"
 msgstr ""
 
-#: src/unstrip.c:1753
+#: src/unstrip.c:1757
 #, fuzzy, c-format
 msgid "symbol [%zu] has invalid section index"
 msgstr "ungültiger Abschnittsindex"
 
-#: src/unstrip.c:1785
+#: src/unstrip.c:1789
 #, fuzzy, c-format
 msgid "group has invalid section index [%zd]"
 msgstr "ungültiger Abschnittsindex"
 
-#: src/unstrip.c:2060
+#: src/unstrip.c:2064
 #, fuzzy, c-format
 msgid "cannot read section data: %s"
 msgstr "konnte Abschnittsdaten nicht holen: %s"
 
-#: src/unstrip.c:2089
+#: src/unstrip.c:2093
 #, c-format
 msgid "cannot update ELF header: %s"
 msgstr ""
 
-#: src/unstrip.c:2113
+#: src/unstrip.c:2117
 #, c-format
 msgid "cannot update program header: %s"
 msgstr "konnte Programm-Kopf nicht aktualisieren: %s"
 
-#: src/unstrip.c:2118 src/unstrip.c:2200
+#: src/unstrip.c:2122 src/unstrip.c:2205
 #, c-format
 msgid "cannot write output file: %s"
 msgstr ""
 
-#: src/unstrip.c:2169
+#: src/unstrip.c:2173
 #, c-format
 msgid "DWARF data not adjusted for prelinking bias; consider prelink -u"
 msgstr ""
 
-#: src/unstrip.c:2172
+#: src/unstrip.c:2176
 #, c-format
 msgid ""
 "DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u"
 msgstr ""
 
-#: src/unstrip.c:2191 src/unstrip.c:2242 src/unstrip.c:2254 src/unstrip.c:2340
+#: src/unstrip.c:2196 src/unstrip.c:2247 src/unstrip.c:2259 src/unstrip.c:2345
 #, c-format
 msgid "cannot create ELF descriptor: %s"
 msgstr ""
 
-#: src/unstrip.c:2233
+#: src/unstrip.c:2238
 msgid "WARNING: "
 msgstr ""
 
-#: src/unstrip.c:2235
+#: src/unstrip.c:2240
 msgid ", use --force"
 msgstr ""
 
-#: src/unstrip.c:2258
+#: src/unstrip.c:2263
 msgid "ELF header identification (e_ident) different"
 msgstr ""
 
-#: src/unstrip.c:2261
+#: src/unstrip.c:2266
 msgid "ELF header type (e_type) different"
 msgstr ""
 
-#: src/unstrip.c:2264
+#: src/unstrip.c:2269
 msgid "ELF header machine type (e_machine) different"
 msgstr ""
 
-#: src/unstrip.c:2267
+#: src/unstrip.c:2272
 msgid "stripped program header (e_phnum) smaller than unstripped"
 msgstr ""
 
-#: src/unstrip.c:2297
+#: src/unstrip.c:2302
 #, c-format
 msgid "cannot find stripped file for module '%s': %s"
 msgstr ""
 
-#: src/unstrip.c:2301
+#: src/unstrip.c:2306
 #, c-format
 msgid "cannot open stripped file '%s' for module '%s': %s"
 msgstr ""
 
-#: src/unstrip.c:2316
+#: src/unstrip.c:2321
 #, c-format
 msgid "cannot find debug file for module '%s': %s"
 msgstr ""
 
-#: src/unstrip.c:2320
+#: src/unstrip.c:2325
 #, c-format
 msgid "cannot open debug file '%s' for module '%s': %s"
 msgstr ""
 
-#: src/unstrip.c:2333
+#: src/unstrip.c:2338
 #, c-format
 msgid "module '%s' file '%s' is not stripped"
 msgstr ""
 
-#: src/unstrip.c:2364
+#: src/unstrip.c:2369
 #, c-format
 msgid "cannot cache section addresses for module '%s': %s"
 msgstr ""
 
-#: src/unstrip.c:2497
+#: src/unstrip.c:2501
 #, c-format
 msgid "no matching modules found"
 msgstr "kein passendes Modul gefunden"
 
-#: src/unstrip.c:2506
+#: src/unstrip.c:2510
 #, c-format
 msgid "matched more than one module"
 msgstr "mehr als ein passendes Modul"
 
-#: src/unstrip.c:2550
+#: src/unstrip.c:2554
 msgid ""
 "STRIPPED-FILE DEBUG-FILE\n"
 "[MODULE...]"
 msgstr ""
 
-#: src/unstrip.c:2551
+#: src/unstrip.c:2555
 msgid ""
 "Combine stripped files with separate symbols and debug information.\n"
 "\n"
@@ -6498,11 +6531,11 @@
 msgid "Run executable"
 msgstr ""
 
-#: tests/dwflmodtest.c:213
+#: tests/dwflmodtest.c:209
 msgid "Additionally show function names"
 msgstr ""
 
-#: tests/dwflmodtest.c:214
+#: tests/dwflmodtest.c:210
 msgid "Show instances of inlined functions"
 msgstr ""
 
diff --git a/po/en@boldquot.header b/po/en@boldquot.header
deleted file mode 100644
index fedb6a0..0000000
--- a/po/en@boldquot.header
+++ /dev/null
@@ -1,25 +0,0 @@
-# All this catalog "translates" are quotation characters.
-# The msgids must be ASCII and therefore cannot contain real quotation
-# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
-# and double quote (0x22). These substitutes look strange; see
-# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
-#
-# This catalog translates grave accent (0x60) and apostrophe (0x27) to
-# left single quotation mark (U+2018) and right single quotation mark (U+2019).
-# It also translates pairs of apostrophe (0x27) to
-# left single quotation mark (U+2018) and right single quotation mark (U+2019)
-# and pairs of quotation mark (0x22) to
-# left double quotation mark (U+201C) and right double quotation mark (U+201D).
-#
-# When output to an UTF-8 terminal, the quotation characters appear perfectly.
-# When output to an ISO-8859-1 terminal, the single quotation marks are
-# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
-# grave/acute accent (by libiconv), and the double quotation marks are
-# transliterated to 0x22.
-# When output to an ASCII terminal, the single quotation marks are
-# transliterated to apostrophes, and the double quotation marks are
-# transliterated to 0x22.
-#
-# This catalog furthermore displays the text between the quotation marks in
-# bold face, assuming the VT100/XTerm escape sequences.
-#
diff --git a/po/en@quot.header b/po/en@quot.header
deleted file mode 100644
index a9647fc..0000000
--- a/po/en@quot.header
+++ /dev/null
@@ -1,22 +0,0 @@
-# All this catalog "translates" are quotation characters.
-# The msgids must be ASCII and therefore cannot contain real quotation
-# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
-# and double quote (0x22). These substitutes look strange; see
-# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
-#
-# This catalog translates grave accent (0x60) and apostrophe (0x27) to
-# left single quotation mark (U+2018) and right single quotation mark (U+2019).
-# It also translates pairs of apostrophe (0x27) to
-# left single quotation mark (U+2018) and right single quotation mark (U+2019)
-# and pairs of quotation mark (0x22) to
-# left double quotation mark (U+201C) and right double quotation mark (U+201D).
-#
-# When output to an UTF-8 terminal, the quotation characters appear perfectly.
-# When output to an ISO-8859-1 terminal, the single quotation marks are
-# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
-# grave/acute accent (by libiconv), and the double quotation marks are
-# transliterated to 0x22.
-# When output to an ASCII terminal, the single quotation marks are
-# transliterated to apostrophes, and the double quotation marks are
-# transliterated to 0x22.
-#
diff --git a/po/es.po b/po/es.po
index 0d32a5d..bdfcc14 100644
--- a/po/es.po
+++ b/po/es.po
@@ -10,7 +10,7 @@
 msgstr ""
 "Project-Id-Version: elfutils.master.es\n"
 "Report-Msgid-Bugs-To: https://sourceware.org/bugzilla/\n"
-"POT-Creation-Date: 2019-11-26 09:48+0100\n"
+"POT-Creation-Date: 2021-02-05 21:10+0100\n"
 "PO-Revision-Date: 2011-01-10 15:17-0300\n"
 "Last-Translator: Claudio Rodrigo Pereyra Diaz <claudiorodrigo@pereyradiaz."
 "com.ar>\n"
@@ -57,8 +57,8 @@
 "garantía, ni siquiera para SU COMERCIALIZACIÓN o PARA SER USADO CON UN FIN "
 "DETERMINADO.\n"
 
-#: lib/xmalloc.c:52 lib/xmalloc.c:65 lib/xmalloc.c:77 src/readelf.c:3449
-#: src/readelf.c:11398 src/unstrip.c:2393 src/unstrip.c:2599
+#: lib/xmalloc.c:48 lib/xmalloc.c:61 lib/xmalloc.c:73 src/readelf.c:3453
+#: src/readelf.c:11501 src/unstrip.c:312 src/unstrip.c:2398 src/unstrip.c:2603
 #, c-format
 msgid "memory exhausted"
 msgstr "memoria agotada"
@@ -221,7 +221,7 @@
 msgid "invalid directory index"
 msgstr "Índice de directorio inválido"
 
-#: libdw/dwarf_error.c:87 libdwfl/libdwflP.h:72
+#: libdw/dwarf_error.c:87 libdwfl/libdwflP.h:73
 msgid "address out of range"
 msgstr "dirección fuera de rango"
 
@@ -252,7 +252,7 @@
 msgid "invalid address range index"
 msgstr "Índice de dirección de rango inválido"
 
-#: libdw/dwarf_error.c:94 libdwfl/libdwflP.h:73
+#: libdw/dwarf_error.c:94 libdwfl/libdwflP.h:74
 msgid "no matching address range"
 msgstr "dirección de rango no coincidente"
 
@@ -300,23 +300,23 @@
 msgid ".debug_addr section missing"
 msgstr ".debug_ranges section faltante"
 
-#: libdwfl/argp-std.c:50 src/stack.c:638 src/unstrip.c:2540
+#: libdwfl/argp-std.c:47 src/stack.c:643 src/unstrip.c:2544
 msgid "Input selection options:"
 msgstr "Opciones de selección de entrada:"
 
-#: libdwfl/argp-std.c:51
+#: libdwfl/argp-std.c:48
 msgid "Find addresses in FILE"
 msgstr "Hallar direcciones en FICHERO"
 
-#: libdwfl/argp-std.c:53
+#: libdwfl/argp-std.c:50
 msgid "Find addresses from signatures found in COREFILE"
 msgstr "Buscar direcciones desde firmas encontradas en COREFILE"
 
-#: libdwfl/argp-std.c:55
+#: libdwfl/argp-std.c:52
 msgid "Find addresses in files mapped into process PID"
 msgstr "Busca direcciones en archivos mapeados sobre procesos PID"
 
-#: libdwfl/argp-std.c:57
+#: libdwfl/argp-std.c:54
 msgid ""
 "Find addresses in files mapped as read from FILE in Linux /proc/PID/maps "
 "format"
@@ -324,46 +324,46 @@
 "Busca direcciones en archivos asignados como leídos desde FILE en formato "
 "Linux /proc/PID/maps"
 
-#: libdwfl/argp-std.c:59
+#: libdwfl/argp-std.c:56
 msgid "Find addresses in the running kernel"
 msgstr "Busca direcciones en el kernel que está ejecutándose"
 
-#: libdwfl/argp-std.c:61
+#: libdwfl/argp-std.c:58
 msgid "Kernel with all modules"
 msgstr "Kernel con todos los módulos"
 
-#: libdwfl/argp-std.c:63 src/stack.c:645
+#: libdwfl/argp-std.c:60 src/stack.c:650
 msgid "Search path for separate debuginfo files"
 msgstr "Ruta de búsqueda para archivos debugingfo independientes"
 
-#: libdwfl/argp-std.c:164
+#: libdwfl/argp-std.c:161
 msgid "only one of -e, -p, -k, -K, or --core allowed"
 msgstr "Sólo uno de -e, -p, -k, -K, ó --core está permitido"
 
-#: libdwfl/argp-std.c:237
+#: libdwfl/argp-std.c:234
 msgid "cannot load kernel symbols"
 msgstr "No se pueden cargar símbolos de kernel"
 
 #. Non-fatal to have no modules since we do have the kernel.
-#: libdwfl/argp-std.c:241
+#: libdwfl/argp-std.c:238
 msgid "cannot find kernel modules"
 msgstr "no se pueden hallar módulos de kernel"
 
-#: libdwfl/argp-std.c:258
+#: libdwfl/argp-std.c:255
 msgid "cannot find kernel or modules"
 msgstr "imposible encontrar kernel o módulos"
 
-#: libdwfl/argp-std.c:297
+#: libdwfl/argp-std.c:294
 #, c-format
 msgid "cannot read ELF core file: %s"
 msgstr "No se puede leer archivo core ELF: %s"
 
-#: libdwfl/argp-std.c:320
+#: libdwfl/argp-std.c:317
 #, fuzzy
 msgid "Not enough memory"
 msgstr "memoria agotada"
 
-#: libdwfl/argp-std.c:330
+#: libdwfl/argp-std.c:327
 msgid "No modules recognized in core file"
 msgstr "No hay módulos reconocidos en el archivo core"
 
@@ -396,130 +396,135 @@
 msgstr "falló la descompresión LZMA"
 
 #: libdwfl/libdwflP.h:61
+#, fuzzy
+msgid "zstd decompression failed"
+msgstr "falló la descompresión gzip"
+
+#: libdwfl/libdwflP.h:62
 msgid "no support library found for machine"
 msgstr "no se ha encontrado una biblioteca de soporte para la máquina"
 
-#: libdwfl/libdwflP.h:62
+#: libdwfl/libdwflP.h:63
 msgid "Callbacks missing for ET_REL file"
 msgstr "No se encuentran rellamadas para el archivo ET_REL"
 
-#: libdwfl/libdwflP.h:63
+#: libdwfl/libdwflP.h:64
 msgid "Unsupported relocation type"
 msgstr "Tipo de reubicación no soportada"
 
-#: libdwfl/libdwflP.h:64
+#: libdwfl/libdwflP.h:65
 msgid "r_offset is bogus"
 msgstr "r_offset se encuentra inutilizable"
 
-#: libdwfl/libdwflP.h:65 libelf/elf_error.c:115 libelf/elf_error.c:175
+#: libdwfl/libdwflP.h:66 libelf/elf_error.c:115 libelf/elf_error.c:175
 msgid "offset out of range"
 msgstr "desplazamiento fuera de rango"
 
-#: libdwfl/libdwflP.h:66
+#: libdwfl/libdwflP.h:67
 msgid "relocation refers to undefined symbol"
 msgstr "la reubicación hace referencia a un símbolo no definido"
 
-#: libdwfl/libdwflP.h:67
+#: libdwfl/libdwflP.h:68
 msgid "Callback returned failure"
 msgstr "La rellamada devolvió un fallo"
 
-#: libdwfl/libdwflP.h:68
+#: libdwfl/libdwflP.h:69
 msgid "No DWARF information found"
 msgstr "No se ha encontrado una información DWARF"
 
-#: libdwfl/libdwflP.h:69
+#: libdwfl/libdwflP.h:70
 msgid "No symbol table found"
 msgstr "No se ha encontrado una tabla simbólica"
 
-#: libdwfl/libdwflP.h:70
+#: libdwfl/libdwflP.h:71
 msgid "No ELF program headers"
 msgstr "No existen encabezados de programa ELF"
 
-#: libdwfl/libdwflP.h:71
+#: libdwfl/libdwflP.h:72
 msgid "address range overlaps an existing module"
 msgstr "el rango de dirección se superpone con un módulo existente"
 
-#: libdwfl/libdwflP.h:74
+#: libdwfl/libdwflP.h:75
 msgid "image truncated"
 msgstr "imagen truncada"
 
-#: libdwfl/libdwflP.h:75
+#: libdwfl/libdwflP.h:76
 msgid "ELF file opened"
 msgstr "Archivo ELF abierto"
 
-#: libdwfl/libdwflP.h:76
+#: libdwfl/libdwflP.h:77
 msgid "not a valid ELF file"
 msgstr "no es un archivo ELF válido"
 
-#: libdwfl/libdwflP.h:77
+#: libdwfl/libdwflP.h:78
 msgid "cannot handle DWARF type description"
 msgstr "no es posible manipular tipo de descripción DWARF"
 
-#: libdwfl/libdwflP.h:78
+#: libdwfl/libdwflP.h:79
 msgid "ELF file does not match build ID"
 msgstr "El archivo ELF no coincide con el ID construido"
 
-#: libdwfl/libdwflP.h:79
+#: libdwfl/libdwflP.h:80
 #, fuzzy
 msgid "corrupt .gnu.prelink_undo section data"
 msgstr "no se puede leer sección '.gnu.prelink_undo': %s"
 
-#: libdwfl/libdwflP.h:80
+#: libdwfl/libdwflP.h:81
 msgid "Internal error due to ebl"
 msgstr ""
 
-#: libdwfl/libdwflP.h:81
+#: libdwfl/libdwflP.h:82
 msgid "Missing data in core file"
 msgstr ""
 
-#: libdwfl/libdwflP.h:82
+#: libdwfl/libdwflP.h:83
 #, fuzzy
 msgid "Invalid register"
 msgstr "Parámetro inválido"
 
-#: libdwfl/libdwflP.h:83
+#: libdwfl/libdwflP.h:84
 msgid "Error reading process memory"
 msgstr ""
 
-#: libdwfl/libdwflP.h:84
+#: libdwfl/libdwflP.h:85
 msgid "Couldn't find architecture of any ELF"
 msgstr ""
 
-#: libdwfl/libdwflP.h:85
+#: libdwfl/libdwflP.h:86
 msgid "Error parsing /proc filesystem"
 msgstr ""
 
-#: libdwfl/libdwflP.h:86
+#: libdwfl/libdwflP.h:87
 #, fuzzy
 msgid "Invalid DWARF"
 msgstr "DWARF inválido"
 
-#: libdwfl/libdwflP.h:87
+#: libdwfl/libdwflP.h:88
 msgid "Unsupported DWARF"
 msgstr ""
 
-#: libdwfl/libdwflP.h:88
+#: libdwfl/libdwflP.h:89
 msgid "Unable to find more threads"
 msgstr ""
 
-#: libdwfl/libdwflP.h:89
+#: libdwfl/libdwflP.h:90
 msgid "Dwfl already has attached state"
 msgstr ""
 
-#: libdwfl/libdwflP.h:90
+#: libdwfl/libdwflP.h:91
 msgid "Dwfl has no attached state"
 msgstr ""
 
-#: libdwfl/libdwflP.h:91
+#: libdwfl/libdwflP.h:92
 msgid "Unwinding not supported for this architecture"
 msgstr ""
 
-#: libdwfl/libdwflP.h:92
+#: libdwfl/libdwflP.h:93
 #, fuzzy
 msgid "Invalid argument"
 msgstr "Parámetro inválido"
 
-#: libdwfl/libdwflP.h:93
+#: libdwfl/libdwflP.h:94
 #, fuzzy
 msgid "Not an ET_CORE ELF file"
 msgstr "no es un archivo ELF válido"
@@ -531,7 +536,7 @@
 #: libebl/eblcorenotetypename.c:100 libebl/eblobjnotetypename.c:77
 #: libebl/eblobjnotetypename.c:109 libebl/eblobjnotetypename.c:130
 #: libebl/eblosabiname.c:73 libebl/eblsectionname.c:83
-#: libebl/eblsectiontypename.c:115 libebl/eblsegmenttypename.c:79
+#: libebl/eblsectiontypename.c:115 libebl/eblsegmenttypename.c:81
 msgid "<unknown>"
 msgstr "<desconocido>"
 
@@ -591,7 +596,7 @@
 msgid "    Linker version: %.*s\n"
 msgstr "    Versión del Enlazador: %.*s\n"
 
-#: libebl/eblobjnote.c:571
+#: libebl/eblobjnote.c:638
 #, c-format
 msgid "    OS: %s, ABI: "
 msgstr "    OS: %s, ABI: "
@@ -625,7 +630,7 @@
 msgid "invalid size of destination operand"
 msgstr "tamaño inválido del operando destino"
 
-#: libelf/elf_error.c:87 src/readelf.c:6166
+#: libelf/elf_error.c:87 src/readelf.c:6209
 #, c-format
 msgid "invalid encoding"
 msgstr "codificación inválida"
@@ -711,8 +716,8 @@
 msgid "invalid section header"
 msgstr "encabezamiento de sección inválida"
 
-#: libelf/elf_error.c:191 src/readelf.c:9914 src/readelf.c:10514
-#: src/readelf.c:10615 src/readelf.c:10797
+#: libelf/elf_error.c:191 src/readelf.c:10012 src/readelf.c:10612
+#: src/readelf.c:10713 src/readelf.c:10895
 #, c-format
 msgid "invalid data"
 msgstr "datos inválidos"
@@ -877,12 +882,12 @@
 msgid "offset %#<PRIxMAX> lies outside section '%s'"
 msgstr "Compensación %#<PRIxMAX> se encuentra fuera de sección '%s'"
 
-#: src/addr2line.c:632
+#: src/addr2line.c:652
 #, c-format
 msgid "cannot find symbol '%s'"
 msgstr "no se puede encontrar símbolo '%s'"
 
-#: src/addr2line.c:637
+#: src/addr2line.c:657
 #, c-format
 msgid "offset %#<PRIxMAX> lies outside contents of '%s'"
 msgstr "compensación %#<PRIxMAX> se encuentra fuera de contenido de '%s'"
@@ -1051,12 +1056,12 @@
 msgid "no entry %s in archive\n"
 msgstr "no hay entrada %s en archivo\n"
 
-#: src/ar.c:472 src/ar.c:923 src/ar.c:1127
+#: src/ar.c:472 src/ar.c:927 src/ar.c:1134
 #, c-format
 msgid "cannot create hash table"
 msgstr "Falló al crear la tabla de dispersión"
 
-#: src/ar.c:479 src/ar.c:930 src/ar.c:1136
+#: src/ar.c:479 src/ar.c:934 src/ar.c:1143
 #, c-format
 msgid "cannot insert into hash table"
 msgstr "no sepuede insertar en tabla de dispersión"
@@ -1096,67 +1101,67 @@
 msgid "cannot rename temporary file to %.*s"
 msgstr "no sepuede renombrar fichero temporal para %.*s"
 
-#: src/ar.c:764 src/ar.c:1015 src/ar.c:1416 src/ranlib.c:222
+#: src/ar.c:764 src/ar.c:1019 src/ar.c:1423 src/ranlib.c:222
 #, c-format
 msgid "cannot create new file"
 msgstr "no sepuede crear fichero nuevo"
 
-#: src/ar.c:1218
+#: src/ar.c:1225
 #, c-format
 msgid "position member %s not found"
 msgstr "no se encuentra miembro de posición %s "
 
-#: src/ar.c:1228
+#: src/ar.c:1235
 #, c-format
 msgid "%s: no entry %s in archive!\n"
 msgstr "%s: ¡no hay entrada %s en archive!\n"
 
-#: src/ar.c:1257 src/objdump.c:241
+#: src/ar.c:1264 src/objdump.c:241
 #, c-format
 msgid "cannot open %s"
 msgstr "no sepuede abrir %s"
 
-#: src/ar.c:1262
+#: src/ar.c:1269
 #, c-format
 msgid "cannot stat %s"
 msgstr "no sepuede efectuar stat %s"
 
-#: src/ar.c:1268
+#: src/ar.c:1275
 #, c-format
 msgid "%s is no regular file"
 msgstr " %s no es un fichero ordinario "
 
-#: src/ar.c:1281
+#: src/ar.c:1288
 #, c-format
 msgid "cannot get ELF descriptor for %s: %s\n"
 msgstr "no sepuede obtener descriptor ELF para %s: %s\n"
 
-#: src/ar.c:1301
+#: src/ar.c:1308
 #, c-format
 msgid "cannot read %s: %s"
 msgstr "no sepuede leer %s: %s"
 
-#: src/ar.c:1476
+#: src/ar.c:1483
 #, fuzzy, c-format
 msgid "cannot represent ar_date"
 msgstr "no pueden copiar datos de sección: %s"
 
-#: src/ar.c:1482
+#: src/ar.c:1489
 #, fuzzy, c-format
 msgid "cannot represent ar_uid"
 msgstr "no pueden copiar datos de sección: %s"
 
-#: src/ar.c:1488
+#: src/ar.c:1495
 #, fuzzy, c-format
 msgid "cannot represent ar_gid"
 msgstr "no pueden copiar datos de sección: %s"
 
-#: src/ar.c:1494
+#: src/ar.c:1501
 #, fuzzy, c-format
 msgid "cannot represent ar_mode"
 msgstr "no se puede obtener encabezamiento de sección\n"
 
-#: src/ar.c:1500
+#: src/ar.c:1507
 #, fuzzy, c-format
 msgid "cannot represent ar_size"
 msgstr "no sepuede abrir %s"
@@ -1169,7 +1174,7 @@
 msgid "Use actual uid, gid, and date in archive members."
 msgstr ""
 
-#: src/arlib-argp.c:65
+#: src/arlib-argp.c:63
 #, c-format
 msgid "%s (default)"
 msgstr ""
@@ -1381,8 +1386,8 @@
 msgstr "Valor inválido '%s' para parámetro --gaps"
 
 #: src/elfcmp.c:734 src/findtextrel.c:205 src/nm.c:364 src/ranlib.c:141
-#: src/size.c:272 src/strings.c:185 src/strip.c:984 src/strip.c:1021
-#: src/unstrip.c:2189 src/unstrip.c:2218
+#: src/size.c:272 src/strings.c:185 src/strip.c:1030 src/strip.c:1067
+#: src/unstrip.c:2194 src/unstrip.c:2223
 #, c-format
 msgid "cannot open '%s'"
 msgstr "Imposible abrir '%s'"
@@ -1412,7 +1417,7 @@
 msgid "cannot get relocation: %s"
 msgstr "No se puede obtener reubicación: %s"
 
-#: src/elfcompress.c:115 src/strip.c:308 src/unstrip.c:121
+#: src/elfcompress.c:115 src/strip.c:308 src/unstrip.c:117
 #, c-format
 msgid "-o option specified twice"
 msgstr "opción -o especificada dos veces"
@@ -1529,7 +1534,7 @@
 msgid "No errors"
 msgstr "No hay errores"
 
-#: src/elflint.c:219 src/readelf.c:575
+#: src/elflint.c:219 src/readelf.c:577
 msgid "Missing file name.\n"
 msgstr "Falta el nombre de archivo.\n"
 
@@ -1690,14 +1695,14 @@
 "sección [%2d] '%s': el grupo de sección [%2zu] '%s' no precede al miembro de "
 "grupo\n"
 
-#: src/elflint.c:610 src/elflint.c:1494 src/elflint.c:1545 src/elflint.c:1651
-#: src/elflint.c:1987 src/elflint.c:2313 src/elflint.c:2932 src/elflint.c:3095
-#: src/elflint.c:3243 src/elflint.c:3433 src/elflint.c:4431
+#: src/elflint.c:610 src/elflint.c:1498 src/elflint.c:1549 src/elflint.c:1655
+#: src/elflint.c:1991 src/elflint.c:2317 src/elflint.c:2943 src/elflint.c:3106
+#: src/elflint.c:3254 src/elflint.c:3444 src/elflint.c:4456
 #, c-format
 msgid "section [%2d] '%s': cannot get section data\n"
 msgstr "Sección [%2d] '%s': No se pueden obtener datos de sección\n"
 
-#: src/elflint.c:623 src/elflint.c:1658
+#: src/elflint.c:623 src/elflint.c:1662
 #, c-format
 msgid ""
 "section [%2d] '%s': referenced as string table for section [%2d] '%s' but "
@@ -1721,174 +1726,186 @@
 msgstr ""
 "sección [%2u] '%s': el tamaño de la entrada no coincide con ElfXX_Sym\n"
 
-#: src/elflint.c:667
+#: src/elflint.c:662
+#, fuzzy, c-format
+msgid ""
+"section [%2u] '%s': number of local entries in 'st_info' larger than table "
+"size\n"
+msgstr ""
+"Sección [%2d] '%s': no hay entradas de nota definidas para el tipo de "
+"archivo\n"
+
+#: src/elflint.c:671
 #, c-format
 msgid "section [%2d] '%s': cannot get symbol %d: %s\n"
 msgstr "Sección [%2d] '%s': no se puede obtener símbolo %d: %s\n"
 
-#: src/elflint.c:672 src/elflint.c:675 src/elflint.c:678 src/elflint.c:681
-#: src/elflint.c:684 src/elflint.c:687
+#: src/elflint.c:676 src/elflint.c:679 src/elflint.c:682 src/elflint.c:685
+#: src/elflint.c:688 src/elflint.c:691
 #, c-format
 msgid "section [%2d] '%s': '%s' in zeroth entry not zero\n"
 msgstr "Sección [%2d] '%s': '%s' en la entrada zeroth no es cero\n"
 
-#: src/elflint.c:690
+#: src/elflint.c:694
 #, c-format
 msgid "section [%2d] '%s': XINDEX for zeroth entry not zero\n"
 msgstr "sección [%2d] '%s': XINDEX en la entrada zeroth no es cero\n"
 
-#: src/elflint.c:700
+#: src/elflint.c:704
 #, c-format
 msgid "section [%2d] '%s': cannot get symbol %zu: %s\n"
 msgstr "sección [%2d] '%s': no es posible obtener el símbolo %zu: %s\n"
 
-#: src/elflint.c:709
+#: src/elflint.c:713
 #, c-format
 msgid "section [%2d] '%s': symbol %zu: invalid name value\n"
 msgstr "sección [%2d] '%s': símbolo %zu: valor de nombre inválido\n"
 
-#: src/elflint.c:724
-#, c-format
+#: src/elflint.c:728
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: too large section index but no extended "
+"section [%2d] '%s': symbol %zu (%s): too large section index but no extended "
 "section index section\n"
 msgstr ""
 "Sección [%2d] '%s': símbolo %zu: el índice de sección es demasiado extenso, "
 "pero no la sección extendida de la sección de índice\n"
 
-#: src/elflint.c:730
-#, c-format
+#: src/elflint.c:734
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: XINDEX used for index which would fit in "
-"st_shndx (%<PRIu32>)\n"
+"section [%2d] '%s': symbol %zu (%s): XINDEX used for index which would fit "
+"in st_shndx (%<PRIu32>)\n"
 msgstr ""
 "Sección [%2d] '%s': símbolo %zu: XINDEX es utilizado para índice que pueda "
 "caber en st_shndx (%<PRIu32>)\n"
 
 #. || sym->st_shndx > SHN_HIRESERVE  always false
-#: src/elflint.c:742
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: invalid section index\n"
+#: src/elflint.c:746
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): invalid section index\n"
 msgstr "sección [%2d] '%s': símbolo %zu: índice de sección inválido\n"
 
-#: src/elflint.c:750
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown type\n"
+#: src/elflint.c:754
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): unknown type\n"
 msgstr "sección [%2d] '%s': símbolo %zu: tipo desconocido\n"
 
-#: src/elflint.c:756
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown symbol binding\n"
+#: src/elflint.c:760
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): unknown symbol binding\n"
 msgstr "sección [%2d] '%s': símbolo %zu: asociación de símbolo desconocida\n"
 
-#: src/elflint.c:761
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unique symbol not of object type\n"
+#: src/elflint.c:765
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): unique symbol not of object type\n"
 msgstr "Sección [%2d] '%s': símbolo %zu: símbolo único no de tipo de objeto\n"
 
-#: src/elflint.c:769
-#, c-format
+#: src/elflint.c:773
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: COMMON only allowed in relocatable files\n"
+"section [%2d] '%s': symbol %zu (%s): COMMON only allowed in relocatable "
+"files\n"
 msgstr ""
 "sección [%2d] '%s': símbolo %zu: COMMON solo es permitido en archivos "
 "realojables\n"
 
-#: src/elflint.c:773
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: local COMMON symbols are nonsense\n"
+#: src/elflint.c:777
+#, fuzzy, c-format
+msgid ""
+"section [%2d] '%s': symbol %zu (%s): local COMMON symbols are nonsense\n"
 msgstr ""
 "Sección [%2d] '%s': símbolo %zu: símbolos locales COMMON no tienen sentido\n"
 
-#: src/elflint.c:777
-#, c-format
+#: src/elflint.c:781
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: function in COMMON section is nonsense\n"
+"section [%2d] '%s': symbol %zu (%s): function in COMMON section is nonsense\n"
 msgstr ""
 "Sección [%2d] '%s': símbolo %zu: función en sección COMMON no tiene sentido\n"
 
-#: src/elflint.c:828
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: st_value out of bounds\n"
+#: src/elflint.c:832
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): st_value out of bounds\n"
 msgstr "sección [%2d] '%s': símbolo %zu: st_value fuera de límites\n"
 
-#: src/elflint.c:834 src/elflint.c:859 src/elflint.c:908
-#, c-format
+#: src/elflint.c:838 src/elflint.c:863 src/elflint.c:912
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu does not fit completely in referenced section "
-"[%2d] '%s'\n"
+"section [%2d] '%s': symbol %zu (%s) does not fit completely in referenced "
+"section [%2d] '%s'\n"
 msgstr ""
 "Sección [%2d] '%s': símbolo %zu no se ajusta totalmente en la sección [%2d] "
 "'%s'\n"
 
-#: src/elflint.c:843
-#, c-format
+#: src/elflint.c:847
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: referenced section [%2d] '%s' does not have "
-"SHF_TLS flag set\n"
+"section [%2d] '%s': symbol %zu (%s): referenced section [%2d] '%s' does not "
+"have SHF_TLS flag set\n"
 msgstr ""
 "Sección [%2d] '%s': símbolo %zu: sección de referencia [%2d] '%s' no tiene "
 "establecida bandera SHF_TLS\n"
 
-#: src/elflint.c:853 src/elflint.c:901
-#, c-format
+#: src/elflint.c:857 src/elflint.c:905
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: st_value out of bounds of referenced section "
-"[%2d] '%s'\n"
+"section [%2d] '%s': symbol %zu (%s): st_value out of bounds of referenced "
+"section [%2d] '%s'\n"
 msgstr ""
 "Sección [%2d] '%s': símbolo %zu: st_value fuera de límites de sección de "
 "referencia [%2d] '%s'\n"
 
-#: src/elflint.c:880
-#, c-format
+#: src/elflint.c:884
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: TLS symbol but no TLS program header entry\n"
+"section [%2d] '%s': symbol %zu (%s): TLS symbol but no TLS program header "
+"entry\n"
 msgstr ""
 "Sección [%2d] '%s': símbolo %zu: símbolo TLS, pero no hay entrada de "
 "programa TLS\n"
 
-#: src/elflint.c:886
+#: src/elflint.c:890
 #, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: TLS symbol but couldn't get TLS program "
+"section [%2d] '%s': symbol %zu (%s): TLS symbol but couldn't get TLS program "
 "header entry\n"
 msgstr ""
 "Sección [%2d] '%s': símbolo %zu: símbolo TLS, pero no hay entrada de "
 "programa TLS\n"
 
-#: src/elflint.c:894
-#, c-format
+#: src/elflint.c:898
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: st_value short of referenced section [%2d] "
-"'%s'\n"
+"section [%2d] '%s': symbol %zu (%s): st_value short of referenced section "
+"[%2d] '%s'\n"
 msgstr ""
 "Sección [%2d] '%s': símbolo %zu: st_value falta sección de referencia [%2d] "
 "'%s'\n"
 
-#: src/elflint.c:921
-#, c-format
+#: src/elflint.c:925
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: local symbol outside range described in "
+"section [%2d] '%s': symbol %zu (%s): local symbol outside range described in "
 "sh_info\n"
 msgstr ""
 "Sección [%2d] '%s': símbolo %zu: símbolo local fuera del rango descrito en "
 "sh_info\n"
 
-#: src/elflint.c:928
-#, c-format
+#: src/elflint.c:932
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: non-local symbol outside range described in "
-"sh_info\n"
+"section [%2d] '%s': symbol %zu (%s): non-local symbol outside range "
+"described in sh_info\n"
 msgstr ""
 "Sección [%2d] '%s': símbolo %zu: símbolo non-local fuera del rango descrito "
 "en sh_info\n"
 
-#: src/elflint.c:935
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: non-local section symbol\n"
+#: src/elflint.c:939
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): non-local section symbol\n"
 msgstr "Sección [%2d] '%s': símbolo %zu: símbolo de sección non-local\n"
 
-#: src/elflint.c:985
+#: src/elflint.c:989
 #, c-format
 msgid ""
 "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to bad section "
@@ -1897,7 +1914,7 @@
 "Sección [%2d] '%s': símbolo _GLOBAL_OFFSET_TABLE_ se refiere a sección "
 "errada [%2d]\n"
 
-#: src/elflint.c:992
+#: src/elflint.c:996
 #, c-format
 msgid ""
 "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to section [%2d] "
@@ -1909,7 +1926,7 @@
 #. 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:1008
+#: src/elflint.c:1012
 #, c-format
 msgid ""
 "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol value %#<PRIx64> does not "
@@ -1918,7 +1935,7 @@
 "Sección [%2d] '%s': valor del símbolo _GLOBAL_OFFSET_TABLE_ %#<PRIx64> no "
 "coincide con dirección de sección %s %#<PRIx64>\n"
 
-#: src/elflint.c:1015
+#: src/elflint.c:1019
 #, c-format
 msgid ""
 "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol size %<PRIu64> does not "
@@ -1927,7 +1944,7 @@
 "Sección [%2d] '%s': tamaño de símbolo _GLOBAL_OFFSET_TABLE_ %<PRIu64> no "
 "coincide con tamaño de sección %s %<PRIu64>\n"
 
-#: src/elflint.c:1023
+#: src/elflint.c:1027
 #, c-format
 msgid ""
 "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol present, but no .got "
@@ -1936,7 +1953,7 @@
 "Sección [%2d] '%s': símbolo _GLOBAL_OFFSET_TABLE_ presente, pero no. sección "
 "got\n"
 
-#: src/elflint.c:1039
+#: src/elflint.c:1043
 #, c-format
 msgid ""
 "section [%2d] '%s': _DYNAMIC_ symbol value %#<PRIx64> does not match dynamic "
@@ -1945,7 +1962,7 @@
 "sección [%2d] '%s': Valor de símbolo _DYNAMIC_ %#<PRIx64> no coincide con la "
 "dirección de segmento%#<PRIx64>\n"
 
-#: src/elflint.c:1046
+#: src/elflint.c:1050
 #, c-format
 msgid ""
 "section [%2d] '%s': _DYNAMIC symbol size %<PRIu64> does not match dynamic "
@@ -1954,38 +1971,38 @@
 "Sección [%2d] '%s': tamaño de símbolo _DYNAMIC %<PRIu64> no coincide con "
 "tamaño de segmento %<PRIu64>\n"
 
-#: src/elflint.c:1059
-#, c-format
+#: src/elflint.c:1063
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: symbol in dynamic symbol table with non-"
+"section [%2d] '%s': symbol %zu (%s): symbol in dynamic symbol table with non-"
 "default visibility\n"
 msgstr ""
 "Sección [%2d] '%s': símbolo %zu: símbolo en tabla de símbolos dinámicos sin "
 "visibilidad predeterminada\n"
 
-#: src/elflint.c:1063
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown bit set in st_other\n"
+#: src/elflint.c:1067
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): unknown bit set in st_other\n"
 msgstr ""
 "Sección [%2d] '%s': símbolo %zu: bit desconocido establecido en st_other\n"
 
-#: src/elflint.c:1101
+#: src/elflint.c:1105
 #, fuzzy, c-format
 msgid "section [%2d] '%s': cannot get section data.\n"
 msgstr "Sección [%2d] '%s': No se pueden obtener datos de sección\n"
 
-#: src/elflint.c:1117
+#: src/elflint.c:1121
 #, c-format
 msgid "section [%2d] '%s': DT_RELCOUNT used for this RELA section\n"
 msgstr "Sección [%2d] '%s': DT_RELCOUNT utilizada para esta sección RELA\n"
 
-#: src/elflint.c:1128 src/elflint.c:1181
+#: src/elflint.c:1132 src/elflint.c:1185
 #, c-format
 msgid "section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"
 msgstr ""
 "Sección [%2d] '%s': valor DT_RELCOUNT %d demasiado alto para esta sección\n"
 
-#: src/elflint.c:1153 src/elflint.c:1206
+#: src/elflint.c:1157 src/elflint.c:1210
 #, c-format
 msgid ""
 "section [%2d] '%s': relative relocations after index %d as specified by "
@@ -1994,7 +2011,7 @@
 "Sección [%2d] '%s': reubicaciones relativas después de que el %d de índice "
 "haya sido especificado por DT_RELCOUNT\n"
 
-#: src/elflint.c:1159 src/elflint.c:1212
+#: src/elflint.c:1163 src/elflint.c:1216
 #, c-format
 msgid ""
 "section [%2d] '%s': non-relative relocation at index %zu; DT_RELCOUNT "
@@ -2003,50 +2020,50 @@
 "Sección [%2d] '%s': reubicación no-relativa en %zu de índice; DT_RELCOUNT "
 "especificado %d reubicaciones relativas\n"
 
-#: src/elflint.c:1171
+#: src/elflint.c:1175
 #, c-format
 msgid "section [%2d] '%s': DT_RELACOUNT used for this REL section\n"
 msgstr "sección [%2d] '%s': DT_RELACOUNT utilizado para esta sección REL\n"
 
-#: src/elflint.c:1254
+#: src/elflint.c:1258
 #, c-format
 msgid "section [%2d] '%s': invalid destination section index\n"
 msgstr "Sección [%2d] '%s': índice de sección de destino inválido\n"
 
-#: src/elflint.c:1266
+#: src/elflint.c:1270
 #, c-format
 msgid "section [%2d] '%s': invalid destination section type\n"
 msgstr "Sección [%2d] '%s': tipo de sección de destino inválido\n"
 
-#: src/elflint.c:1274
+#: src/elflint.c:1278
 #, c-format
 msgid "section [%2d] '%s': sh_info should be zero\n"
 msgstr "Sección [%2d] '%s': sh_info debe ser cero\n"
 
-#: src/elflint.c:1282
+#: src/elflint.c:1286
 #, fuzzy, c-format
 msgid ""
 "section [%2d] '%s': no relocations for merge-able string sections possible\n"
 msgstr ""
 "Sección [%2d] '%s': no reubicaciones para secciones de fusión posibles\n"
 
-#: src/elflint.c:1290
+#: src/elflint.c:1294
 #, c-format
 msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n"
 msgstr ""
 "Sección [%2d] '%s': tamaño de entrada de sección no coincide con ElfXX_Rela\n"
 
-#: src/elflint.c:1350
+#: src/elflint.c:1354
 #, c-format
 msgid "text relocation flag set but there is no read-only segment\n"
 msgstr "Reubicación de bandera pero no hay segmento de sólo lectura\n"
 
-#: src/elflint.c:1377
+#: src/elflint.c:1381
 #, c-format
 msgid "section [%2d] '%s': relocation %zu: invalid type\n"
 msgstr "Sección [%2d] '%s': reubicación %zu: tipo inválido\n"
 
-#: src/elflint.c:1385
+#: src/elflint.c:1389
 #, c-format
 msgid ""
 "section [%2d] '%s': relocation %zu: relocation type invalid for the file "
@@ -2055,12 +2072,12 @@
 "Sección [%2d] '%s': reubicación %zu: tipo de reubicación inválido para el "
 "tipo de archivo\n"
 
-#: src/elflint.c:1393
+#: src/elflint.c:1397
 #, c-format
 msgid "section [%2d] '%s': relocation %zu: invalid symbol index\n"
 msgstr "Sección [%2d] '%s': reubicación %zu: índice de símbolo inválido\n"
 
-#: src/elflint.c:1411
+#: src/elflint.c:1415
 #, c-format
 msgid ""
 "section [%2d] '%s': relocation %zu: only symbol '_GLOBAL_OFFSET_TABLE_' can "
@@ -2069,12 +2086,12 @@
 "Sección [%2d] '%s': reubicación %zu: sólo el símbolo '_GLOBAL_OFFSET_TABLE_' "
 "puede utilizarse con %s\n"
 
-#: src/elflint.c:1428
+#: src/elflint.c:1432
 #, c-format
 msgid "section [%2d] '%s': relocation %zu: offset out of bounds\n"
 msgstr "Sección [%2d] '%s': reubicación %zu: compensación fuera de límites\n"
 
-#: src/elflint.c:1443
+#: src/elflint.c:1447
 #, c-format
 msgid ""
 "section [%2d] '%s': relocation %zu: copy relocation against symbol of type "
@@ -2083,7 +2100,7 @@
 "Sección [%2d] '%s': reubicación %zu: reubicación de copia con símbolo de "
 "tipo %s\n"
 
-#: src/elflint.c:1464
+#: src/elflint.c:1468
 #, c-format
 msgid ""
 "section [%2d] '%s': relocation %zu: read-only section modified but text "
@@ -2092,24 +2109,24 @@
 "Sección [%2d] '%s': reubicación %zu: sección de sólo-lectura modificada, "
 "pero no se estableció bandera de reubicación\n"
 
-#: src/elflint.c:1479
+#: src/elflint.c:1483
 #, c-format
 msgid "section [%2d] '%s': relocations are against loaded and unloaded data\n"
 msgstr ""
 "Sección [%2d] '%s': las reubicaciones se hacen con datos cargados y "
 "descargados\n"
 
-#: src/elflint.c:1519 src/elflint.c:1570
+#: src/elflint.c:1523 src/elflint.c:1574
 #, c-format
 msgid "section [%2d] '%s': cannot get relocation %zu: %s\n"
 msgstr "Sección [%2d] '%s': no puede obtener reubicación %zu: %s\n"
 
-#: src/elflint.c:1646
+#: src/elflint.c:1650
 #, c-format
 msgid "more than one dynamic section present\n"
 msgstr "más de una sección dinámica presente\n"
 
-#: src/elflint.c:1664
+#: src/elflint.c:1668
 #, fuzzy, c-format
 msgid ""
 "section [%2d]: referenced as string table for section [%2d] '%s' but section "
@@ -2118,44 +2135,44 @@
 "sección [%2d] '%s': nombrado como una tabla de cadena para la sección [%2d] "
 "'%s' pero el tipo no es SHT_STRTAB\n"
 
-#: src/elflint.c:1672
+#: src/elflint.c:1676
 #, c-format
 msgid "section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"
 msgstr ""
 "Sección [%2d] '%s': tamaño de entrada de sección no coincide con ElfXX_Dyn\n"
 
-#: src/elflint.c:1677 src/elflint.c:1966
+#: src/elflint.c:1681 src/elflint.c:1970
 #, c-format
 msgid "section [%2d] '%s': sh_info not zero\n"
 msgstr "Sección [%2d] '%s': sh_info no es cero\n"
 
-#: src/elflint.c:1687
+#: src/elflint.c:1691
 #, c-format
 msgid "section [%2d] '%s': cannot get dynamic section entry %zu: %s\n"
 msgstr ""
 "Sección [%2d] '%s': no puede obtener entrada de sección dinámica %zu: %s\n"
 
-#: src/elflint.c:1695
+#: src/elflint.c:1699
 #, c-format
 msgid "section [%2d] '%s': non-DT_NULL entries follow DT_NULL entry\n"
 msgstr "Sección [%2d] '%s': entradas non-DT_NULL siguen a la entrada DT_NULL\n"
 
-#: src/elflint.c:1702
+#: src/elflint.c:1706
 #, c-format
 msgid "section [%2d] '%s': entry %zu: unknown tag\n"
 msgstr "Sección [%2d] '%s': entrada %zu: etiqueta desconocida\n"
 
-#: src/elflint.c:1713
+#: src/elflint.c:1717
 #, c-format
 msgid "section [%2d] '%s': entry %zu: more than one entry with tag %s\n"
 msgstr "Sección [%2d] '%s': entrada %zu: más de una entrada con etiqueta %s\n"
 
-#: src/elflint.c:1723
+#: src/elflint.c:1727
 #, c-format
 msgid "section [%2d] '%s': entry %zu: level 2 tag %s used\n"
 msgstr "Sección [%2d] '%s': entrada %zu: nivel 2 etiqueta %s utilizada\n"
 
-#: src/elflint.c:1741
+#: src/elflint.c:1745
 #, c-format
 msgid ""
 "section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n"
@@ -2163,7 +2180,7 @@
 "Sección [%2d] '%s': entrada %zu: el valor DT_PLTREL debe ser DT_REL or "
 "DT_RELA\n"
 
-#: src/elflint.c:1754
+#: src/elflint.c:1758
 #, c-format
 msgid ""
 "section [%2d] '%s': entry %zu: pointer does not match address of section "
@@ -2172,14 +2189,14 @@
 "Sección [%2d] '%s': entrada %zu: puntero no coincide con dirección de "
 "sección [%2d] '%s' al que hace referencia sh_link\n"
 
-#: src/elflint.c:1797
+#: src/elflint.c:1801
 #, c-format
 msgid ""
 "section [%2d] '%s': entry %zu: %s value must point into loaded segment\n"
 msgstr ""
 "Sección [%2d] '%s': entrada %zu: valor %s debe apuntar en segmento cargado\n"
 
-#: src/elflint.c:1812
+#: src/elflint.c:1816
 #, c-format
 msgid ""
 "section [%2d] '%s': entry %zu: %s value must be valid offset in section "
@@ -2188,46 +2205,46 @@
 "sección [%2d] '%s': entrada %zu: valor %s debe ser compensación válida en "
 "sección [%2d] '%s'\n"
 
-#: src/elflint.c:1832 src/elflint.c:1860
+#: src/elflint.c:1836 src/elflint.c:1864
 #, c-format
 msgid "section [%2d] '%s': contains %s entry but not %s\n"
 msgstr "Sección [%2d] '%s': contiene entrada %s pero no %s\n"
 
-#: src/elflint.c:1844
+#: src/elflint.c:1848
 #, c-format
 msgid "section [%2d] '%s': mandatory tag %s not present\n"
 msgstr "Sección [%2d] '%s': etiqueta obligatoria %s no está presente\n"
 
-#: src/elflint.c:1853
+#: src/elflint.c:1857
 #, c-format
 msgid "section [%2d] '%s': no hash section present\n"
 msgstr "Sección [%2d] '%s': no hay sección de dispersión presente\n"
 
-#: src/elflint.c:1868 src/elflint.c:1875
+#: src/elflint.c:1872 src/elflint.c:1879
 #, c-format
 msgid "section [%2d] '%s': not all of %s, %s, and %s are present\n"
 msgstr "Sección [%2d] '%s': no todas las %s, %s, y %s están presentes\n"
 
-#: src/elflint.c:1885 src/elflint.c:1889
+#: src/elflint.c:1889 src/elflint.c:1893
 #, c-format
 msgid "section [%2d] '%s': %s tag missing in DSO marked during prelinking\n"
 msgstr ""
 "Sección [%2d] '%s': etiqueta %s faltante en DSO marcada durante el pre-"
 "enlace\n"
 
-#: src/elflint.c:1895
+#: src/elflint.c:1899
 #, c-format
 msgid "section [%2d] '%s': non-DSO file marked as dependency during prelink\n"
 msgstr ""
 "Sección [%2d] '%s': archivo no-DSO marcado como dependencia durante el pre-"
 "enlace\n"
 
-#: src/elflint.c:1906 src/elflint.c:1910 src/elflint.c:1914 src/elflint.c:1918
+#: src/elflint.c:1910 src/elflint.c:1914 src/elflint.c:1918 src/elflint.c:1922
 #, c-format
 msgid "section [%2d] '%s': %s tag missing in prelinked executable\n"
 msgstr "Sección [%2d] '%s': etiqueta %s faltante en pre-enlace ejecutable\n"
 
-#: src/elflint.c:1930
+#: src/elflint.c:1934
 #, c-format
 msgid ""
 "section [%2d] '%s': only relocatable files can have extended section index\n"
@@ -2235,37 +2252,37 @@
 "Sección [%2d] '%s': sólo los archivos reubicables pueden tener índice de "
 "sección extendido\n"
 
-#: src/elflint.c:1940
+#: src/elflint.c:1944
 #, c-format
 msgid ""
 "section [%2d] '%s': extended section index section not for symbol table\n"
 msgstr ""
 "Sección [%2d] '%s': índice de sección extendido no para tabla de símbolos\n"
 
-#: src/elflint.c:1944
+#: src/elflint.c:1948
 #, fuzzy, c-format
 msgid "section [%2d] '%s': sh_link extended section index [%2d] is invalid\n"
 msgstr ""
 "Sección [%2d] '%s': índice de sección extendido no para tabla de símbolos\n"
 
-#: src/elflint.c:1949
+#: src/elflint.c:1953
 #, c-format
 msgid "cannot get data for symbol section\n"
 msgstr "no se puede obtener sección para símbolos\n"
 
-#: src/elflint.c:1952
+#: src/elflint.c:1956
 #, c-format
 msgid "section [%2d] '%s': entry size does not match Elf32_Word\n"
 msgstr "Sección [%2d] '%s': tamaño de entrada no coincide con Elf32_Word\n"
 
-#: src/elflint.c:1961
+#: src/elflint.c:1965
 #, c-format
 msgid "section [%2d] '%s': extended index table too small for symbol table\n"
 msgstr ""
 "Sección [%2d] '%s': tabla de índice extendida demasiado pequeña para tabla "
 "de símbolos\n"
 
-#: src/elflint.c:1976
+#: src/elflint.c:1980
 #, c-format
 msgid ""
 "section [%2d] '%s': extended section index in section [%2zu] '%s' refers to "
@@ -2274,24 +2291,24 @@
 "Sección [%2d] '%s': índice de sección extendida en sección [%2zu] '%s' se "
 "refiere a la misma tabla de símbolos\n"
 
-#: src/elflint.c:1994
+#: src/elflint.c:1998
 #, c-format
 msgid "symbol 0 should have zero extended section index\n"
 msgstr "símbolo 0 debe tener índice de sección extendida cero\n"
 
-#: src/elflint.c:2006
+#: src/elflint.c:2010
 #, c-format
 msgid "cannot get data for symbol %zu\n"
 msgstr "no puede obtener datos para símbolo %zu\n"
 
-#: src/elflint.c:2011
+#: src/elflint.c:2015
 #, c-format
 msgid "extended section index is %<PRIu32> but symbol index is not XINDEX\n"
 msgstr ""
 "índice de sección extendida es %<PRIu32> pero índice de símbolo no es "
 "XINDEX\n"
 
-#: src/elflint.c:2028 src/elflint.c:2085
+#: src/elflint.c:2032 src/elflint.c:2089
 #, c-format
 msgid ""
 "section [%2d] '%s': hash table section is too small (is %ld, expected %ld)\n"
@@ -2299,42 +2316,42 @@
 "Sección [%2d] '%s': sección de tabla de dispersión es demasiado pequeña (es "
 "%ld, se espera %ld)\n"
 
-#: src/elflint.c:2042 src/elflint.c:2099
+#: src/elflint.c:2046 src/elflint.c:2103
 #, c-format
 msgid "section [%2d] '%s': chain array too large\n"
 msgstr "Sección [%2d] '%s': índice de la cadena es demasiado grande\n"
 
-#: src/elflint.c:2056 src/elflint.c:2113
+#: src/elflint.c:2060 src/elflint.c:2117
 #, c-format
 msgid "section [%2d] '%s': hash bucket reference %zu out of bounds\n"
 msgstr ""
 "Sección [%2d] '%s': referencia de cubetas de dispersión %zu fuera de "
 "límites\n"
 
-#: src/elflint.c:2066
+#: src/elflint.c:2070
 #, c-format
 msgid "section [%2d] '%s': hash chain reference %zu out of bounds\n"
 msgstr ""
 "Sección [%2d] '%s': referencia de cadena de dispersión %zu fuera de límites\n"
 
-#: src/elflint.c:2123
+#: src/elflint.c:2127
 #, c-format
 msgid "section [%2d] '%s': hash chain reference %<PRIu64> out of bounds\n"
 msgstr ""
 "Sección [%2d] '%s': referencia de cadena de dispersión %<PRIu64> fuera de "
 "límites\n"
 
-#: src/elflint.c:2136
+#: src/elflint.c:2140
 #, fuzzy, c-format
 msgid "section [%2d] '%s': not enough data\n"
 msgstr "Sección [%2d] '%s': no puede obtener datos: %s\n"
 
-#: src/elflint.c:2148
+#: src/elflint.c:2152
 #, fuzzy, c-format
 msgid "section [%2d] '%s': bitmask size zero or not power of 2: %u\n"
 msgstr "Sección [%2d] '%s': tamaño de bitmask no es potencia de 2: %u\n"
 
-#: src/elflint.c:2164
+#: src/elflint.c:2168
 #, fuzzy, c-format
 msgid ""
 "section [%2d] '%s': hash table section is too small (is %ld, expected at "
@@ -2343,14 +2360,14 @@
 "Sección [%2d] '%s': sección de tabla de dispersión es demasiado pequeña (es "
 "%ld, se espera al menos least%ld)\n"
 
-#: src/elflint.c:2173
+#: src/elflint.c:2177
 #, c-format
 msgid "section [%2d] '%s': 2nd hash function shift too big: %u\n"
 msgstr ""
 "Sección [%2d] '%s': segundo cambio de función de dispersión demasiado "
 "grande: %u\n"
 
-#: src/elflint.c:2207
+#: src/elflint.c:2211
 #, c-format
 msgid ""
 "section [%2d] '%s': hash chain for bucket %zu lower than symbol index bias\n"
@@ -2358,7 +2375,7 @@
 "Sección [%2d] '%s': cadena de dispersión para cubetas %zu inferior a "
 "polarización de índice de símbolo\n"
 
-#: src/elflint.c:2228
+#: src/elflint.c:2232
 #, c-format
 msgid ""
 "section [%2d] '%s': symbol %u referenced in chain for bucket %zu is "
@@ -2367,7 +2384,7 @@
 "Sección [%2d] '%s': el símbolo %u al que se hace referencia en cadena para "
 "cubeta %zu es indefinido\n"
 
-#: src/elflint.c:2241
+#: src/elflint.c:2245
 #, c-format
 msgid ""
 "section [%2d] '%s': hash value for symbol %u in chain for bucket %zu wrong\n"
@@ -2375,7 +2392,7 @@
 "Sección [%2d] '%s': valor de dispersión para símbolo %u en cadena para "
 "cubeta %zu está errado\n"
 
-#: src/elflint.c:2250
+#: src/elflint.c:2254
 #, fuzzy, c-format
 msgid ""
 "section [%2d] '%s': mask index for symbol %u in chain for bucket %zu wrong\n"
@@ -2383,13 +2400,13 @@
 "Sección [%2d] '%s': valor de dispersión para símbolo %u en cadena para "
 "cubeta %zu está errado\n"
 
-#: src/elflint.c:2280
+#: src/elflint.c:2284
 #, c-format
 msgid "section [%2d] '%s': hash chain for bucket %zu out of bounds\n"
 msgstr ""
 "Sección [%2d] '%s': cadena de dispersión para cubeta %zu fuera de limites\n"
 
-#: src/elflint.c:2285
+#: src/elflint.c:2289
 #, c-format
 msgid ""
 "section [%2d] '%s': symbol reference in chain for bucket %zu out of bounds\n"
@@ -2397,43 +2414,43 @@
 "Sección [%2d] '%s': referencia de símbolo en cadena para cubeta %zu fuera de "
 "límites\n"
 
-#: src/elflint.c:2291
+#: src/elflint.c:2295
 #, c-format
 msgid "section [%2d] '%s': bitmask does not match names in the hash table\n"
 msgstr ""
 "Sección [%2d] '%s': bitmask no coincide con nombres en la tabla de "
 "dispersión\n"
 
-#: src/elflint.c:2304
+#: src/elflint.c:2308
 #, c-format
 msgid "section [%2d] '%s': relocatable files cannot have hash tables\n"
 msgstr ""
 "Sección [%2d] '%s': archivos reubicables no pueden tener tablas de "
 "dispersión\n"
 
-#: src/elflint.c:2322
+#: src/elflint.c:2326
 #, c-format
 msgid "section [%2d] '%s': hash table not for dynamic symbol table\n"
 msgstr ""
 "Sección [%2d] '%s': tabla de dispersión no para tabla de símbolos dinámicos\n"
 
-#: src/elflint.c:2326
+#: src/elflint.c:2330
 #, fuzzy, c-format
 msgid "section [%2d] '%s': invalid sh_link symbol table section index [%2d]\n"
 msgstr "Sección [%2d] '%s': índice de sección de destino inválido\n"
 
-#: src/elflint.c:2336
+#: src/elflint.c:2340
 #, c-format
 msgid "section [%2d] '%s': hash table entry size incorrect\n"
 msgstr ""
 "Sección [%2d] '%s': tamaño incorrecto de entrada de tabla de dispersión\n"
 
-#: src/elflint.c:2341
+#: src/elflint.c:2345
 #, c-format
 msgid "section [%2d] '%s': not marked to be allocated\n"
 msgstr "Sección [%2d] '%s': no marcada para ser asignada\n"
 
-#: src/elflint.c:2346
+#: src/elflint.c:2350
 #, c-format
 msgid ""
 "section [%2d] '%s': hash table has not even room for initial administrative "
@@ -2442,46 +2459,46 @@
 "Sección [%2d] '%s': tabla de dispersión no tiene ni siquiera espacio para "
 "entradas administrativas iniciales\n"
 
-#: src/elflint.c:2395
+#: src/elflint.c:2399
 #, c-format
 msgid "sh_link in hash sections [%2zu] '%s' and [%2zu] '%s' not identical\n"
 msgstr ""
 "sh_link en secciones de dispersión [%2zu] '%s' y [%2zu] '%s' no son "
 "idénticas\n"
 
-#: src/elflint.c:2419 src/elflint.c:2484 src/elflint.c:2519
+#: src/elflint.c:2423 src/elflint.c:2488 src/elflint.c:2523
 #, fuzzy, c-format
 msgid "hash section [%2zu] '%s' does not contain enough data\n"
 msgstr "sección [%2zu] '%s' no debe ser ejecutable\n"
 
-#: src/elflint.c:2440
+#: src/elflint.c:2444
 #, fuzzy, c-format
 msgid "hash section [%2zu] '%s' has zero bit mask words\n"
 msgstr "Sección [%2d] '%s': grupo de sección sin palabra de banderas\n"
 
-#: src/elflint.c:2451 src/elflint.c:2495 src/elflint.c:2532
+#: src/elflint.c:2455 src/elflint.c:2499 src/elflint.c:2536
 #, fuzzy, c-format
 msgid "hash section [%2zu] '%s' uses too much data\n"
 msgstr "sección [%2zu] '%s' debe ser asignada\n"
 
-#: src/elflint.c:2466
+#: src/elflint.c:2470
 #, c-format
 msgid ""
 "hash section [%2zu] '%s' invalid symbol index %<PRIu32> (max_nsyms: "
 "%<PRIu32>, nentries: %<PRIu32>\n"
 msgstr ""
 
-#: src/elflint.c:2553
+#: src/elflint.c:2557
 #, fuzzy, c-format
 msgid "hash section [%2zu] '%s' invalid sh_entsize\n"
 msgstr "Sección [%2zu]: nombre inválido\n"
 
-#: src/elflint.c:2563 src/elflint.c:2567
+#: src/elflint.c:2567 src/elflint.c:2571
 #, c-format
 msgid "section [%2zu] '%s': reference to symbol index 0\n"
 msgstr "Sección [%2zu] '%s': referencia al índice de símbolo 0\n"
 
-#: src/elflint.c:2574
+#: src/elflint.c:2578
 #, c-format
 msgid ""
 "symbol %d referenced in new hash table in [%2zu] '%s' but not in old hash "
@@ -2490,7 +2507,7 @@
 "Símbolo %d nombrado en nueva tabla de dispersión en [%2zu] '%s' pero no en "
 "la tabla de dispersión anterior en [%2zu] '%s'\n"
 
-#: src/elflint.c:2586
+#: src/elflint.c:2590
 #, c-format
 msgid ""
 "symbol %d referenced in old hash table in [%2zu] '%s' but not in new hash "
@@ -2499,12 +2516,12 @@
 "Símbolo %d nombrado en la tabla de dispersión anterior en [%2zu] '%s' pero "
 "no en la nueva tabla de dispersión en [%2zu] '%s'\n"
 
-#: src/elflint.c:2602
+#: src/elflint.c:2606
 #, c-format
 msgid "section [%2d] '%s': nonzero sh_%s for NULL section\n"
 msgstr "Sección [%2d] '%s': nonzero sh_%s para sección NULL\n"
 
-#: src/elflint.c:2622
+#: src/elflint.c:2626
 #, c-format
 msgid ""
 "section [%2d] '%s': section groups only allowed in relocatable object files\n"
@@ -2512,99 +2529,99 @@
 "Sección [%2d] '%s': grupos de sección sólo permitidos en archivos de objeto "
 "reubicables\n"
 
-#: src/elflint.c:2633
+#: src/elflint.c:2637
 #, c-format
 msgid "section [%2d] '%s': cannot get symbol table: %s\n"
 msgstr "Sección [%2d] '%s': no puede obtener tabla de símbolos: %s\n"
 
-#: src/elflint.c:2638
+#: src/elflint.c:2642
 #, c-format
 msgid "section [%2d] '%s': section reference in sh_link is no symbol table\n"
 msgstr ""
 "Sección [%2d] '%s': referencia de sección en sh_link no es una tabla de "
 "símbolos\n"
 
-#: src/elflint.c:2644
+#: src/elflint.c:2648
 #, c-format
 msgid "section [%2d] '%s': invalid symbol index in sh_info\n"
 msgstr "Sección [%2d] '%s': índice de símbolo inválido en sh_info\n"
 
-#: src/elflint.c:2649
+#: src/elflint.c:2653
 #, c-format
 msgid "section [%2d] '%s': sh_flags not zero\n"
 msgstr "Sección [%2d] '%s': sh_flags no cero\n"
 
-#: src/elflint.c:2656
+#: src/elflint.c:2660
 #, c-format
 msgid "section [%2d] '%s': cannot get symbol for signature\n"
 msgstr "Sección [%2d] '%s': no puede obtener símbolo para firma\n"
 
-#: src/elflint.c:2660
+#: src/elflint.c:2664
 #, fuzzy, c-format
 msgid "section [%2d] '%s': cannot get symbol name for signature\n"
 msgstr "Sección [%2d] '%s': no puede obtener símbolo para firma\n"
 
-#: src/elflint.c:2665
+#: src/elflint.c:2669
 #, c-format
 msgid "section [%2d] '%s': signature symbol cannot be empty string\n"
 msgstr ""
 "sección [%2d] '%s': el símbolo de firma no puede ser una cadena vacía\n"
 
-#: src/elflint.c:2671
+#: src/elflint.c:2675
 #, c-format
 msgid "section [%2d] '%s': sh_flags not set correctly\n"
 msgstr "Sección [%2d] '%s': sh_flags no establecida correctamente\n"
 
-#: src/elflint.c:2677
+#: src/elflint.c:2681
 #, c-format
 msgid "section [%2d] '%s': cannot get data: %s\n"
 msgstr "Sección [%2d] '%s': no puede obtener datos: %s\n"
 
-#: src/elflint.c:2686
+#: src/elflint.c:2690
 #, c-format
 msgid "section [%2d] '%s': section size not multiple of sizeof(Elf32_Word)\n"
 msgstr ""
 "Sección [%2d] '%s': tamaño de sección no es múltiplo de tamaño de "
 "(Elf32_Word)\n"
 
-#: src/elflint.c:2692
+#: src/elflint.c:2696
 #, c-format
 msgid "section [%2d] '%s': section group without flags word\n"
 msgstr "Sección [%2d] '%s': grupo de sección sin palabra de banderas\n"
 
-#: src/elflint.c:2700
+#: src/elflint.c:2704
 #, c-format
 msgid "section [%2d] '%s': section group without member\n"
 msgstr "Sección [%2d] '%s': grupo de sección sin miembro\n"
 
-#: src/elflint.c:2704
+#: src/elflint.c:2708
 #, c-format
 msgid "section [%2d] '%s': section group with only one member\n"
 msgstr "Sección [%2d] '%s': grupo de sección con sólo un miembro\n"
 
-#: src/elflint.c:2715
+#: src/elflint.c:2719
 #, c-format
 msgid "section [%2d] '%s': unknown section group flags\n"
 msgstr "Sección [%2d] '%s': banderas de grupo de sección desconocido\n"
 
-#: src/elflint.c:2727
+#: src/elflint.c:2731
 #, fuzzy, c-format
 msgid "section [%2d] '%s': section index %zu out of range\n"
 msgstr "Sección [%2d] '%s': índice de sección %Zu fuera de rango\n"
 
-#: src/elflint.c:2736
+#: src/elflint.c:2740
 #, c-format
 msgid "section [%2d] '%s': cannot get section header for element %zu: %s\n"
 msgstr ""
 "Sección [%2d] '%s': no se puede obtener encabezamiento de sección para "
 "elemento %zu: %s\n"
 
-#: src/elflint.c:2743
+#: src/elflint.c:2747
 #, c-format
 msgid "section [%2d] '%s': section group contains another group [%2d] '%s'\n"
 msgstr "Sección [%2d] '%s': grupo de sección contiene otro grupo [%2d] '%s'\n"
 
-#: src/elflint.c:2749
+#: src/elflint.c:2753
 #, fuzzy, c-format
 msgid ""
 "section [%2d] '%s': element %zu references section [%2d] '%s' without "
@@ -2613,12 +2630,12 @@
 "Sección [%2d] '%s': elemento %Zu hace referencia a sección [%2d] '%s' sin "
 "establecer bandera SHF_GROUP\n"
 
-#: src/elflint.c:2756
+#: src/elflint.c:2760
 #, c-format
 msgid "section [%2d] '%s' is contained in more than one section group\n"
 msgstr "Sección [%2d] '%s' está contenida en más de un grupo de sección\n"
 
-#: src/elflint.c:2946
+#: src/elflint.c:2957
 #, c-format
 msgid ""
 "section [%2d] '%s' refers in sh_link to section [%2d] '%s' which is no "
@@ -2627,7 +2644,7 @@
 "Sección [%2d] '%s' se refiere en sh_link a la sección [%2d] '%s' la cual no "
 "es una tabla de símbolos dinámicos\n"
 
-#: src/elflint.c:2958
+#: src/elflint.c:2969
 #, c-format
 msgid ""
 "section [%2d] '%s' has different number of entries than symbol table [%2d] "
@@ -2636,29 +2653,29 @@
 "Sección [%2d] '%s' tiene un número diferente de entradas a la de la tabla de "
 "símbolos [%2d] '%s'\n"
 
-#: src/elflint.c:2974
+#: src/elflint.c:2985
 #, c-format
 msgid "section [%2d] '%s': symbol %d: cannot read version data\n"
 msgstr ""
 "Sección [%2d] '%s': el símbolo %d: no se pueden leer datos de versión\n"
 
-#: src/elflint.c:2990
+#: src/elflint.c:3001
 #, c-format
 msgid "section [%2d] '%s': symbol %d: local symbol with global scope\n"
 msgstr ""
 "Sección [%2d] '%s': el símbolo %d: el símbolo local con alcance mundial\n"
 
-#: src/elflint.c:2998
+#: src/elflint.c:3009
 #, c-format
 msgid "section [%2d] '%s': symbol %d: local symbol with version\n"
 msgstr "Sección [%2d] '%s': símbolo %d: símbolo local con versión\n"
 
-#: src/elflint.c:3012
+#: src/elflint.c:3023
 #, c-format
 msgid "section [%2d] '%s': symbol %d: invalid version index %d\n"
 msgstr "Sección [%2d] '%s': símbolo %d: índice de versión inválida %d\n"
 
-#: src/elflint.c:3017
+#: src/elflint.c:3028
 #, c-format
 msgid ""
 "section [%2d] '%s': symbol %d: version index %d is for defined version\n"
@@ -2666,7 +2683,7 @@
 "Sección [%2d] '%s': símbolo %d: índice de versión %d es para versión "
 "definida\n"
 
-#: src/elflint.c:3027
+#: src/elflint.c:3038
 #, c-format
 msgid ""
 "section [%2d] '%s': symbol %d: version index %d is for requested version\n"
@@ -2674,46 +2691,46 @@
 "Sección [%2d] '%s': símbolo %d: índice de versión %d es para la versión "
 "solicitada\n"
 
-#: src/elflint.c:3080
+#: src/elflint.c:3091
 #, c-format
 msgid "more than one version reference section present\n"
 msgstr "Más de una sección de referencia de versión presente\n"
 
-#: src/elflint.c:3088 src/elflint.c:3235
+#: src/elflint.c:3099 src/elflint.c:3246
 #, c-format
 msgid "section [%2d] '%s': sh_link does not link to string table\n"
 msgstr "Sección [%2d] '%s': sh_link no se enlaza a la tabla de cadenas\n"
 
-#: src/elflint.c:3113 src/elflint.c:3289
+#: src/elflint.c:3124 src/elflint.c:3300
 #, c-format
 msgid "section [%2d] '%s': entry %d has wrong version %d\n"
 msgstr "Sección [%2d] '%s': entrada %d tiene versión %d errada\n"
 
-#: src/elflint.c:3120 src/elflint.c:3296
+#: src/elflint.c:3131 src/elflint.c:3307
 #, c-format
 msgid "section [%2d] '%s': entry %d has wrong offset of auxiliary data\n"
 msgstr ""
 "Sección [%2d] '%s': entrada %d tiene compensación errada de datos "
 "auxiliares\n"
 
-#: src/elflint.c:3130
+#: src/elflint.c:3141
 #, c-format
 msgid "section [%2d] '%s': entry %d has invalid file reference\n"
 msgstr "Sección [%2d] '%s': entrada %d tiene referencia de archivo inválida\n"
 
-#: src/elflint.c:3138
+#: src/elflint.c:3149
 #, c-format
 msgid "section [%2d] '%s': entry %d references unknown dependency\n"
 msgstr "Sección [%2d] '%s': %d hace referencia a dependencia desconocida\n"
 
-#: src/elflint.c:3150
+#: src/elflint.c:3161
 #, c-format
 msgid "section [%2d] '%s': auxiliary entry %d of entry %d has unknown flag\n"
 msgstr ""
 "sección [%2d] '%s': entrada auxiliar %d de entrada %d tiene bandera "
 "desconocida\n"
 
-#: src/elflint.c:3158
+#: src/elflint.c:3169
 #, c-format
 msgid ""
 "section [%2d] '%s': auxiliary entry %d of entry %d has invalid name "
@@ -2722,7 +2739,7 @@
 "Sección [%2d] '%s': entrada auxiliar %d de entrada %d tiene referencia de "
 "nombre inválida\n"
 
-#: src/elflint.c:3167
+#: src/elflint.c:3178
 #, c-format
 msgid ""
 "section [%2d] '%s': auxiliary entry %d of entry %d has wrong hash value: "
@@ -2731,7 +2748,7 @@
 "Sección [%2d] '%s': entrada auxiliar %d de entrada %d tiene valor de "
 "dispersión: %#x, esperado %#x\n"
 
-#: src/elflint.c:3176
+#: src/elflint.c:3187
 #, c-format
 msgid ""
 "section [%2d] '%s': auxiliary entry %d of entry %d has duplicate version "
@@ -2740,7 +2757,7 @@
 "sección [%2d] '%s': entrada auxiliar %d de entrada %d tiene nombre duplicado "
 "'%s'\n"
 
-#: src/elflint.c:3187
+#: src/elflint.c:3198
 #, c-format
 msgid ""
 "section [%2d] '%s': auxiliary entry %d of entry %d has wrong next field\n"
@@ -2748,14 +2765,14 @@
 "sección [%2d] '%s': entrada auxiliar %d de entrada %d tiene próximo campo "
 "errado\n"
 
-#: src/elflint.c:3204 src/elflint.c:3380
+#: src/elflint.c:3215 src/elflint.c:3391
 #, c-format
 msgid "section [%2d] '%s': entry %d has invalid offset to next entry\n"
 msgstr ""
 "sección [%2d] '%s': entrada %d tiene compensación inválida para próxima "
 "entrada\n"
 
-#: src/elflint.c:3212 src/elflint.c:3388
+#: src/elflint.c:3223 src/elflint.c:3399
 #, fuzzy, c-format
 msgid ""
 "section [%2d] '%s': entry %d has zero offset to next entry, but sh_info says "
@@ -2764,46 +2781,46 @@
 "sección [%2d] '%s': entrada %d tiene compensación inválida para próxima "
 "entrada\n"
 
-#: src/elflint.c:3227
+#: src/elflint.c:3238
 #, c-format
 msgid "more than one version definition section present\n"
 msgstr "más de una definición de versión presente de sección\n"
 
-#: src/elflint.c:3274
+#: src/elflint.c:3285
 #, c-format
 msgid "section [%2d] '%s': more than one BASE definition\n"
 msgstr "Sección [%2d] '%s': más de una definición de BASE\n"
 
-#: src/elflint.c:3278
+#: src/elflint.c:3289
 #, c-format
 msgid "section [%2d] '%s': BASE definition must have index VER_NDX_GLOBAL\n"
 msgstr ""
 "Sección [%2d] '%s': definición de BASE debe tener índice VER_NDX_GLOBAL\n"
 
-#: src/elflint.c:3284
+#: src/elflint.c:3295
 #, c-format
 msgid "section [%2d] '%s': entry %d has unknown flag\n"
 msgstr "Sección [%2d] '%s': entrada %d tiene bandera desconocida\n"
 
-#: src/elflint.c:3311
+#: src/elflint.c:3322
 #, c-format
 msgid "section [%2d] '%s': entry %d has invalid name reference\n"
 msgstr "Sección [%2d] '%s': entrada %d tiene referencia de nombre inválida\n"
 
-#: src/elflint.c:3318
+#: src/elflint.c:3329
 #, c-format
 msgid "section [%2d] '%s': entry %d has wrong hash value: %#x, expected %#x\n"
 msgstr ""
 "Sección [%2d] '%s': entrada %d tiene valor de dispersión errado: %#x, "
 "esperado %#x\n"
 
-#: src/elflint.c:3326
+#: src/elflint.c:3337
 #, c-format
 msgid "section [%2d] '%s': entry %d has duplicate version name '%s'\n"
 msgstr ""
 "Sección [%2d] '%s': entrada %d tiene nombre de versión duplicado '%s'\n"
 
-#: src/elflint.c:3346
+#: src/elflint.c:3357
 #, c-format
 msgid ""
 "section [%2d] '%s': entry %d has invalid name reference in auxiliary data\n"
@@ -2811,34 +2828,34 @@
 "Sección [%2d] '%s': entrada %d tiene referencia de nombre inválida en datos "
 "auxiliares\n"
 
-#: src/elflint.c:3363
+#: src/elflint.c:3374
 #, c-format
 msgid "section [%2d] '%s': entry %d has wrong next field in auxiliary data\n"
 msgstr ""
 "Sección [%2d] '%s': entrada %d tiene próximo campo errado en datos "
 "auxiliares\n"
 
-#: src/elflint.c:3396
+#: src/elflint.c:3407
 #, c-format
 msgid "section [%2d] '%s': no BASE definition\n"
 msgstr "Sección [%2d] '%s': no hay definición de BASE\n"
 
-#: src/elflint.c:3412
+#: src/elflint.c:3423
 #, c-format
 msgid "section [%2d] '%s': unknown parent version '%s'\n"
 msgstr "Sección [%2d] '%s': desconocida versión principal '%s'\n"
 
-#: src/elflint.c:3425
+#: src/elflint.c:3436
 #, c-format
 msgid "section [%2d] '%s': empty object attributes section\n"
 msgstr "Sección [%2d] '%s': sección de atributos de objeto vacío\n"
 
-#: src/elflint.c:3446
+#: src/elflint.c:3457
 #, c-format
 msgid "section [%2d] '%s': unrecognized attribute format\n"
 msgstr "Sección[%2d] '%s': formato de atributo no reconocido\n"
 
-#: src/elflint.c:3462
+#: src/elflint.c:3473
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: zero length field in attribute section\n"
@@ -2846,21 +2863,21 @@
 "Sección[%2d] '%s': compensación %zu: campo de longitud cero en sección de "
 "atributo\n"
 
-#: src/elflint.c:3471
+#: src/elflint.c:3482
 #, c-format
 msgid "section [%2d] '%s': offset %zu: invalid length in attribute section\n"
 msgstr ""
 "Sección[%2d] '%s': compensación %zu: longitud inválida en sección de "
 "atributo\n"
 
-#: src/elflint.c:3483
+#: src/elflint.c:3494
 #, c-format
 msgid "section [%2d] '%s': offset %zu: unterminated vendor name string\n"
 msgstr ""
 "Sección[%2d] '%s': compensación %zu: cadena de nombre de proveedor sin "
 "terminar\n"
 
-#: src/elflint.c:3500
+#: src/elflint.c:3511
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: endless ULEB128 in attribute subsection tag\n"
@@ -2868,12 +2885,12 @@
 "Sección [%2d] '%s': compensación %zu: sin fin ULEB128 en etiqueta de sub-"
 "sección de atributo\n"
 
-#: src/elflint.c:3509
+#: src/elflint.c:3520
 #, c-format
 msgid "section [%2d] '%s': offset %zu: truncated attribute section\n"
 msgstr "Sección [%2d] '%s': compensación %zu: sección de atributo truncado\n"
 
-#: src/elflint.c:3518
+#: src/elflint.c:3529
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: zero length field in attribute subsection\n"
@@ -2881,7 +2898,7 @@
 "Sección [%2d] '%s': compensación %zu: campo de longitud cero length en sub-"
 "sección de atributo\n"
 
-#: src/elflint.c:3533
+#: src/elflint.c:3544
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: invalid length in attribute subsection\n"
@@ -2890,7 +2907,7 @@
 "atributo\n"
 
 #. Tag_File
-#: src/elflint.c:3544
+#: src/elflint.c:3555
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: attribute subsection has unexpected tag %u\n"
@@ -2898,26 +2915,26 @@
 "Sección[%2d] '%s': compensación %zu: sub-sección de atributo tiene etiqueta "
 "inesperada %u\n"
 
-#: src/elflint.c:3562
+#: src/elflint.c:3573
 #, c-format
 msgid "section [%2d] '%s': offset %zu: endless ULEB128 in attribute tag\n"
 msgstr ""
 "Sección[%2d] '%s': compensación %zu: sin fin ULEB128 en etiqueta de "
 "atributo\n"
 
-#: src/elflint.c:3573
+#: src/elflint.c:3584
 #, c-format
 msgid "section [%2d] '%s': offset %zu: unterminated string in attribute\n"
 msgstr ""
 "Sección [%2d] '%s': compensación %zu: cadena sin terminar en atributo\n"
 
-#: src/elflint.c:3586
+#: src/elflint.c:3597
 #, c-format
 msgid "section [%2d] '%s': offset %zu: unrecognized attribute tag %u\n"
 msgstr ""
 "Sección [%2d] '%s': compensación %zu: etiqueta de atributo no reconocida %u\n"
 
-#: src/elflint.c:3590
+#: src/elflint.c:3601
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: unrecognized %s attribute value %<PRIu64>\n"
@@ -2925,12 +2942,12 @@
 "Sección [%2d] '%s': compensación %zu: no reconocido %s valor de atributo "
 "%<PRIu64>\n"
 
-#: src/elflint.c:3600
+#: src/elflint.c:3611
 #, c-format
 msgid "section [%2d] '%s': offset %zu: vendor '%s' unknown\n"
 msgstr "Sección [%2d] '%s': compensación %zu: proveedor '%s' desconocido\n"
 
-#: src/elflint.c:3606
+#: src/elflint.c:3617
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: extra bytes after last attribute section\n"
@@ -2938,47 +2955,47 @@
 "Sección [%2d] '%s': compensación %zu: extra bytes después de la última "
 "sección de atributo\n"
 
-#: src/elflint.c:3695
+#: src/elflint.c:3714
 #, c-format
 msgid "cannot get section header of zeroth section\n"
 msgstr "no puede obtener encabezamiento de sección de sección zeroth\n"
 
-#: src/elflint.c:3699
+#: src/elflint.c:3718
 #, c-format
 msgid "zeroth section has nonzero name\n"
 msgstr "Sección zeroth tiene nombre nonzero\n"
 
-#: src/elflint.c:3701
+#: src/elflint.c:3720
 #, c-format
 msgid "zeroth section has nonzero type\n"
 msgstr "Sección zeroth tiene tipo nonzero\n"
 
-#: src/elflint.c:3703
+#: src/elflint.c:3722
 #, c-format
 msgid "zeroth section has nonzero flags\n"
 msgstr "Sección zeroth tiene banderas nonzero\n"
 
-#: src/elflint.c:3705
+#: src/elflint.c:3724
 #, c-format
 msgid "zeroth section has nonzero address\n"
 msgstr "Sección zeroth tiene dirección nonzero\n"
 
-#: src/elflint.c:3707
+#: src/elflint.c:3726
 #, c-format
 msgid "zeroth section has nonzero offset\n"
 msgstr "Sección zeroth tiene compensación nonzero\n"
 
-#: src/elflint.c:3709
+#: src/elflint.c:3728
 #, c-format
 msgid "zeroth section has nonzero align value\n"
 msgstr "Sección zeroth tiene valor de alineación nonzero\n"
 
-#: src/elflint.c:3711
+#: src/elflint.c:3730
 #, c-format
 msgid "zeroth section has nonzero entry size value\n"
 msgstr "Sección zeroth tiene valor de tamaño de entrada nonzero\n"
 
-#: src/elflint.c:3714
+#: src/elflint.c:3733
 #, c-format
 msgid ""
 "zeroth section has nonzero size value while ELF header has nonzero shnum "
@@ -2987,7 +3004,7 @@
 "Sección zeroth tiene valor de tamaño nonzero mientras que el encabezamiento "
 "ELF tiene valor shnum nonzero\n"
 
-#: src/elflint.c:3718
+#: src/elflint.c:3737
 #, c-format
 msgid ""
 "zeroth section has nonzero link value while ELF header does not signal "
@@ -2996,7 +3013,7 @@
 "Sección zeroth tiene valor de enlace nonzero mientras que el encabezamiento "
 "ELF no señala sobreflujo en shstrndx\n"
 
-#: src/elflint.c:3722
+#: src/elflint.c:3741
 #, c-format
 msgid ""
 "zeroth section has nonzero link value while ELF header does not signal "
@@ -3005,27 +3022,27 @@
 "la sección zeroth tiene un valor de enlace distinto a cero mientras que el "
 "encabezamiento ELF no señala desbordamiento en phnum\n"
 
-#: src/elflint.c:3740
+#: src/elflint.c:3759
 #, c-format
 msgid "cannot get section header for section [%2zu] '%s': %s\n"
 msgstr "No se puede obtener encabezamiento para sección [%2zu] '%s': %s\n"
 
-#: src/elflint.c:3749
+#: src/elflint.c:3768
 #, c-format
 msgid "section [%2zu]: invalid name\n"
 msgstr "Sección [%2zu]: nombre inválido\n"
 
-#: src/elflint.c:3776
+#: src/elflint.c:3795
 #, c-format
 msgid "section [%2d] '%s' has wrong type: expected %s, is %s\n"
 msgstr "Sección [%2d] '%s' tiene tipo errado: %s esperado, es %s\n"
 
-#: src/elflint.c:3794
+#: src/elflint.c:3812
 #, c-format
 msgid "section [%2zu] '%s' has wrong flags: expected %s, is %s\n"
 msgstr "Sección [%2zu] '%s' tiene banderas erradas: %s esperado, es %s\n"
 
-#: src/elflint.c:3812
+#: src/elflint.c:3830
 #, c-format
 msgid ""
 "section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n"
@@ -3033,12 +3050,12 @@
 "Sección [%2zu] '%s' tiene banderas erradas: %s esperado y posiblemente %s, "
 "es %s\n"
 
-#: src/elflint.c:3830
+#: src/elflint.c:3847
 #, c-format
 msgid "section [%2zu] '%s' present in object file\n"
 msgstr "Sección [%2zu] '%s' presente en archivo objeto\n"
 
-#: src/elflint.c:3836 src/elflint.c:3868
+#: src/elflint.c:3853 src/elflint.c:3885
 #, c-format
 msgid ""
 "section [%2zu] '%s' has SHF_ALLOC flag set but there is no loadable segment\n"
@@ -3046,7 +3063,7 @@
 "Sección [%2zu] '%s' tiene bandera SHF_ALLOC establecida pero no es un "
 "segmento cargable\n"
 
-#: src/elflint.c:3841 src/elflint.c:3873
+#: src/elflint.c:3858 src/elflint.c:3890
 #, c-format
 msgid ""
 "section [%2zu] '%s' has SHF_ALLOC flag not set but there are loadable "
@@ -3055,7 +3072,7 @@
 "Sección [%2zu] '%s' no tiene bandera SHF_ALLOC establecida pero hay "
 "segmentos cargables\n"
 
-#: src/elflint.c:3849
+#: src/elflint.c:3866
 #, c-format
 msgid ""
 "section [%2zu] '%s' is extension section index table in non-object file\n"
@@ -3063,22 +3080,22 @@
 "Sección [%2zu] '%s' es tabla de índice de sección de extensión en archivo no-"
 "objeto\n"
 
-#: src/elflint.c:3892
+#: src/elflint.c:3909
 #, c-format
 msgid "section [%2zu] '%s': size not multiple of entry size\n"
 msgstr "Sección [%2zu] '%s': tamaño no es múltiplo de tamaño de entrada\n"
 
-#: src/elflint.c:3897
+#: src/elflint.c:3914
 #, c-format
 msgid "cannot get section header\n"
 msgstr "no se puede obtener encabezamiento de sección\n"
 
-#: src/elflint.c:3907
+#: src/elflint.c:3924
 #, c-format
 msgid "section [%2zu] '%s' has unsupported type %d\n"
 msgstr "sección [%2zu] '%s' tiene tipo %d incompatible \n"
 
-#: src/elflint.c:3922
+#: src/elflint.c:3944
 #, c-format
 msgid ""
 "section [%2zu] '%s' contains invalid processor-specific flag(s) %#<PRIx64>\n"
@@ -3086,76 +3103,76 @@
 "Sección [%2zu] '%s' contiene bandera(s) de procesador-específico inválidas "
 "%#<PRIx64>\n"
 
-#: src/elflint.c:3929
+#: src/elflint.c:3954
 #, c-format
 msgid "section [%2zu] '%s' contains unknown flag(s) %#<PRIx64>\n"
 msgstr "Sección [%2zu] '%s' contiene bandera(s) desconocidas %#<PRIx64>\n"
 
-#: src/elflint.c:3937
+#: src/elflint.c:3962
 #, c-format
 msgid "section [%2zu] '%s': thread-local data sections address not zero\n"
 msgstr ""
 "Sección [%2zu] '%s': dirección de secciones de datos de hilo-local no cero\n"
 
-#: src/elflint.c:3947
+#: src/elflint.c:3972
 #, fuzzy, c-format
 msgid "section [%2zu] '%s': allocated section cannot be compressed\n"
 msgstr ""
 "Sección [%2zu] '%s': dirección de secciones de datos de hilo-local no cero\n"
 
-#: src/elflint.c:3952
+#: src/elflint.c:3977
 #, fuzzy, c-format
 msgid "section [%2zu] '%s': nobits section cannot be compressed\n"
 msgstr "Sección [%2d] '%s': no hay sección de dispersión presente\n"
 
-#: src/elflint.c:3958
+#: src/elflint.c:3983
 #, fuzzy, c-format
 msgid ""
 "section [%2zu] '%s': compressed section with no compression header: %s\n"
 msgstr "Sección [%2d] '%s': grupo de sección con sólo un miembro\n"
 
-#: src/elflint.c:3964
+#: src/elflint.c:3989
 #, c-format
 msgid "section [%2zu] '%s': invalid section reference in link value\n"
 msgstr ""
 "Sección [%2zu] '%s': referencia de sección inválida en valor de enlace\n"
 
-#: src/elflint.c:3969
+#: src/elflint.c:3994
 #, c-format
 msgid "section [%2zu] '%s': invalid section reference in info value\n"
 msgstr ""
 "Sección [%2zu] '%s': referencia de sección inválida en valor de información\n"
 
-#: src/elflint.c:3976
+#: src/elflint.c:4001
 #, c-format
 msgid "section [%2zu] '%s': strings flag set without merge flag\n"
 msgstr ""
 "Sección [%2zu] '%s': bandera de cadenas establecida sin bandera de fusión\n"
 
-#: src/elflint.c:3981
+#: src/elflint.c:4006
 #, c-format
 msgid "section [%2zu] '%s': merge flag set but entry size is zero\n"
 msgstr ""
 "Sección [%2zu] '%s': bandera de fusión establecida pero tamaño de entrada es "
 "cero\n"
 
-#: src/elflint.c:4000
+#: src/elflint.c:4025
 #, c-format
 msgid "section [%2zu] '%s' has unexpected type %d for an executable section\n"
 msgstr ""
 "Sección [%2zu] '%s' tiene un tipo %d inesperado para una sección ejecutable\n"
 
-#: src/elflint.c:4009
+#: src/elflint.c:4034
 #, fuzzy, c-format
 msgid "section [%2zu] '%s' must be of type NOBITS in debuginfo files\n"
 msgstr "sección [%2zu] '%s' no debe tener permiso de escritura\n"
 
-#: src/elflint.c:4016
+#: src/elflint.c:4041
 #, c-format
 msgid "section [%2zu] '%s' is both executable and writable\n"
 msgstr "Sección [%2zu] '%s' es tanto de ejecución como de escritura\n"
 
-#: src/elflint.c:4047
+#: src/elflint.c:4072
 #, c-format
 msgid ""
 "section [%2zu] '%s' not fully contained in segment of program header entry "
@@ -3164,7 +3181,7 @@
 "Sección [%2zu] '%s' no contenida totalmente en segmento de entrada de "
 "encabezamiento de programa %d\n"
 
-#: src/elflint.c:4057
+#: src/elflint.c:4082
 #, c-format
 msgid ""
 "section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
@@ -3173,7 +3190,7 @@
 "Sección [%2zu] '%s' no tiene tipo NOBITS pero es leída desde el archivo en "
 "segmento de entrada de encabezamiento de programa %d\n"
 
-#: src/elflint.c:4083
+#: src/elflint.c:4108
 #, fuzzy, c-format
 msgid ""
 "section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
@@ -3182,7 +3199,7 @@
 "Sección [%2zu] '%s' no tiene tipo NOBITS pero es leída desde el archivo en "
 "segmento de entrada de encabezamiento de programa %d\n"
 
-#: src/elflint.c:4094
+#: src/elflint.c:4119
 #, c-format
 msgid ""
 "section [%2zu] '%s' has not type NOBITS but is not read from the file in "
@@ -3191,18 +3208,18 @@
 "Sección [%2zu] '%s' no tiene tipo NOBITS pero no es leída desde el fichero "
 "en segmento de entrada de encabezamiento de programa %d\n"
 
-#: src/elflint.c:4105
+#: src/elflint.c:4130
 #, c-format
 msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n"
 msgstr "Sección [%2zu] '%s' es ejecutable en segmento no ejecutable %d\n"
 
-#: src/elflint.c:4115
+#: src/elflint.c:4140
 #, c-format
 msgid "section [%2zu] '%s' is writable in unwritable segment %d\n"
 msgstr ""
 "Sección [%2zu] '%s' es de escritura en segmento que no es de escritura %d\n"
 
-#: src/elflint.c:4125
+#: src/elflint.c:4150
 #, c-format
 msgid ""
 "section [%2zu] '%s': alloc flag set but section not in any loaded segment\n"
@@ -3210,7 +3227,7 @@
 "Sección [%2zu] '%s': asignación de bandera establecida pero sección no en "
 "ningún segmento cargado\n"
 
-#: src/elflint.c:4131
+#: src/elflint.c:4156
 #, c-format
 msgid ""
 "section [%2zu] '%s': ELF header says this is the section header string table "
@@ -3219,7 +3236,7 @@
 "Sección [%2zu] '%s': encabezamiento ELF dice esta es la tabla de cadena de "
 "encabezamiento de sección, pero el tipo no es SHT_TYPE\n"
 
-#: src/elflint.c:4139
+#: src/elflint.c:4164
 #, c-format
 msgid ""
 "section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n"
@@ -3227,32 +3244,32 @@
 "sección [%2zu] '%s': ficheros reubicables no pueden tener tablas de símbolos "
 "dinámicos\n"
 
-#: src/elflint.c:4190
+#: src/elflint.c:4215
 #, c-format
 msgid "more than one version symbol table present\n"
 msgstr "Más de una tabla de símbolos presente\n"
 
-#: src/elflint.c:4213
+#: src/elflint.c:4238
 #, c-format
 msgid "INTERP program header entry but no .interp section\n"
 msgstr ""
 "Entrada de encabezamiento de programa INTERP pero no la sección .interp\n"
 
-#: src/elflint.c:4224
+#: src/elflint.c:4249
 #, c-format
 msgid ""
 "loadable segment [%u] is executable but contains no executable sections\n"
 msgstr ""
 "segmento cargable [%u] es ejecutable pero no contiene secciones ejecutables\n"
 
-#: src/elflint.c:4230
+#: src/elflint.c:4255
 #, c-format
 msgid "loadable segment [%u] is writable but contains no writable sections\n"
 msgstr ""
 "segmento cargable [%u] es de escritura pero contiene secciones protegidas "
 "contra escritura\n"
 
-#: src/elflint.c:4241
+#: src/elflint.c:4266
 #, c-format
 msgid ""
 "no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section "
@@ -3261,26 +3278,26 @@
 "Sección no .gnu.versym presente, pero la sección .gnu.versym_d o la sección ."
 "gnu.versym_r existen\n"
 
-#: src/elflint.c:4254
+#: src/elflint.c:4279
 #, c-format
 msgid "duplicate version index %d\n"
 msgstr "Duplicar índice de versión %d\n"
 
-#: src/elflint.c:4268
+#: src/elflint.c:4293
 #, c-format
 msgid ".gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n"
 msgstr ""
 "Sección .gnu.versym presente sin las secciones .gnu.versym_d o .gnu."
 "versym_r\n"
 
-#: src/elflint.c:4317
+#: src/elflint.c:4342
 #, c-format
 msgid "phdr[%d]: unknown core file note type %<PRIu32> at offset %<PRIu64>\n"
 msgstr ""
 "phdr[%d]: tipo de nota de fichero core desconocido %<PRIu32> en compensación "
 "%<PRIu64>\n"
 
-#: src/elflint.c:4321
+#: src/elflint.c:4346
 #, fuzzy, c-format
 msgid ""
 "section [%2d] '%s': unknown core file note type %<PRIu32> at offset %zu\n"
@@ -3288,7 +3305,7 @@
 "Sección [%2d] '%s': tipo de nota de fichero core desconocido %<PRIu32> en "
 "compensación %Zu\n"
 
-#: src/elflint.c:4370
+#: src/elflint.c:4395
 #, fuzzy, c-format
 msgid ""
 "phdr[%d]: unknown object file note type %<PRIu32> with owner name '%s' at "
@@ -3297,7 +3314,7 @@
 "phdr[%d]: tipo de nota de fichero objeto desconocido %<PRIu32> en "
 "compensación %Zu\n"
 
-#: src/elflint.c:4375
+#: src/elflint.c:4400
 #, fuzzy, c-format
 msgid ""
 "section [%2d] '%s': unknown object file note type %<PRIu32> with owner name "
@@ -3306,40 +3323,40 @@
 "Sección [%2d] '%s': tipo de nota de fichero objeto desconocido %<PRIu32> en "
 "compensación %Zu\n"
 
-#: src/elflint.c:4394
+#: src/elflint.c:4419
 #, c-format
 msgid "phdr[%d]: no note entries defined for the type of file\n"
 msgstr "phdr[%d]: no hay entradas de nota definidas para el tipo de archivo\n"
 
-#: src/elflint.c:4414
+#: src/elflint.c:4439
 #, c-format
 msgid "phdr[%d]: cannot get content of note section: %s\n"
 msgstr "phdr[%d]: no puede obtener contenido de sección de nota: %s\n"
 
-#: src/elflint.c:4417
+#: src/elflint.c:4442
 #, c-format
 msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n"
 msgstr "phdr[%d]: extra %<PRIu64> bytes después de la última nota\n"
 
-#: src/elflint.c:4438
+#: src/elflint.c:4463
 #, c-format
 msgid "section [%2d] '%s': no note entries defined for the type of file\n"
 msgstr ""
 "Sección [%2d] '%s': no hay entradas de nota definidas para el tipo de "
 "archivo\n"
 
-#: src/elflint.c:4445
+#: src/elflint.c:4470
 #, c-format
 msgid "section [%2d] '%s': cannot get content of note section\n"
 msgstr ""
 "Sección[%2d] '%s': no se puede obtener el contenido de sección de nota\n"
 
-#: src/elflint.c:4448
+#: src/elflint.c:4473
 #, c-format
 msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n"
 msgstr "Sección[%2d] '%s': extra %<PRIu64> bytes después de la última nota\n"
 
-#: src/elflint.c:4466
+#: src/elflint.c:4491
 #, c-format
 msgid ""
 "only executables, shared objects, and core files can have program headers\n"
@@ -3347,145 +3364,145 @@
 "Sólo ejecutables, objetos compartidos y ficheros core pueden tener "
 "encabezamientos de programas\n"
 
-#: src/elflint.c:4481
+#: src/elflint.c:4506
 #, c-format
 msgid "cannot get program header entry %d: %s\n"
 msgstr "no se puede obtener entrada de encabezamiento %d: %s\n"
 
-#: src/elflint.c:4490
+#: src/elflint.c:4516
 #, c-format
 msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n"
 msgstr ""
 "entrada de encabezamiento de programa %d: tipo %#<PRIx64> de entrada de "
 "encabezamiento de programa desconocido\n"
 
-#: src/elflint.c:4501
+#: src/elflint.c:4527
 #, c-format
 msgid "more than one INTERP entry in program header\n"
 msgstr "Más de una entrada INTERP en encabezamiento de programa\n"
 
-#: src/elflint.c:4509
+#: src/elflint.c:4535
 #, c-format
 msgid "more than one TLS entry in program header\n"
 msgstr "más de una entrada TLS en encabezamiento de programa\n"
 
-#: src/elflint.c:4516
+#: src/elflint.c:4542
 #, c-format
 msgid "static executable cannot have dynamic sections\n"
 msgstr "ejecutable estático no puede tener secciones dinámicas\n"
 
-#: src/elflint.c:4530
+#: src/elflint.c:4556
 #, c-format
 msgid "dynamic section reference in program header has wrong offset\n"
 msgstr ""
 "Referencia de sección dinámica en encabezamiento de programa tiene "
 "compensación errada\n"
 
-#: src/elflint.c:4533
+#: src/elflint.c:4559
 #, c-format
 msgid "dynamic section size mismatch in program and section header\n"
 msgstr ""
 "No coinciden tamaño de sección dinámica en programa y encabezamiento de "
 "sección\n"
 
-#: src/elflint.c:4543
+#: src/elflint.c:4569
 #, c-format
 msgid "more than one GNU_RELRO entry in program header\n"
 msgstr "Más de una entrada GNU_RELRO en encabezamiento de programa\n"
 
-#: src/elflint.c:4564
+#: src/elflint.c:4590
 #, c-format
 msgid "loadable segment GNU_RELRO applies to is not writable\n"
 msgstr "Segmento cargable GNU_RELRO que se aplica no es de escritura\n"
 
-#: src/elflint.c:4575
+#: src/elflint.c:4601
 #, c-format
 msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n"
 msgstr ""
 "Banderas de segmento cargable [%u] no coinciden con banderas GNU_RELRO [%u]\n"
 
-#: src/elflint.c:4582
+#: src/elflint.c:4608
 #, c-format
 msgid ""
 "GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n"
 msgstr ""
 
-#: src/elflint.c:4591 src/elflint.c:4614
+#: src/elflint.c:4617 src/elflint.c:4640
 #, c-format
 msgid "%s segment not contained in a loaded segment\n"
 msgstr "Segmento %s no contenido en un segmento cargable\n"
 
-#: src/elflint.c:4620
+#: src/elflint.c:4646
 #, c-format
 msgid "program header offset in ELF header and PHDR entry do not match"
 msgstr ""
 "Compensación de encabezamiento de programa en encabezamiento ELF y entrada "
 "PHDR no coinciden"
 
-#: src/elflint.c:4647
+#: src/elflint.c:4673
 #, c-format
 msgid "call frame search table reference in program header has wrong offset\n"
 msgstr ""
 "Referencia de tabla de búsqueda de marco de llamada en encabezamiento de "
 "programa tiene una compensación errada\n"
 
-#: src/elflint.c:4650
+#: src/elflint.c:4676
 #, c-format
 msgid "call frame search table size mismatch in program and section header\n"
 msgstr ""
 "Tamaño de tabla de búsqueda de marco de llamada no coincide con programa y "
 "encabezamiento de sección\n"
 
-#: src/elflint.c:4663
+#: src/elflint.c:4689
 #, c-format
 msgid "PT_GNU_EH_FRAME present but no .eh_frame_hdr section\n"
 msgstr "PT_GNU_EH_FRAME presente pero no la sección.eh_frame_hdr\n"
 
-#: src/elflint.c:4671
+#: src/elflint.c:4697
 #, c-format
 msgid "call frame search table must be allocated\n"
 msgstr "tabla de búsqueda de marco de llamada debe ser asignada\n"
 
-#: src/elflint.c:4674
+#: src/elflint.c:4700
 #, c-format
 msgid "section [%2zu] '%s' must be allocated\n"
 msgstr "sección [%2zu] '%s' debe ser asignada\n"
 
-#: src/elflint.c:4678
+#: src/elflint.c:4704
 #, c-format
 msgid "call frame search table must not be writable\n"
 msgstr ""
 "tabla de búsqueda de marco de llamada no debe tener permiso de escritura\n"
 
-#: src/elflint.c:4681
+#: src/elflint.c:4707
 #, c-format
 msgid "section [%2zu] '%s' must not be writable\n"
 msgstr "sección [%2zu] '%s' no debe tener permiso de escritura\n"
 
-#: src/elflint.c:4686
+#: src/elflint.c:4712
 #, c-format
 msgid "call frame search table must not be executable\n"
 msgstr "tabla de búsqueda de marco de llamada no debe ser ejecutable\n"
 
-#: src/elflint.c:4689
+#: src/elflint.c:4715
 #, c-format
 msgid "section [%2zu] '%s' must not be executable\n"
 msgstr "sección [%2zu] '%s' no debe ser ejecutable\n"
 
-#: src/elflint.c:4700
+#: src/elflint.c:4726
 #, c-format
 msgid "program header entry %d: file size greater than memory size\n"
 msgstr ""
 "entrada de encabezamiento de programa %d: tamaño de fichero mayor que el "
 "tamaño de memoria\n"
 
-#: src/elflint.c:4707
+#: src/elflint.c:4733
 #, c-format
 msgid "program header entry %d: alignment not a power of 2\n"
 msgstr ""
 "entrada de encabezamiento de programa %d: alineamiento no es potencia de 2\n"
 
-#: src/elflint.c:4710
+#: src/elflint.c:4736
 #, c-format
 msgid ""
 "program header entry %d: file offset and virtual address not module of "
@@ -3494,7 +3511,7 @@
 "entrada de encabezamiento de programa %d: compensación de fichero y "
 "dirección virtual no módulo de alineación\n"
 
-#: src/elflint.c:4723
+#: src/elflint.c:4749
 #, c-format
 msgid ""
 "executable/DSO with .eh_frame_hdr section does not have a PT_GNU_EH_FRAME "
@@ -3503,12 +3520,17 @@
 "ejecutable/DSO con sección .eh_frame_hdr no tiene una entrada de "
 "encabezamiento de programa PT_GNU_EH_FRAME"
 
-#: src/elflint.c:4757
+#: src/elflint.c:4783
 #, c-format
 msgid "cannot read ELF header: %s\n"
 msgstr "No se puede leer encabezamiento ELF: %s\n"
 
-#: src/elflint.c:4783
+#: src/elflint.c:4795
+#, fuzzy, c-format
+msgid "cannot create backend for ELF file\n"
+msgstr "no sepuede crear fichero nuevo"
+
+#: src/elflint.c:4816
 #, c-format
 msgid "text relocation flag set but not needed\n"
 msgstr "Bandera de reubicación de texto establecida pero no necesaria\n"
@@ -3693,7 +3715,7 @@
 msgid "Print size of defined symbols"
 msgstr "Tamaño de impresión de símbolos definidos"
 
-#: src/nm.c:91 src/size.c:68 src/strip.c:75 src/unstrip.c:73
+#: src/nm.c:91 src/size.c:68 src/strip.c:75 src/unstrip.c:69
 msgid "Output options:"
 msgstr "Opciones de salida:"
 
@@ -3729,12 +3751,12 @@
 msgstr "%s: ERROR INTERNO %d (%s-%s): %s"
 
 #: src/nm.c:381 src/nm.c:393 src/size.c:288 src/size.c:297 src/size.c:308
-#: src/strip.c:2748
+#: src/strip.c:2763
 #, c-format
 msgid "while closing '%s'"
 msgstr "error al cerrar '%s'"
 
-#: src/nm.c:403 src/objdump.c:280 src/strip.c:797
+#: src/nm.c:403 src/objdump.c:280 src/strip.c:818
 #, c-format
 msgid "%s: File format not recognized"
 msgstr "%s: No se reconoce el formato del fichero"
@@ -3774,13 +3796,13 @@
 msgid "cannot create search tree"
 msgstr "No se puede crear el árbol de búsqueda"
 
-#: src/nm.c:746 src/nm.c:1205 src/objdump.c:779 src/readelf.c:635
-#: src/readelf.c:1447 src/readelf.c:1598 src/readelf.c:1799 src/readelf.c:2005
-#: src/readelf.c:2195 src/readelf.c:2373 src/readelf.c:2449 src/readelf.c:2707
-#: src/readelf.c:2783 src/readelf.c:2870 src/readelf.c:3468 src/readelf.c:3518
-#: src/readelf.c:3581 src/readelf.c:11230 src/readelf.c:12415
-#: src/readelf.c:12626 src/readelf.c:12695 src/size.c:398 src/size.c:470
-#: src/strip.c:1038
+#: src/nm.c:746 src/nm.c:1239 src/objdump.c:782 src/readelf.c:637
+#: src/readelf.c:1451 src/readelf.c:1602 src/readelf.c:1803 src/readelf.c:2009
+#: src/readelf.c:2199 src/readelf.c:2377 src/readelf.c:2453 src/readelf.c:2711
+#: src/readelf.c:2787 src/readelf.c:2874 src/readelf.c:3472 src/readelf.c:3522
+#: src/readelf.c:3592 src/readelf.c:11328 src/readelf.c:12523
+#: src/readelf.c:12734 src/readelf.c:12803 src/size.c:398 src/size.c:470
+#: src/strip.c:1084
 #, c-format
 msgid "cannot get section header string table index"
 msgstr "no se puede obtener índice de cadena de encabezamiento de sección"
@@ -3809,30 +3831,30 @@
 "%*s%-*s %-*s Clase  Tipo     %-*s %*s Sección\n"
 "\n"
 
-#: src/nm.c:1216
+#: src/nm.c:1250
 #, fuzzy, c-format
 msgid "%s: entry size in section %zd `%s' is not what we expect"
 msgstr ""
 "%s: el tamaño de la entrada en la sección `%s' no es el que esperábamos "
 
-#: src/nm.c:1221
+#: src/nm.c:1255
 #, fuzzy, c-format
 msgid "%s: size of section %zd `%s' is not multiple of entry size"
 msgstr "%s: Tamaño de sección `%s' no es múltiplo de tamaño de entrada"
 
-#: src/nm.c:1300
+#: src/nm.c:1334
 #, fuzzy, c-format
 msgid "%s: entries (%zd) in section %zd `%s' is too large"
 msgstr ""
 "%s: el tamaño de la entrada en la sección `%s' no es el que esperábamos "
 
 #. XXX Add machine specific object file types.
-#: src/nm.c:1527
+#: src/nm.c:1570
 #, c-format
 msgid "%s%s%s%s: Invalid operation"
 msgstr "%s%s%s%s: Operación inválida"
 
-#: src/nm.c:1584
+#: src/nm.c:1620
 #, c-format
 msgid "%s%s%s: no symbols"
 msgstr "%s%s%s: No hay símbolos"
@@ -3867,7 +3889,7 @@
 msgid "Show information from FILEs (a.out by default)."
 msgstr "Muestra información de FICHEROS (a.out por defecto)."
 
-#: src/objdump.c:218 src/readelf.c:580
+#: src/objdump.c:218 src/readelf.c:582
 msgid "No operation specified.\n"
 msgstr "No se especificó una operación.\n"
 
@@ -3876,11 +3898,11 @@
 msgid "while close `%s'"
 msgstr "mientras cierra `%s'"
 
-#: src/objdump.c:363 src/readelf.c:2100 src/readelf.c:2292
+#: src/objdump.c:363 src/readelf.c:2104 src/readelf.c:2296
 msgid "INVALID SYMBOL"
 msgstr "SÍMBOLO INVÁLIDO"
 
-#: src/objdump.c:378 src/readelf.c:2134 src/readelf.c:2328
+#: src/objdump.c:378 src/readelf.c:2138 src/readelf.c:2332
 msgid "INVALID SECTION"
 msgstr "SECCIÓN INVÁLIDA"
 
@@ -3909,6 +3931,11 @@
 msgid "cannot disassemble"
 msgstr "No se puede desensamblar"
 
+#: src/objdump.c:760
+#, fuzzy, c-format
+msgid "cannot create backend for elf file"
+msgstr "no sepuede crear fichero nuevo"
+
 #. Short description of program.
 #: src/ranlib.c:63
 msgid "Generate an index to speed access to archives."
@@ -4082,143 +4109,143 @@
 msgid "no"
 msgstr "no"
 
-#: src/readelf.c:548
+#: src/readelf.c:550
 #, c-format
 msgid "Unknown DWARF debug section `%s'.\n"
 msgstr "Sección de depuración DWARF desconocida `%s'.\n"
 
-#: src/readelf.c:619 src/readelf.c:730
+#: src/readelf.c:621 src/readelf.c:732
 #, c-format
 msgid "cannot generate Elf descriptor: %s"
 msgstr "no se puede crear descriptor ELF: %s"
 
-#: src/readelf.c:626 src/readelf.c:953 src/strip.c:1133
+#: src/readelf.c:628 src/readelf.c:955 src/strip.c:1179
 #, c-format
 msgid "cannot determine number of sections: %s"
 msgstr "no se pudieron determinar el número de secciones: %s"
 
-#: src/readelf.c:644 src/readelf.c:1263 src/readelf.c:1471
+#: src/readelf.c:646 src/readelf.c:1265 src/readelf.c:1475
 #, c-format
 msgid "cannot get section: %s"
 msgstr "No se puede encontrar la sección: %s"
 
-#: src/readelf.c:653 src/readelf.c:1270 src/readelf.c:1479 src/readelf.c:12646
-#: src/unstrip.c:395 src/unstrip.c:426 src/unstrip.c:485 src/unstrip.c:604
-#: src/unstrip.c:625 src/unstrip.c:665 src/unstrip.c:881 src/unstrip.c:1212
-#: src/unstrip.c:1339 src/unstrip.c:1363 src/unstrip.c:1419 src/unstrip.c:1483
-#: src/unstrip.c:1658 src/unstrip.c:1809 src/unstrip.c:1952 src/unstrip.c:2051
+#: src/readelf.c:655 src/readelf.c:1272 src/readelf.c:1483 src/readelf.c:12754
+#: src/unstrip.c:397 src/unstrip.c:428 src/unstrip.c:487 src/unstrip.c:608
+#: src/unstrip.c:629 src/unstrip.c:669 src/unstrip.c:885 src/unstrip.c:1216
+#: src/unstrip.c:1343 src/unstrip.c:1367 src/unstrip.c:1423 src/unstrip.c:1487
+#: src/unstrip.c:1662 src/unstrip.c:1813 src/unstrip.c:1956 src/unstrip.c:2055
 #, c-format
 msgid "cannot get section header: %s"
 msgstr "No se puede obtener encabezamiento de sección: %s"
 
-#: src/readelf.c:661
+#: src/readelf.c:663
 #, fuzzy, c-format
 msgid "cannot get section name"
 msgstr "no se puede obtener encabezamiento de sección\n"
 
-#: src/readelf.c:670 src/readelf.c:6576 src/readelf.c:10502 src/readelf.c:10604
-#: src/readelf.c:10782
+#: src/readelf.c:672 src/readelf.c:6628 src/readelf.c:10600 src/readelf.c:10702
+#: src/readelf.c:10880
 #, c-format
 msgid "cannot get %s content: %s"
 msgstr "No se puede obtener el contenido %s: %s"
 
-#: src/readelf.c:686
+#: src/readelf.c:688
 #, fuzzy, c-format
 msgid "cannot create temp file '%s'"
 msgstr "no se puede crear fichero nuevo '%s': %s"
 
-#: src/readelf.c:695
+#: src/readelf.c:697
 #, fuzzy, c-format
 msgid "cannot write section data"
 msgstr "no se puede leer la sección de datos: %s"
 
-#: src/readelf.c:701 src/readelf.c:718 src/readelf.c:747
+#: src/readelf.c:703 src/readelf.c:720 src/readelf.c:749
 #, c-format
 msgid "error while closing Elf descriptor: %s"
 msgstr "error al cerrar el descriptor ELF: %s"
 
-#: src/readelf.c:708
+#: src/readelf.c:710
 #, fuzzy, c-format
 msgid "error while rewinding file descriptor"
 msgstr "error al cerrar el descriptor ELF: %s"
 
-#: src/readelf.c:742
+#: src/readelf.c:744
 #, c-format
 msgid "'%s' is not an archive, cannot print archive index"
 msgstr "'%s' no es un archivo, no se puede imprimir índice de archivo"
 
-#: src/readelf.c:846
+#: src/readelf.c:848
 #, c-format
 msgid "cannot stat input file"
 msgstr "no sepudo stat archivo de entrada"
 
-#: src/readelf.c:848
+#: src/readelf.c:850
 #, c-format
 msgid "input file is empty"
 msgstr "archivo de entrada vacío"
 
-#: src/readelf.c:850
+#: src/readelf.c:852
 #, c-format
 msgid "failed reading '%s': %s"
 msgstr "Falló lectura de '%s': %s"
 
-#: src/readelf.c:879
+#: src/readelf.c:881
 #, fuzzy, c-format
 msgid "No such section '%s' in '%s'"
 msgstr "No se puede obtener contenido de sección %zu en '%s': %s"
 
-#: src/readelf.c:938
+#: src/readelf.c:940
 #, c-format
 msgid "cannot read ELF header: %s"
 msgstr "no se pudo leer encabezamiento ELF: %s"
 
-#: src/readelf.c:946
+#: src/readelf.c:948
 #, c-format
 msgid "cannot create EBL handle"
 msgstr "no se puede crear EBL"
 
-#: src/readelf.c:959
+#: src/readelf.c:961
 #, c-format
 msgid "cannot determine number of program headers: %s"
 msgstr "no se pudo determinar la cantidad de encabezados de programa: %s"
 
-#: src/readelf.c:991
+#: src/readelf.c:993
 #, fuzzy, c-format
 msgid "cannot read ELF: %s"
 msgstr "no sepuede leer %s: %s"
 
-#: src/readelf.c:1052
+#: src/readelf.c:1054
 msgid "NONE (None)"
 msgstr "NONE (Ninguno)"
 
-#: src/readelf.c:1053
+#: src/readelf.c:1055
 msgid "REL (Relocatable file)"
 msgstr "REL (Fichero reubicable)"
 
-#: src/readelf.c:1054
+#: src/readelf.c:1056
 msgid "EXEC (Executable file)"
 msgstr "EXEC (Fichero ejecutable)"
 
-#: src/readelf.c:1055
+#: src/readelf.c:1057
 msgid "DYN (Shared object file)"
 msgstr "DYN (Fichero objeto compartido)"
 
-#: src/readelf.c:1056
+#: src/readelf.c:1058
 msgid "CORE (Core file)"
 msgstr "CORE (Fichero núcleo)"
 
-#: src/readelf.c:1061
+#: src/readelf.c:1063
 #, c-format
 msgid "OS Specific: (%x)\n"
 msgstr "OS Specific: (%x)\n"
 
 #. && e_type <= ET_HIPROC always true
-#: src/readelf.c:1063
+#: src/readelf.c:1065
 #, c-format
 msgid "Processor Specific: (%x)\n"
 msgstr "Específico del procesador: (%x)\n"
 
-#: src/readelf.c:1073
+#: src/readelf.c:1075
 msgid ""
 "ELF Header:\n"
 "  Magic:  "
@@ -4226,7 +4253,7 @@
 "Encabezamiento ELF:\n"
 "  Mágico:  "
 
-#: src/readelf.c:1077
+#: src/readelf.c:1079
 #, c-format
 msgid ""
 "\n"
@@ -4235,125 +4262,125 @@
 "\n"
 "  Clase:                             %s\n"
 
-#: src/readelf.c:1082
+#: src/readelf.c:1084
 #, c-format
 msgid "  Data:                              %s\n"
 msgstr "  Datos:                             %s\n"
 
-#: src/readelf.c:1088
+#: src/readelf.c:1090
 #, c-format
 msgid "  Ident Version:                     %hhd %s\n"
 msgstr "  Versión ident:                     %hhd %s\n"
 
-#: src/readelf.c:1090 src/readelf.c:1112
+#: src/readelf.c:1092 src/readelf.c:1114
 msgid "(current)"
 msgstr "(actual)"
 
-#: src/readelf.c:1094
+#: src/readelf.c:1096
 #, c-format
 msgid "  OS/ABI:                            %s\n"
 msgstr "  OS/ABI:                            %s\n"
 
-#: src/readelf.c:1097
+#: src/readelf.c:1099
 #, c-format
 msgid "  ABI Version:                       %hhd\n"
 msgstr "  Versión ABI:                       %hhd\n"
 
-#: src/readelf.c:1100
+#: src/readelf.c:1102
 msgid "  Type:                              "
 msgstr "  Tipo:                              "
 
-#: src/readelf.c:1105
+#: src/readelf.c:1107
 #, c-format
 msgid "  Machine:                           %s\n"
 msgstr "  Máquina:                           %s\n"
 
-#: src/readelf.c:1107
+#: src/readelf.c:1109
 #, fuzzy, c-format
 msgid "  Machine:                           <unknown>: 0x%x\n"
 msgstr "  Máquina:                           %s\n"
 
-#: src/readelf.c:1110
+#: src/readelf.c:1112
 #, c-format
 msgid "  Version:                           %d %s\n"
 msgstr "  Versión:                           %d %s\n"
 
-#: src/readelf.c:1114
+#: src/readelf.c:1116
 #, c-format
 msgid "  Entry point address:               %#<PRIx64>\n"
 msgstr "  Dirección de punto de entrada:               %#<PRIx64>\n"
 
-#: src/readelf.c:1117
+#: src/readelf.c:1119
 #, c-format
 msgid "  Start of program headers:          %<PRId64> %s\n"
 msgstr "  Inicio de encabezamientos de programa:          %<PRId64> %s\n"
 
-#: src/readelf.c:1118 src/readelf.c:1121
+#: src/readelf.c:1120 src/readelf.c:1123
 msgid "(bytes into file)"
 msgstr " (bytes en el archivo)"
 
-#: src/readelf.c:1120
+#: src/readelf.c:1122
 #, c-format
 msgid "  Start of section headers:          %<PRId64> %s\n"
 msgstr "  Inicio de encabezamientos de sección:          %<PRId64> %s\n"
 
-#: src/readelf.c:1123
+#: src/readelf.c:1125
 #, c-format
 msgid "  Flags:                             %s\n"
 msgstr "  Indicadores:                             %s\n"
 
-#: src/readelf.c:1126
+#: src/readelf.c:1128
 #, c-format
 msgid "  Size of this header:               %<PRId16> %s\n"
 msgstr "  Tamaño de este encabezamiento:               %<PRId16> %s\n"
 
-#: src/readelf.c:1127 src/readelf.c:1130 src/readelf.c:1147
+#: src/readelf.c:1129 src/readelf.c:1132 src/readelf.c:1149
 msgid "(bytes)"
 msgstr "(bytes)"
 
-#: src/readelf.c:1129
+#: src/readelf.c:1131
 #, c-format
 msgid "  Size of program header entries:    %<PRId16> %s\n"
 msgstr ""
 "  Tamaño de las entradas en encabezamiento del programa:    %<PRId16> %s\n"
 
-#: src/readelf.c:1132
+#: src/readelf.c:1134
 #, c-format
 msgid "  Number of program headers entries: %<PRId16>"
 msgstr "  Cantidad de entradas de encabezados de programa: %<PRId16>"
 
-#: src/readelf.c:1139
+#: src/readelf.c:1141
 #, c-format
 msgid " (%<PRIu32> in [0].sh_info)"
 msgstr " (%<PRIu32> in [0].sh_info)"
 
-#: src/readelf.c:1142 src/readelf.c:1159 src/readelf.c:1173
+#: src/readelf.c:1144 src/readelf.c:1161 src/readelf.c:1175
 msgid " ([0] not available)"
 msgstr " ([0] no disponible)"
 
-#: src/readelf.c:1146
+#: src/readelf.c:1148
 #, c-format
 msgid "  Size of section header entries:    %<PRId16> %s\n"
 msgstr ""
 "  Tamaño de las entradas en el encabezamiento de sección:    %<PRId16> %s\n"
 
-#: src/readelf.c:1149
+#: src/readelf.c:1151
 #, c-format
 msgid "  Number of section headers entries: %<PRId16>"
 msgstr "  Cantidad de entradas en los encabezamientos de sección: %<PRId16>"
 
-#: src/readelf.c:1156
+#: src/readelf.c:1158
 #, c-format
 msgid " (%<PRIu32> in [0].sh_size)"
 msgstr " (%<PRIu32> en [0].sh_size)"
 
 #. We managed to get the zeroth section.
-#: src/readelf.c:1169
+#: src/readelf.c:1171
 #, c-format
 msgid " (%<PRIu32> in [0].sh_link)"
 msgstr " (%<PRIu32> en [0].sh_link)"
 
-#: src/readelf.c:1177
+#: src/readelf.c:1179
 #, c-format
 msgid ""
 "  Section header string table index: XINDEX%s\n"
@@ -4362,19 +4389,19 @@
 "  Índice de tabla de cadenas de sección de encabezamiento de : XINDEX%s\n"
 "\n"
 
-#: src/readelf.c:1181
+#: src/readelf.c:1183
 #, c-format
 msgid ""
 "  Section header string table index: %<PRId16>\n"
 "\n"
 msgstr "  Índice de tabla de cadenas de sección de encabezamiento: %<PRId16>\n"
 
-#: src/readelf.c:1228 src/readelf.c:1436
+#: src/readelf.c:1230 src/readelf.c:1440
 #, fuzzy, c-format
 msgid "cannot get number of sections: %s"
 msgstr "no se pudieron determinar el número de secciones: %s"
 
-#: src/readelf.c:1231
+#: src/readelf.c:1233
 #, fuzzy, c-format
 msgid ""
 "There are %zd section headers, starting at offset %#<PRIx64>:\n"
@@ -4383,16 +4410,16 @@
 "Hay %d encabezamientos de sección, comenzando en compensación %#<PRIx64>:\n"
 "\n"
 
-#: src/readelf.c:1240
+#: src/readelf.c:1242
 #, fuzzy, c-format
 msgid "cannot get section header string table index: %s"
 msgstr "no se puede obtener índice de cadena de encabezamiento de sección"
 
-#: src/readelf.c:1243
+#: src/readelf.c:1245
 msgid "Section Headers:"
 msgstr "encabezamientos de sección:"
 
-#: src/readelf.c:1246
+#: src/readelf.c:1248
 msgid ""
 "[Nr] Name                 Type         Addr     Off    Size   ES Flags Lk "
 "Inf Al"
@@ -4400,7 +4427,7 @@
 "[Nr] Nombre            Tipo            Dirección    Off    Tamaño    Inf Al "
 "Enlace banderas ES"
 
-#: src/readelf.c:1248
+#: src/readelf.c:1250
 msgid ""
 "[Nr] Name                 Type         Addr             Off      Size     ES "
 "Flags Lk Inf Al"
@@ -4408,36 +4435,36 @@
 "[Nr] Name                 Type         Addr             Off      Size     ES "
 "Flags Lk Inf Al"
 
-#: src/readelf.c:1253
+#: src/readelf.c:1255
 msgid "     [Compression  Size   Al]"
 msgstr ""
 
-#: src/readelf.c:1255
+#: src/readelf.c:1257
 msgid "     [Compression  Size     Al]"
 msgstr ""
 
-#: src/readelf.c:1331
+#: src/readelf.c:1335
 #, fuzzy, c-format
 msgid "bad compression header for section %zd: %s"
 msgstr "No se puede obtener el encabezamiento de sección %zu: %s"
 
-#: src/readelf.c:1342
+#: src/readelf.c:1346
 #, fuzzy, c-format
 msgid "bad gnu compressed size for section %zd: %s"
 msgstr "No se pueden obtener datos para la sección %d: %s"
 
-#: src/readelf.c:1360
+#: src/readelf.c:1364
 msgid "Program Headers:"
 msgstr "encabezamientos de programa:"
 
-#: src/readelf.c:1362
+#: src/readelf.c:1366
 msgid ""
 "  Type           Offset   VirtAddr   PhysAddr   FileSiz  MemSiz   Flg Align"
 msgstr ""
 "  Tipo           Compensación  Dirección Virtual       Dirección "
 "Física       Tamaño de Fichero  Tamaño de Memoria     Alineación de bandera"
 
-#: src/readelf.c:1365
+#: src/readelf.c:1369
 msgid ""
 "  Type           Offset   VirtAddr           PhysAddr           FileSiz  "
 "MemSiz   Flg Align"
@@ -4445,12 +4472,12 @@
 "  Tipo          Compensación  Dirección Virtual            Dirección "
 "Física          Tamaño de Fichero  Tamaño de Memoria   Alineación de bandera"
 
-#: src/readelf.c:1422
+#: src/readelf.c:1426
 #, c-format
 msgid "\t[Requesting program interpreter: %s]\n"
 msgstr "\t[Solicitando intérprete de programa: %s]\n"
 
-#: src/readelf.c:1449
+#: src/readelf.c:1453
 msgid ""
 "\n"
 " Section to Segment mapping:\n"
@@ -4460,12 +4487,12 @@
 " Sección para asignación de segmento:\n"
 "  Secciones de segmento..."
 
-#: src/readelf.c:1460 src/unstrip.c:2110 src/unstrip.c:2152 src/unstrip.c:2159
+#: src/readelf.c:1464 src/unstrip.c:2114 src/unstrip.c:2156 src/unstrip.c:2163
 #, c-format
 msgid "cannot get program header: %s"
 msgstr "no se puede obtener memoria para encabezamiento del programa: %s"
 
-#: src/readelf.c:1606
+#: src/readelf.c:1610
 #, c-format
 msgid ""
 "\n"
@@ -4480,7 +4507,7 @@
 "\n"
 "Grupo de sección COMDAT [%2zu] '%s' con firma '%s' contiene entradas %zu:\n"
 
-#: src/readelf.c:1611
+#: src/readelf.c:1615
 #, c-format
 msgid ""
 "\n"
@@ -4495,31 +4522,31 @@
 "\n"
 "Grupo de sección [%2zu] '%s' con firma '%s' contiene entradas %zu:\n"
 
-#: src/readelf.c:1619
+#: src/readelf.c:1623
 msgid "<INVALID SYMBOL>"
 msgstr "<SÍMBOLO INVÁLIDO>"
 
-#: src/readelf.c:1633
+#: src/readelf.c:1637
 msgid "<INVALID SECTION>"
 msgstr "<SECCIÓN INVÁLIDA>"
 
-#: src/readelf.c:1656 src/readelf.c:2383 src/readelf.c:3484 src/readelf.c:12517
-#: src/readelf.c:12524 src/readelf.c:12568 src/readelf.c:12575
+#: src/readelf.c:1660 src/readelf.c:2387 src/readelf.c:3488 src/readelf.c:12625
+#: src/readelf.c:12632 src/readelf.c:12676 src/readelf.c:12683
 msgid "Couldn't uncompress section"
 msgstr ""
 
-#: src/readelf.c:1661 src/readelf.c:2388 src/readelf.c:3489
+#: src/readelf.c:1665 src/readelf.c:2392 src/readelf.c:3493
 #, fuzzy, c-format
 msgid "cannot get section [%zd] header: %s"
 msgstr "No se puede obtener encabezamiento de sección: %s"
 
-#: src/readelf.c:1805 src/readelf.c:2455 src/readelf.c:2713 src/readelf.c:2789
-#: src/readelf.c:3093 src/readelf.c:3167 src/readelf.c:5364
+#: src/readelf.c:1809 src/readelf.c:2459 src/readelf.c:2717 src/readelf.c:2793
+#: src/readelf.c:3097 src/readelf.c:3171 src/readelf.c:5401
 #, fuzzy, c-format
 msgid "invalid sh_link value in section %zu"
 msgstr ".debug_line section inválida"
 
-#: src/readelf.c:1808
+#: src/readelf.c:1812
 #, c-format
 msgid ""
 "\n"
@@ -4540,36 +4567,36 @@
 " Dirección: %#0*<PRIx64>  Compensación: %#08<PRIx64>  Enlace a sección: "
 "[%2u] '%s'\n"
 
-#: src/readelf.c:1818
+#: src/readelf.c:1822
 msgid "  Type              Value\n"
 msgstr "  Tipo              Valor\n"
 
-#: src/readelf.c:1842
+#: src/readelf.c:1846
 #, c-format
 msgid "Shared library: [%s]\n"
 msgstr "Biblioteca compartida: [%s]\n"
 
-#: src/readelf.c:1847
+#: src/readelf.c:1851
 #, c-format
 msgid "Library soname: [%s]\n"
 msgstr "Nombre-so de la biblioteca: [%s]\n"
 
-#: src/readelf.c:1852
+#: src/readelf.c:1856
 #, c-format
 msgid "Library rpath: [%s]\n"
 msgstr "Rpath de la biblioteca: [%s]\n"
 
-#: src/readelf.c:1857
+#: src/readelf.c:1861
 #, c-format
 msgid "Library runpath: [%s]\n"
 msgstr "Ruta de ejecución de la biblioteca: [%s]\n"
 
-#: src/readelf.c:1877
+#: src/readelf.c:1881
 #, c-format
 msgid "%<PRId64> (bytes)\n"
 msgstr "%<PRId64> (bytes)\n"
 
-#: src/readelf.c:1990 src/readelf.c:2180
+#: src/readelf.c:1994 src/readelf.c:2184
 #, c-format
 msgid ""
 "\n"
@@ -4578,7 +4605,7 @@
 "\n"
 "Tabla de símbolos inválida en compensación %#0<PRIx64>\n"
 
-#: src/readelf.c:2008 src/readelf.c:2198
+#: src/readelf.c:2012 src/readelf.c:2202
 #, c-format
 msgid ""
 "\n"
@@ -4603,7 +4630,7 @@
 #. The .rela.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:2023 src/readelf.c:2213
+#: src/readelf.c:2027 src/readelf.c:2217
 #, c-format
 msgid ""
 "\n"
@@ -4620,29 +4647,29 @@
 "Sección de reubicación [%2u] '%s' en compensación %#0<PRIx64> contiene "
 "entradas %d:\n"
 
-#: src/readelf.c:2033
+#: src/readelf.c:2037
 msgid "  Offset      Type                 Value       Name\n"
 msgstr "   Compensación           Tipo               Valor      Nombre\n"
 
-#: src/readelf.c:2035
+#: src/readelf.c:2039
 msgid "  Offset              Type                 Value               Name\n"
 msgstr "    Compensación           Tipo               Valor           Nombre\n"
 
-#: src/readelf.c:2088 src/readelf.c:2099 src/readelf.c:2112 src/readelf.c:2133
-#: src/readelf.c:2145 src/readelf.c:2279 src/readelf.c:2291 src/readelf.c:2305
-#: src/readelf.c:2327 src/readelf.c:2340
+#: src/readelf.c:2092 src/readelf.c:2103 src/readelf.c:2116 src/readelf.c:2137
+#: src/readelf.c:2149 src/readelf.c:2283 src/readelf.c:2295 src/readelf.c:2309
+#: src/readelf.c:2331 src/readelf.c:2344
 msgid "<INVALID RELOC>"
 msgstr "<REUBIC INVÁLIDA>"
 
-#: src/readelf.c:2223
+#: src/readelf.c:2227
 msgid "  Offset      Type            Value       Addend Name\n"
 msgstr "    Compensación            Tipo               Valor    Nombre Adend\n"
 
-#: src/readelf.c:2225
+#: src/readelf.c:2229
 msgid "  Offset              Type            Value               Addend Name\n"
 msgstr "    Compensación            Tipo               Valor   Nombre Adend\n"
 
-#: src/readelf.c:2463
+#: src/readelf.c:2467
 #, c-format
 msgid ""
 "\n"
@@ -4657,40 +4684,40 @@
 "\n"
 "La tabla de símbolos [%2u] '%s' contiene entradas %u:\n"
 
-#: src/readelf.c:2468
+#: src/readelf.c:2472
 #, c-format
 msgid " %lu local symbol  String table: [%2u] '%s'\n"
 msgid_plural " %lu local symbols  String table: [%2u] '%s'\n"
 msgstr[0] "símbolos locales %lu Tabla de cadena: [%2u] '%s'\n"
 msgstr[1] " Símbolos locales %lu Tabla de cadenas: [%2u] '%s'\n"
 
-#: src/readelf.c:2476
+#: src/readelf.c:2480
 msgid "  Num:    Value   Size Type    Bind   Vis          Ndx Name\n"
 msgstr "  Núm:    Valor       Tamaño Tipo    Unión  Vis          Nombre Ndx\n"
 
-#: src/readelf.c:2478
+#: src/readelf.c:2482
 msgid "  Num:            Value   Size Type    Bind   Vis          Ndx Name\n"
 msgstr "   Num:    Valor          Tamaño Tipo    Unión  Vis      Nombre Ndx\n"
 
-#: src/readelf.c:2498
+#: src/readelf.c:2502
 #, c-format
 msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
 msgstr "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
 
-#: src/readelf.c:2586
+#: src/readelf.c:2590
 #, c-format
 msgid "bad dynamic symbol"
 msgstr "símbolo dinámico erróneo"
 
-#: src/readelf.c:2668
+#: src/readelf.c:2672
 msgid "none"
 msgstr "nada"
 
-#: src/readelf.c:2685
+#: src/readelf.c:2689
 msgid "| <unknown>"
 msgstr "| <desconocido>"
 
-#: src/readelf.c:2716
+#: src/readelf.c:2720
 #, c-format
 msgid ""
 "\n"
@@ -4711,17 +4738,17 @@
 " Dirección: %#0*<PRIx64>  Compensación: %#08<PRIx64>  Enlace a sección: "
 "[%2u] '%s'\n"
 
-#: src/readelf.c:2737
+#: src/readelf.c:2741
 #, c-format
 msgid "  %#06x: Version: %hu  File: %s  Cnt: %hu\n"
 msgstr "  %#06x: Versión: %hu  Fichero: %s  Conteo: %hu\n"
 
-#: src/readelf.c:2750
+#: src/readelf.c:2754
 #, c-format
 msgid "  %#06x: Name: %s  Flags: %s  Version: %hu\n"
 msgstr "  %#06x: Nombre: %s  Banderas: %s  Versión: %hu\n"
 
-#: src/readelf.c:2793
+#: src/readelf.c:2797
 #, c-format
 msgid ""
 "\n"
@@ -4742,19 +4769,19 @@
 " Dirección: %#0*<PRIx64>  Compensación: %#08<PRIx64>  Enlace a sección: "
 "[%2u] '%s'\n"
 
-#: src/readelf.c:2821
+#: src/readelf.c:2825
 #, c-format
 msgid "  %#06x: Version: %hd  Flags: %s  Index: %hd  Cnt: %hd  Name: %s\n"
 msgstr ""
 "  %#06x: Versión: %hd  Banderas: %s  Índice: %hd  Conteo: %hd  Nombre: %s\n"
 
-#: src/readelf.c:2836
+#: src/readelf.c:2840
 #, c-format
 msgid "  %#06x: Parent %d: %s\n"
 msgstr "  %#06x: Principal %d: %s\n"
 
 #. Print the header.
-#: src/readelf.c:3097
+#: src/readelf.c:3101
 #, c-format
 msgid ""
 "\n"
@@ -4775,15 +4802,15 @@
 " Dirección: %#0*<PRIx64>  Compensación: %#08<PRIx64>  Enlace a sección: "
 "[%2u] '%s'"
 
-#: src/readelf.c:3125
+#: src/readelf.c:3129
 msgid "   0 *local*                     "
 msgstr "   0 *local*                     "
 
-#: src/readelf.c:3130
+#: src/readelf.c:3134
 msgid "   1 *global*                    "
 msgstr "   1 *global*                    "
 
-#: src/readelf.c:3172
+#: src/readelf.c:3176
 #, c-format
 msgid ""
 "\n"
@@ -4808,22 +4835,22 @@
 " Dirección: %#0*<PRIx64>  Compensación: %#08<PRIx64>  Enlace a sección: "
 "[%2u] '%s'\n"
 
-#: src/readelf.c:3194
+#: src/readelf.c:3198
 #, no-c-format
 msgid " Length  Number  % of total  Coverage\n"
 msgstr " Longitud  Número  % of total  Cobertura\n"
 
-#: src/readelf.c:3196
+#: src/readelf.c:3200
 #, c-format
 msgid "      0  %6<PRIu32>      %5.1f%%\n"
 msgstr "      0  %6<PRIu32>      %5.1f%%\n"
 
-#: src/readelf.c:3203
+#: src/readelf.c:3207
 #, c-format
 msgid "%7d  %6<PRIu32>      %5.1f%%    %5.1f%%\n"
 msgstr "%7d  %6<PRIu32>      %5.1f%%    %5.1f%%\n"
 
-#: src/readelf.c:3216
+#: src/readelf.c:3220
 #, c-format
 msgid ""
 " Average number of tests:   successful lookup: %f\n"
@@ -4832,37 +4859,37 @@
 " Número promedio de pruebas:   búsqueda exitosa: %f\n"
 "                          búsqueda sin éxito: %f\n"
 
-#: src/readelf.c:3234 src/readelf.c:3298 src/readelf.c:3364
+#: src/readelf.c:3238 src/readelf.c:3302 src/readelf.c:3368
 #, c-format
 msgid "cannot get data for section %d: %s"
 msgstr "No se pueden obtener datos para la sección %d: %s"
 
-#: src/readelf.c:3242
+#: src/readelf.c:3246
 #, fuzzy, c-format
 msgid "invalid data in sysv.hash section %d"
 msgstr "Datos inválidos en sección [%zu] '%s'"
 
-#: src/readelf.c:3271
+#: src/readelf.c:3275
 #, fuzzy, c-format
 msgid "invalid chain in sysv.hash section %d"
 msgstr "Datos inválidos en sección [%zu] '%s'"
 
-#: src/readelf.c:3306
+#: src/readelf.c:3310
 #, fuzzy, c-format
 msgid "invalid data in sysv.hash64 section %d"
 msgstr "Datos inválidos en sección [%zu] '%s'"
 
-#: src/readelf.c:3337
+#: src/readelf.c:3341
 #, fuzzy, c-format
 msgid "invalid chain in sysv.hash64 section %d"
 msgstr "Datos inválidos en sección [%zu] '%s'"
 
-#: src/readelf.c:3373
+#: src/readelf.c:3377
 #, fuzzy, c-format
 msgid "invalid data in gnu.hash section %d"
 msgstr "Datos inválidos en sección [%zu] '%s'"
 
-#: src/readelf.c:3440
+#: src/readelf.c:3444
 #, c-format
 msgid ""
 " Symbol Bias: %u\n"
@@ -4872,7 +4899,7 @@
 " Tamaño de Bitmask: %zu bytes  %<PRIuFAST32>%% bits establecen segundo "
 "cambio de dispersión: %u\n"
 
-#: src/readelf.c:3529
+#: src/readelf.c:3533
 #, c-format
 msgid ""
 "\n"
@@ -4889,7 +4916,7 @@
 "Sección de lista de biblioteca [%2zu] '%s' en compensación %#0<PRIx64> "
 "contiene entradas %d:\n"
 
-#: src/readelf.c:3543
+#: src/readelf.c:3547
 msgid ""
 "       Library                       Time Stamp          Checksum Version "
 "Flags"
@@ -4897,7 +4924,7 @@
 "       Biblioteca                       Marca de tiempo          Indicadores "
 "de versión de suma de verificación"
 
-#: src/readelf.c:3595
+#: src/readelf.c:3606
 #, c-format
 msgid ""
 "\n"
@@ -4908,102 +4935,102 @@
 "Sección de atributos de objeto [%2zu] '%s' de %<PRIu64> bytes con "
 "desplazamiento %#0<PRIx64>:\n"
 
-#: src/readelf.c:3612
+#: src/readelf.c:3623
 msgid "  Owner          Size\n"
 msgstr "  Propietario          Tamaño\n"
 
-#: src/readelf.c:3641
+#: src/readelf.c:3647
 #, c-format
 msgid "  %-13s  %4<PRIu32>\n"
 msgstr "  %-13s  %4<PRIu32>\n"
 
 #. Unknown subsection, print and skip.
-#: src/readelf.c:3680
+#: src/readelf.c:3686
 #, c-format
 msgid "    %-4u %12<PRIu32>\n"
 msgstr "    %-4u %12<PRIu32>\n"
 
 #. Tag_File
-#: src/readelf.c:3685
+#: src/readelf.c:3691
 #, c-format
 msgid "    File: %11<PRIu32>\n"
 msgstr "    File: %11<PRIu32>\n"
 
-#: src/readelf.c:3734
+#: src/readelf.c:3740
 #, c-format
 msgid "      %s: %<PRId64>, %s\n"
 msgstr "      %s: %<PRId64>, %s\n"
 
-#: src/readelf.c:3737
+#: src/readelf.c:3743
 #, c-format
 msgid "      %s: %<PRId64>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:3740
+#: src/readelf.c:3746
 #, c-format
 msgid "      %s: %s\n"
 msgstr "      %s: %s\n"
 
-#: src/readelf.c:3750
+#: src/readelf.c:3756
 #, c-format
 msgid "      %u: %<PRId64>\n"
 msgstr "      %u: %<PRId64>\n"
 
-#: src/readelf.c:3753
+#: src/readelf.c:3759
 #, c-format
 msgid "      %u: %s\n"
 msgstr "      %u: %s\n"
 
-#: src/readelf.c:3823
+#: src/readelf.c:3829
 #, fuzzy, c-format
 msgid "sprintf failure"
 msgstr "mprotect falló"
 
-#: src/readelf.c:4305
+#: src/readelf.c:4311
 msgid "empty block"
 msgstr "bloque vacío"
 
-#: src/readelf.c:4308
+#: src/readelf.c:4314
 #, c-format
 msgid "%zu byte block:"
 msgstr "bloque de byte %zu:"
 
-#: src/readelf.c:4786
+#: src/readelf.c:4792
 #, fuzzy, c-format
 msgid "%*s[%2<PRIuMAX>] %s  <TRUNCATED>\n"
 msgstr "%*s[%4<PRIuMAX>] %s  <TRUNCATED>\n"
 
-#: src/readelf.c:4850
+#: src/readelf.c:4859
 #, c-format
 msgid "%s %#<PRIx64> used with different address sizes"
 msgstr "%s %#<PRIx64> utilizado con direcciones de diferente tamaño"
 
-#: src/readelf.c:4857
+#: src/readelf.c:4866
 #, c-format
 msgid "%s %#<PRIx64> used with different offset sizes"
 msgstr "%s %#<PRIx64> utilizado con offsetr de diferente tamaño"
 
-#: src/readelf.c:4864
+#: src/readelf.c:4873
 #, fuzzy, c-format
 msgid "%s %#<PRIx64> used with different base addresses"
 msgstr "%s %#<PRIx64> utilizado con direcciones de diferente tamaño"
 
-#: src/readelf.c:4871
+#: src/readelf.c:4880
 #, fuzzy, c-format
 msgid "%s %#<PRIx64> used with different attribute %s and %s"
 msgstr "%s %#<PRIx64> utilizado con direcciones de diferente tamaño"
 
-#: src/readelf.c:4968
+#: src/readelf.c:4980
 #, c-format
 msgid " [%6tx]  <UNUSED GARBAGE IN REST OF SECTION>\n"
 msgstr " [%6tx] <MATERIAL INUTIL SIN UTILIZAR EN EL RESTO DE LA SECCION>\n"
 
-#: src/readelf.c:4976
+#: src/readelf.c:4988
 #, c-format
 msgid " [%6tx]  <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
 msgstr " [%6tx]  <MATERIAL INUTIL NO UTILIZADO> ... %<PRIu64> bytes ...\n"
 
-#: src/readelf.c:5054
+#: src/readelf.c:5091
 #, c-format
 msgid ""
 "\n"
@@ -5014,7 +5041,7 @@
 "Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n"
 " [ Código]\n"
 
-#: src/readelf.c:5062
+#: src/readelf.c:5099
 #, c-format
 msgid ""
 "\n"
@@ -5023,20 +5050,20 @@
 "\n"
 "Sección de abreviatura en compensación %<PRIu64>:\n"
 
-#: src/readelf.c:5075
+#: src/readelf.c:5112
 #, c-format
 msgid " *** error while reading abbreviation: %s\n"
 msgstr " *** error en lectura de abreviatura: %s\n"
 
-#: src/readelf.c:5091
+#: src/readelf.c:5128
 #, c-format
 msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
 msgstr " [%5u] compensación: %<PRId64>, hijos: %s, etiqueta: %s\n"
 
-#: src/readelf.c:5124 src/readelf.c:5433 src/readelf.c:5600 src/readelf.c:5985
-#: src/readelf.c:6586 src/readelf.c:8323 src/readelf.c:9009 src/readelf.c:9445
-#: src/readelf.c:9690 src/readelf.c:9856 src/readelf.c:10243
-#: src/readelf.c:10303
+#: src/readelf.c:5161 src/readelf.c:5470 src/readelf.c:5637 src/readelf.c:6022
+#: src/readelf.c:6638 src/readelf.c:8375 src/readelf.c:9064 src/readelf.c:9537
+#: src/readelf.c:9788 src/readelf.c:9954 src/readelf.c:10341
+#: src/readelf.c:10401
 #, c-format
 msgid ""
 "\n"
@@ -5045,52 +5072,52 @@
 "\n"
 "Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n"
 
-#: src/readelf.c:5137
+#: src/readelf.c:5174
 #, fuzzy, c-format
 msgid "cannot get .debug_addr section data: %s"
 msgstr "no se pueden obtener datos de sección: %s"
 
-#: src/readelf.c:5237 src/readelf.c:5261 src/readelf.c:5645 src/readelf.c:9054
+#: src/readelf.c:5274 src/readelf.c:5298 src/readelf.c:5682 src/readelf.c:9109
 #, fuzzy, c-format
 msgid " Length:         %8<PRIu64>\n"
 msgstr " (compensación: %#<PRIx64>)"
 
-#: src/readelf.c:5239 src/readelf.c:5276 src/readelf.c:5658 src/readelf.c:9067
+#: src/readelf.c:5276 src/readelf.c:5313 src/readelf.c:5695 src/readelf.c:9122
 #, fuzzy, c-format
 msgid " DWARF version:  %8<PRIu16>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:5240 src/readelf.c:5285 src/readelf.c:5667 src/readelf.c:9076
+#: src/readelf.c:5277 src/readelf.c:5322 src/readelf.c:5704 src/readelf.c:9131
 #, fuzzy, c-format
 msgid " Address size:   %8<PRIu64>\n"
 msgstr " (fin de compensación: %#<PRIx64>)"
 
-#: src/readelf.c:5242 src/readelf.c:5295 src/readelf.c:5677 src/readelf.c:9086
+#: src/readelf.c:5279 src/readelf.c:5332 src/readelf.c:5714 src/readelf.c:9141
 #, fuzzy, c-format
 msgid " Segment size:   %8<PRIu64>\n"
 msgstr " establecer archivo a %<PRIu64>\n"
 
-#: src/readelf.c:5280 src/readelf.c:5662 src/readelf.c:9071 src/readelf.c:10435
+#: src/readelf.c:5317 src/readelf.c:5699 src/readelf.c:9126 src/readelf.c:10533
 #, fuzzy, c-format
 msgid "Unknown version"
 msgstr "versión desconocida"
 
-#: src/readelf.c:5290 src/readelf.c:5503 src/readelf.c:5672 src/readelf.c:9081
+#: src/readelf.c:5327 src/readelf.c:5540 src/readelf.c:5709 src/readelf.c:9136
 #, fuzzy, c-format
 msgid "unsupported address size"
 msgstr "no hay valor de dirección"
 
-#: src/readelf.c:5301 src/readelf.c:5514 src/readelf.c:5682 src/readelf.c:9091
+#: src/readelf.c:5338 src/readelf.c:5551 src/readelf.c:5719 src/readelf.c:9146
 #, c-format
 msgid "unsupported segment size"
 msgstr ""
 
-#: src/readelf.c:5354 src/readelf.c:5428
+#: src/readelf.c:5391 src/readelf.c:5465
 #, c-format
 msgid "cannot get .debug_aranges content: %s"
 msgstr "no se ha podido obtener contenido de .debug_aranges: %s"
 
-#: src/readelf.c:5369
+#: src/readelf.c:5406
 #, c-format
 msgid ""
 "\n"
@@ -5105,12 +5132,12 @@
 "\n"
 "Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entradas %zu:\n"
 
-#: src/readelf.c:5400
+#: src/readelf.c:5437
 #, c-format
 msgid " [%*zu] ???\n"
 msgstr " [%*zu] ???\n"
 
-#: src/readelf.c:5402
+#: src/readelf.c:5439
 #, c-format
 msgid ""
 " [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
@@ -5118,7 +5145,7 @@
 " Inicio [%*zu]: %0#*<PRIx64>, longitud: %5<PRIu64>, compensación CU DIE: "
 "%6<PRId64>\n"
 
-#: src/readelf.c:5446 src/readelf.c:8350
+#: src/readelf.c:5483 src/readelf.c:8402
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -5127,152 +5154,150 @@
 "\n"
 "Tabla en compensación %Zu:\n"
 
-#: src/readelf.c:5450 src/readelf.c:5626 src/readelf.c:6610 src/readelf.c:8361
-#: src/readelf.c:9035
+#: src/readelf.c:5487 src/readelf.c:5663 src/readelf.c:6662 src/readelf.c:8413
+#: src/readelf.c:9090
 #, c-format
 msgid "invalid data in section [%zu] '%s'"
 msgstr "Datos inválidos en sección [%zu] '%s'"
 
-#: src/readelf.c:5466
+#: src/readelf.c:5503
 #, fuzzy, c-format
 msgid ""
 "\n"
 " Length:        %6<PRIu64>\n"
 msgstr " (compensación: %#<PRIx64>)"
 
-#: src/readelf.c:5478
+#: src/readelf.c:5515
 #, fuzzy, c-format
 msgid " DWARF version: %6<PRIuFAST16>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:5482
+#: src/readelf.c:5519
 #, c-format
 msgid "unsupported aranges version"
 msgstr ""
 
-#: src/readelf.c:5493
+#: src/readelf.c:5530
 #, fuzzy, c-format
 msgid " CU offset:     %6<PRIx64>\n"
 msgstr " (compensación: %#<PRIx64>)"
 
-#: src/readelf.c:5499
+#: src/readelf.c:5536
 #, fuzzy, c-format
 msgid " Address size:  %6<PRIu64>\n"
 msgstr " (fin de compensación: %#<PRIx64>)"
 
-#: src/readelf.c:5510
+#: src/readelf.c:5547
 #, fuzzy, c-format
 msgid ""
 " Segment size:  %6<PRIu64>\n"
 "\n"
 msgstr " establecer archivo a %<PRIu64>\n"
 
-#: src/readelf.c:5565
+#: src/readelf.c:5602
 #, c-format
 msgid "   %zu padding bytes\n"
 msgstr ""
 
-#: src/readelf.c:5609
+#: src/readelf.c:5646
 #, fuzzy, c-format
 msgid "cannot get .debug_rnglists content: %s"
 msgstr "no se ha podido obtener contenido de .debug_ranges: %s"
 
-#: src/readelf.c:5632 src/readelf.c:9041
+#: src/readelf.c:5669 src/readelf.c:9096
 #, fuzzy, c-format
 msgid ""
 "Table at Offset 0x%<PRIx64>:\n"
 "\n"
 msgstr " (fin de compensación: %#<PRIx64>)"
 
-#: src/readelf.c:5687 src/readelf.c:9096
+#: src/readelf.c:5724 src/readelf.c:9151
 #, fuzzy, c-format
 msgid " Offset entries: %8<PRIu64>\n"
 msgstr " (compensación: %#<PRIx64>)"
 
-#: src/readelf.c:5703 src/readelf.c:9112
+#: src/readelf.c:5740 src/readelf.c:9167
 #, c-format
 msgid " Unknown CU base: "
 msgstr ""
 
-#: src/readelf.c:5705 src/readelf.c:9114
+#: src/readelf.c:5742 src/readelf.c:9169
 #, c-format
 msgid " CU [%6<PRIx64>] base: "
 msgstr ""
 
-#: src/readelf.c:5711 src/readelf.c:9120
+#: src/readelf.c:5748 src/readelf.c:9175
 #, c-format
 msgid " Not associated with a CU.\n"
 msgstr ""
 
-#: src/readelf.c:5722 src/readelf.c:9131
+#: src/readelf.c:5759 src/readelf.c:9186
 #, c-format
 msgid "too many offset entries for unit length"
 msgstr ""
 
-#: src/readelf.c:5726 src/readelf.c:9135
+#: src/readelf.c:5763 src/readelf.c:9190
 #, fuzzy, c-format
 msgid "  Offsets starting at 0x%<PRIx64>:\n"
 msgstr "  Propietario          Tamaño\n"
 
-#: src/readelf.c:5778
+#: src/readelf.c:5815
 #, fuzzy, c-format
 msgid "invalid range list data"
 msgstr "datos inválidos"
 
-#: src/readelf.c:5963 src/readelf.c:9423
+#: src/readelf.c:6000 src/readelf.c:9515
 #, c-format
 msgid ""
 "   %zu padding bytes\n"
 "\n"
 msgstr ""
 
-#: src/readelf.c:5980
+#: src/readelf.c:6017
 #, c-format
 msgid "cannot get .debug_ranges content: %s"
 msgstr "no se ha podido obtener contenido de .debug_ranges: %s"
 
-#: src/readelf.c:6016 src/readelf.c:9478
+#: src/readelf.c:6053 src/readelf.c:9570
 #, c-format
 msgid ""
 "\n"
 " Unknown CU base: "
 msgstr ""
 
-#: src/readelf.c:6018 src/readelf.c:9480
+#: src/readelf.c:6055 src/readelf.c:9572
 #, c-format
 msgid ""
 "\n"
 " CU [%6<PRIx64>] base: "
 msgstr ""
 
-#: src/readelf.c:6027 src/readelf.c:9506 src/readelf.c:9532
+#: src/readelf.c:6064 src/readelf.c:9598 src/readelf.c:9624
 #, c-format
 msgid " [%6tx]  <INVALID DATA>\n"
 msgstr " [%6tx]  <DATOS INVÁLIDOS>\n"
 
-#: src/readelf.c:6048 src/readelf.c:9612
-#, fuzzy, c-format
-msgid ""
-" [%6tx] base address\n"
-"          "
-msgstr " [%6tx]   (dirección base) %s\n"
+#: src/readelf.c:6089 src/readelf.c:9708
+#, fuzzy
+msgid "base address"
+msgstr "Establecer dirección a %s\n"
 
-#: src/readelf.c:6056 src/readelf.c:9620
+#: src/readelf.c:6099 src/readelf.c:9718
 #, fuzzy, c-format
 msgid " [%6tx] empty list\n"
 msgstr " [%6tx]  lista vacía\n"
 
-#: src/readelf.c:6311
+#: src/readelf.c:6359
 #, fuzzy
 msgid "         <INVALID DATA>\n"
 msgstr "   <DATOS INVÁLIDOS>\n"
 
-#: src/readelf.c:6564
+#: src/readelf.c:6616
 #, fuzzy, c-format
 msgid "cannot get ELF: %s"
 msgstr "no se puede leer encabezamiento ELF: %s"
 
-#: src/readelf.c:6582
+#: src/readelf.c:6634
 #, c-format
 msgid ""
 "\n"
@@ -5282,7 +5307,7 @@
 "Sección de información de marco de llamada [%2zu] '%s' en compensación "
 "%#<PRIx64>:\n"
 
-#: src/readelf.c:6632
+#: src/readelf.c:6684
 #, c-format
 msgid ""
 "\n"
@@ -5291,65 +5316,65 @@
 "\n"
 " [%6tx] Terminator cero\n"
 
-#: src/readelf.c:6733 src/readelf.c:6887
+#: src/readelf.c:6785 src/readelf.c:6939
 #, c-format
 msgid "invalid augmentation length"
 msgstr "longitud de aumento inválida"
 
-#: src/readelf.c:6748
+#: src/readelf.c:6800
 msgid "FDE address encoding: "
 msgstr "Codificación de dirección FDE:"
 
-#: src/readelf.c:6754
+#: src/readelf.c:6806
 msgid "LSDA pointer encoding: "
 msgstr "Codificación de puntero LSDA:"
 
-#: src/readelf.c:6864
+#: src/readelf.c:6916
 #, c-format
 msgid " (offset: %#<PRIx64>)"
 msgstr " (compensación: %#<PRIx64>)"
 
-#: src/readelf.c:6871
+#: src/readelf.c:6923
 #, c-format
 msgid " (end offset: %#<PRIx64>)"
 msgstr " (fin de compensación: %#<PRIx64>)"
 
-#: src/readelf.c:6908
+#: src/readelf.c:6960
 #, c-format
 msgid "   %-26sLSDA pointer: %#<PRIx64>\n"
 msgstr "Puntero   %-26sLSDA: %#<PRIx64>\n"
 
-#: src/readelf.c:6993
+#: src/readelf.c:7045
 #, fuzzy, c-format
 msgid "DIE [%<PRIx64>] cannot get attribute code: %s"
 msgstr "No se puede obtener código de atributo: %s"
 
-#: src/readelf.c:7003
+#: src/readelf.c:7055
 #, fuzzy, c-format
 msgid "DIE [%<PRIx64>] cannot get attribute form: %s"
 msgstr "No se puede obtener forma de atributo: %s"
 
-#: src/readelf.c:7025
+#: src/readelf.c:7077
 #, fuzzy, c-format
 msgid "DIE [%<PRIx64>] cannot get attribute '%s' (%s) value: %s"
 msgstr "No se puede obtener valor: %s"
 
-#: src/readelf.c:7355
+#: src/readelf.c:7407
 #, fuzzy, c-format
 msgid "invalid file (%<PRId64>): %s"
 msgstr "Archivo inválido"
 
-#: src/readelf.c:7359
+#: src/readelf.c:7411
 #, fuzzy, c-format
 msgid "no srcfiles for CU [%<PRIx64>]"
 msgstr " establecer archivo a %<PRIu64>\n"
 
-#: src/readelf.c:7363
+#: src/readelf.c:7415
 #, fuzzy, c-format
 msgid "couldn't get DWARF CU: %s"
 msgstr "no se puede leer encabezamiento ELF: %s"
 
-#: src/readelf.c:7676
+#: src/readelf.c:7728
 #, c-format
 msgid ""
 "\n"
@@ -5360,12 +5385,12 @@
 "Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n"
 " [Offset]\n"
 
-#: src/readelf.c:7726
+#: src/readelf.c:7778
 #, fuzzy, c-format
 msgid "cannot get next unit: %s"
 msgstr "No se puede obtener próximo DIE: %s"
 
-#: src/readelf.c:7745
+#: src/readelf.c:7797
 #, fuzzy, c-format
 msgid ""
 " Type unit at offset %<PRIu64>:\n"
@@ -5378,7 +5403,7 @@
 "Tamaño de dirección: %<PRIu8>, Tamaño de compensación: %<PRIu8>\n"
 " Tipo de firma: %#<PRIx64>, Tipo de compensación: %#<PRIx64>\n"
 
-#: src/readelf.c:7757
+#: src/readelf.c:7809
 #, c-format
 msgid ""
 " Compilation unit at offset %<PRIu64>:\n"
@@ -5389,39 +5414,39 @@
 " Versión: %<PRIu16>, Compensación de sección de abreviatura: %<PRIu64>,  "
 "Tamaño de dirección: %<PRIu8>, Tamaño de compensación: %<PRIu8>\n"
 
-#: src/readelf.c:7767 src/readelf.c:7930
+#: src/readelf.c:7819 src/readelf.c:7982
 #, c-format
 msgid " Unit type: %s (%<PRIu8>)"
 msgstr ""
 
-#: src/readelf.c:7794
+#: src/readelf.c:7846
 #, c-format
 msgid "unknown version (%d) or unit type (%d)"
 msgstr ""
 
-#: src/readelf.c:7823
+#: src/readelf.c:7875
 #, c-format
 msgid "cannot get DIE offset: %s"
 msgstr "no se puede obtener DIE en compensación: %s"
 
-#: src/readelf.c:7832
+#: src/readelf.c:7884
 #, fuzzy, c-format
 msgid "cannot get tag of DIE at offset [%<PRIx64>] in section '%s': %s"
 msgstr ""
 "no se ha podido obtener etiqueta de DIE en compensación%<PRIu64> en sección "
 "'%s': %s"
 
-#: src/readelf.c:7870
+#: src/readelf.c:7922
 #, c-format
 msgid "cannot get next DIE: %s\n"
 msgstr "No se puede obtener próximo DIE: %s\n"
 
-#: src/readelf.c:7878
+#: src/readelf.c:7930
 #, c-format
 msgid "cannot get next DIE: %s"
 msgstr "No se puede obtener próximo DIE: %s"
 
-#: src/readelf.c:7922
+#: src/readelf.c:7974
 #, fuzzy, c-format
 msgid ""
 " Split compilation unit at offset %<PRIu64>:\n"
@@ -5432,7 +5457,7 @@
 " Versión: %<PRIu16>, Compensación de sección de abreviatura: %<PRIu64>,  "
 "Tamaño de dirección: %<PRIu8>, Tamaño de compensación: %<PRIu8>\n"
 
-#: src/readelf.c:7974
+#: src/readelf.c:8026
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -5442,18 +5467,18 @@
 "\n"
 "Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n"
 
-#: src/readelf.c:8306
+#: src/readelf.c:8358
 #, fuzzy, c-format
 msgid "unknown form: %s"
 msgstr "Forma %<PRIx64> desconocida"
 
-#: src/readelf.c:8337
+#: src/readelf.c:8389
 #, c-format
 msgid "cannot get line data section data: %s"
 msgstr "No se puede obtener sección de datos de línea: %s"
 
 #. Print what we got so far.
-#: src/readelf.c:8439
+#: src/readelf.c:8491
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -5484,34 +5509,34 @@
 "\n"
 "Códigos operativos:\n"
 
-#: src/readelf.c:8461
+#: src/readelf.c:8513
 #, fuzzy, c-format
 msgid "cannot handle .debug_line version: %u\n"
 msgstr "no se puede obtener versión de símbolo: %s"
 
-#: src/readelf.c:8469
+#: src/readelf.c:8521
 #, fuzzy, c-format
 msgid "cannot handle address size: %u\n"
 msgstr "no hay valor de dirección"
 
-#: src/readelf.c:8477
+#: src/readelf.c:8529
 #, fuzzy, c-format
 msgid "cannot handle segment selector size: %u\n"
 msgstr "No se puede encontrar la sección: %s"
 
-#: src/readelf.c:8487
+#: src/readelf.c:8539
 #, c-format
 msgid "invalid data at offset %tu in section [%zu] '%s'"
 msgstr "datos inválidos en compensación %tu en sección [%zu] '%s'"
 
-#: src/readelf.c:8502
+#: src/readelf.c:8554
 #, c-format
 msgid "  [%*<PRIuFAST8>]  %hhu argument\n"
 msgid_plural "  [%*<PRIuFAST8>]  %hhu arguments\n"
 msgstr[0] "  [%*<PRIuFAST8>]  argumento %hhu \n"
 msgstr[1] "  [%*<PRIuFAST8>]  argumento %hhu\n"
 
-#: src/readelf.c:8513
+#: src/readelf.c:8565
 msgid ""
 "\n"
 "Directory table:"
@@ -5519,12 +5544,12 @@
 "\n"
 "Tabla de Directorio:"
 
-#: src/readelf.c:8519 src/readelf.c:8596
+#: src/readelf.c:8571 src/readelf.c:8648
 #, fuzzy, c-format
 msgid "      ["
 msgstr "      %s: %s\n"
 
-#: src/readelf.c:8590
+#: src/readelf.c:8642
 #, fuzzy
 msgid ""
 "\n"
@@ -5533,7 +5558,7 @@
 "\n"
 " Tabla de sitio de llamada:"
 
-#: src/readelf.c:8651
+#: src/readelf.c:8703
 #, fuzzy
 msgid " Entry Dir   Time      Size      Name"
 msgstr ""
@@ -5541,7 +5566,16 @@
 "Tabla de nombre de archivo:\n"
 " Directorio de entrada   Tiempo      Tamaño      Nombre"
 
-#: src/readelf.c:8688
+#: src/readelf.c:8742
+#, fuzzy
+msgid ""
+"\n"
+"No line number statements."
+msgstr ""
+"\n"
+" Declaraciones de número de Línea:"
+
+#: src/readelf.c:8746
 msgid ""
 "\n"
 "Line number statements:"
@@ -5549,121 +5583,121 @@
 "\n"
 " Declaraciones de número de Línea:"
 
-#: src/readelf.c:8711
+#: src/readelf.c:8766
 #, fuzzy, c-format
 msgid "invalid maximum operations per instruction is zero"
 msgstr "longitud mínima inválida de tamaño de cadena coincidente"
 
-#: src/readelf.c:8745
+#: src/readelf.c:8800
 #, fuzzy, c-format
 msgid " special opcode %u: address+%u = "
 msgstr " opcode especial %u: dirección+%u = %s, línea%+d = %zu\n"
 
-#: src/readelf.c:8749
+#: src/readelf.c:8804
 #, fuzzy, c-format
 msgid ", op_index = %u, line%+d = %zu\n"
 msgstr ""
 " opcode especial %u: dirección+%u = %s,  op_index = %u, línea%+d = %zu\n"
 
-#: src/readelf.c:8752
+#: src/readelf.c:8807
 #, c-format
 msgid ", line%+d = %zu\n"
 msgstr ""
 
-#: src/readelf.c:8770
+#: src/readelf.c:8825
 #, c-format
 msgid " extended opcode %u: "
 msgstr "  Código operativo extendido %u: "
 
-#: src/readelf.c:8775
+#: src/readelf.c:8830
 #, fuzzy
 msgid " end of sequence"
 msgstr "Fin de secuencia"
 
-#: src/readelf.c:8793
+#: src/readelf.c:8848
 #, fuzzy, c-format
 msgid " set address to "
 msgstr "Establecer dirección a %s\n"
 
-#: src/readelf.c:8821
+#: src/readelf.c:8876
 #, fuzzy, c-format
 msgid " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
 msgstr ""
 "definir nuevo archivo: dir=%u, mtime=%<PRIu64>, longitud=%<PRIu64>, nombre="
 "%s\n"
 
-#: src/readelf.c:8835
+#: src/readelf.c:8890
 #, c-format
 msgid " set discriminator to %u\n"
 msgstr " establecer discriminador a %u\n"
 
 #. Unknown, ignore it.
-#: src/readelf.c:8840
+#: src/readelf.c:8895
 #, fuzzy
 msgid " unknown opcode"
 msgstr "código operativo desconocido "
 
 #. Takes no argument.
-#: src/readelf.c:8852
+#: src/readelf.c:8907
 msgid " copy"
 msgstr "Copiar"
 
-#: src/readelf.c:8863
+#: src/readelf.c:8918
 #, fuzzy, c-format
 msgid " advance address by %u to "
 msgstr "Dirección de avance por %u a %s\n"
 
-#: src/readelf.c:8867 src/readelf.c:8928
+#: src/readelf.c:8922 src/readelf.c:8983
 #, c-format
 msgid ", op_index to %u"
 msgstr ""
 
-#: src/readelf.c:8879
+#: src/readelf.c:8934
 #, c-format
 msgid " advance line by constant %d to %<PRId64>\n"
 msgstr " línea de avance por la constante %d a %<PRId64>\n"
 
-#: src/readelf.c:8889
+#: src/readelf.c:8944
 #, c-format
 msgid " set file to %<PRIu64>\n"
 msgstr " establecer archivo a %<PRIu64>\n"
 
-#: src/readelf.c:8900
+#: src/readelf.c:8955
 #, c-format
 msgid " set column to %<PRIu64>\n"
 msgstr "  Establecer columna a %<PRIu64>\n"
 
-#: src/readelf.c:8907
+#: src/readelf.c:8962
 #, c-format
 msgid " set '%s' to %<PRIuFAST8>\n"
 msgstr "Establecer '%s' a %<PRIuFAST8>\n"
 
 #. Takes no argument.
-#: src/readelf.c:8913
+#: src/readelf.c:8968
 msgid " set basic block flag"
 msgstr "Establecer bandera de bloque básico"
 
-#: src/readelf.c:8924
+#: src/readelf.c:8979
 #, fuzzy, c-format
 msgid " advance address by constant %u to "
 msgstr "Dirección de avance por constante %u a %s\n"
 
-#: src/readelf.c:8944
+#: src/readelf.c:8999
 #, fuzzy, c-format
 msgid " advance address by fixed value %u to \n"
 msgstr "dirección de avance por valor corregido %u a %s\n"
 
 #. Takes no argument.
-#: src/readelf.c:8954
+#: src/readelf.c:9009
 msgid " set prologue end flag"
 msgstr " Establecer bandera prologue_end"
 
 #. Takes no argument.
-#: src/readelf.c:8959
+#: src/readelf.c:9014
 msgid " set epilogue begin flag"
 msgstr " Establecer bandera epilogue_begin"
 
-#: src/readelf.c:8969
+#: src/readelf.c:9024
 #, c-format
 msgid " set isa to %u\n"
 msgstr " establecer isa para %u\n"
@@ -5671,105 +5705,110 @@
 #. 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:8978
+#: src/readelf.c:9033
 #, c-format
 msgid " unknown opcode with %<PRIu8> parameter:"
 msgid_plural " unknown opcode with %<PRIu8> parameters:"
 msgstr[0] " opcódigo con parámetro %<PRIu8> desconocido:"
 msgstr[1] " opcódigo con parámetros %<PRIu8> desconocido:"
 
-#: src/readelf.c:9018
+#: src/readelf.c:9073
 #, fuzzy, c-format
 msgid "cannot get .debug_loclists content: %s"
 msgstr "no es posible obtener contenido de .debug_loc: %s"
 
-#: src/readelf.c:9187
+#: src/readelf.c:9239
+#, fuzzy, c-format
+msgid "    <INVALID DATA>\n"
+msgstr "   <DATOS INVÁLIDOS>\n"
+
+#: src/readelf.c:9279
 #, fuzzy, c-format
 msgid "invalid loclists data"
 msgstr "datos inválidos"
 
-#: src/readelf.c:9440
+#: src/readelf.c:9532
 #, c-format
 msgid "cannot get .debug_loc content: %s"
 msgstr "no es posible obtener contenido de .debug_loc: %s"
 
-#: src/readelf.c:9647 src/readelf.c:10691
+#: src/readelf.c:9745 src/readelf.c:10789
 msgid "   <INVALID DATA>\n"
 msgstr "   <DATOS INVÁLIDOS>\n"
 
-#: src/readelf.c:9702 src/readelf.c:9865
+#: src/readelf.c:9800 src/readelf.c:9963
 #, c-format
 msgid "cannot get macro information section data: %s"
 msgstr "no es posible obtener datos de la sección de macro información: %s"
 
-#: src/readelf.c:9782
+#: src/readelf.c:9880
 #, c-format
 msgid "%*s*** non-terminated string at end of section"
 msgstr "%*s*** cadena no finalizada al final de la sección"
 
-#: src/readelf.c:9805
+#: src/readelf.c:9903
 #, fuzzy, c-format
 msgid "%*s*** missing DW_MACINFO_start_file argument at end of section"
 msgstr "%*s*** cadena no finalizada al final de la sección"
 
-#: src/readelf.c:9906
+#: src/readelf.c:10004
 #, fuzzy, c-format
 msgid " Offset:             0x%<PRIx64>\n"
 msgstr "  Propietario          Tamaño\n"
 
-#: src/readelf.c:9918
+#: src/readelf.c:10016
 #, fuzzy, c-format
 msgid " Version:            %<PRIu16>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:9924 src/readelf.c:10811
+#: src/readelf.c:10022 src/readelf.c:10909
 #, c-format
 msgid "  unknown version, cannot parse section\n"
 msgstr ""
 
-#: src/readelf.c:9931
+#: src/readelf.c:10029
 #, fuzzy, c-format
 msgid " Flag:               0x%<PRIx8>"
 msgstr "  Dirección de punto de entrada:               %#<PRIx64>\n"
 
-#: src/readelf.c:9960
+#: src/readelf.c:10058
 #, fuzzy, c-format
 msgid " Offset length:      %<PRIu8>\n"
 msgstr " (compensación: %#<PRIx64>)"
 
-#: src/readelf.c:9968
+#: src/readelf.c:10066
 #, fuzzy, c-format
 msgid " .debug_line offset: 0x%<PRIx64>\n"
 msgstr " (fin de compensación: %#<PRIx64>)"
 
-#: src/readelf.c:9993
+#: src/readelf.c:10091
 #, fuzzy, c-format
 msgid "  extension opcode table, %<PRIu8> items:\n"
 msgstr " opcódigo con parámetro %<PRIu8> desconocido:"
 
-#: src/readelf.c:10000
+#: src/readelf.c:10098
 #, c-format
 msgid "    [%<PRIx8>]"
 msgstr ""
 
-#: src/readelf.c:10012
+#: src/readelf.c:10110
 #, fuzzy, c-format
 msgid " %<PRIu8> arguments:"
 msgstr "  [%*<PRIuFAST8>]  argumento %hhu \n"
 
-#: src/readelf.c:10027
+#: src/readelf.c:10125
 #, c-format
 msgid " no arguments."
 msgstr ""
 
-#: src/readelf.c:10228
+#: src/readelf.c:10326
 #, c-format
 msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
 msgstr ""
 " Compensación [%5d] DIE: %6<PRId64>, Compensación CU DIE: %6<PRId64>, "
 "nombre: %s\n"
 
-#: src/readelf.c:10272
+#: src/readelf.c:10370
 #, c-format
 msgid ""
 "\n"
@@ -5780,37 +5819,37 @@
 "Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n"
 " %*s  String\n"
 
-#: src/readelf.c:10287
+#: src/readelf.c:10385
 #, fuzzy, c-format
 msgid " *** error, missing string terminator\n"
 msgstr " *** error en lectura de cadenas: %s\n"
 
-#: src/readelf.c:10316
+#: src/readelf.c:10414
 #, fuzzy, c-format
 msgid "cannot get .debug_str_offsets section data: %s"
 msgstr "no se pueden obtener datos de sección: %s"
 
-#: src/readelf.c:10415
+#: src/readelf.c:10513
 #, fuzzy, c-format
 msgid " Length:        %8<PRIu64>\n"
 msgstr " (compensación: %#<PRIx64>)"
 
-#: src/readelf.c:10417
+#: src/readelf.c:10515
 #, fuzzy, c-format
 msgid " Offset size:   %8<PRIu8>\n"
 msgstr " (compensación: %#<PRIx64>)"
 
-#: src/readelf.c:10431
+#: src/readelf.c:10529
 #, fuzzy, c-format
 msgid " DWARF version: %8<PRIu16>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:10440
+#: src/readelf.c:10538
 #, fuzzy, c-format
 msgid " Padding:       %8<PRIx16>\n"
 msgstr " (compensación: %#<PRIx64>)"
 
-#: src/readelf.c:10494
+#: src/readelf.c:10592
 #, c-format
 msgid ""
 "\n"
@@ -5819,7 +5858,7 @@
 "\n"
 "Sección de tabla de búsqueda de marco de llamada [%2zu] '.eh_frame_hdr':\n"
 
-#: src/readelf.c:10596
+#: src/readelf.c:10694
 #, c-format
 msgid ""
 "\n"
@@ -5828,22 +5867,22 @@
 "\n"
 "Excepción en el manejo de la sección de tabla [%2zu] '.gcc_except_table':\n"
 
-#: src/readelf.c:10619
+#: src/readelf.c:10717
 #, c-format
 msgid " LPStart encoding:    %#x "
 msgstr "Codificación LPStart:    %#x "
 
-#: src/readelf.c:10631
+#: src/readelf.c:10729
 #, c-format
 msgid " TType encoding:      %#x "
 msgstr "Codificación TType:      %#x "
 
-#: src/readelf.c:10646
+#: src/readelf.c:10744
 #, c-format
 msgid " Call site encoding:  %#x "
 msgstr "Codificación de sitio de llamada:  %#x "
 
-#: src/readelf.c:10659
+#: src/readelf.c:10757
 msgid ""
 "\n"
 " Call site table:"
@@ -5851,7 +5890,7 @@
 "\n"
 " Tabla de sitio de llamada:"
 
-#: src/readelf.c:10673
+#: src/readelf.c:10771
 #, c-format
 msgid ""
 " [%4u] Call site start:   %#<PRIx64>\n"
@@ -5864,12 +5903,12 @@
 "        Landing pad:       %#<PRIx64>\n"
 "        Action:            %u\n"
 
-#: src/readelf.c:10746
+#: src/readelf.c:10844
 #, c-format
 msgid "invalid TType encoding"
 msgstr "Codificación TType inválida"
 
-#: src/readelf.c:10773
+#: src/readelf.c:10871
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -5878,37 +5917,37 @@
 "\n"
 "Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entrada %zu:\n"
 
-#: src/readelf.c:10802
+#: src/readelf.c:10900
 #, fuzzy, c-format
 msgid " Version:         %<PRId32>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:10820
+#: src/readelf.c:10918
 #, fuzzy, c-format
 msgid " CU offset:       %#<PRIx32>\n"
 msgstr " (compensación: %#<PRIx64>)"
 
-#: src/readelf.c:10827
+#: src/readelf.c:10925
 #, fuzzy, c-format
 msgid " TU offset:       %#<PRIx32>\n"
 msgstr " (compensación: %#<PRIx64>)"
 
-#: src/readelf.c:10834
+#: src/readelf.c:10932
 #, fuzzy, c-format
 msgid " address offset:  %#<PRIx32>\n"
 msgstr " (fin de compensación: %#<PRIx64>)"
 
-#: src/readelf.c:10841
+#: src/readelf.c:10939
 #, fuzzy, c-format
 msgid " symbol offset:   %#<PRIx32>\n"
 msgstr " (compensación: %#<PRIx64>)"
 
-#: src/readelf.c:10848
+#: src/readelf.c:10946
 #, fuzzy, c-format
 msgid " constant offset: %#<PRIx32>\n"
 msgstr " (fin de compensación: %#<PRIx64>)"
 
-#: src/readelf.c:10862
+#: src/readelf.c:10960
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -5917,7 +5956,7 @@
 "\n"
 "Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entrada %zu:\n"
 
-#: src/readelf.c:10887
+#: src/readelf.c:10985
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -5926,7 +5965,7 @@
 "\n"
 "Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entrada %zu:\n"
 
-#: src/readelf.c:10916
+#: src/readelf.c:11014
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -5935,7 +5974,7 @@
 "\n"
 "Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entrada %zu:\n"
 
-#: src/readelf.c:10948
+#: src/readelf.c:11046
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -5944,18 +5983,18 @@
 "\n"
 "Tabla de símbolos inválida en compensación %#0<PRIx64>\n"
 
-#: src/readelf.c:11086
+#: src/readelf.c:11184
 #, c-format
 msgid "cannot get debug context descriptor: %s"
 msgstr "no se puede depurar descriptor de contexto: %s"
 
-#: src/readelf.c:11449 src/readelf.c:12071 src/readelf.c:12182
-#: src/readelf.c:12240
+#: src/readelf.c:11552 src/readelf.c:12179 src/readelf.c:12290
+#: src/readelf.c:12348
 #, c-format
 msgid "cannot convert core note data: %s"
 msgstr "no es posible convertir datos de la nota principal: %s"
 
-#: src/readelf.c:11812
+#: src/readelf.c:11915
 #, c-format
 msgid ""
 "\n"
@@ -5964,21 +6003,21 @@
 "\n"
 "%*s... <repeats %u more times> ..."
 
-#: src/readelf.c:12319
+#: src/readelf.c:12427
 msgid "  Owner          Data size  Type\n"
 msgstr "  Owner          Data size  Type\n"
 
-#: src/readelf.c:12348
+#: src/readelf.c:12456
 #, c-format
 msgid "  %-13.*s  %9<PRId32>  %s\n"
 msgstr "  %-13.*s  %9<PRId32>  %s\n"
 
-#: src/readelf.c:12400
+#: src/readelf.c:12508
 #, fuzzy, c-format
 msgid "cannot get content of note: %s"
 msgstr "no se puede obtener el contenido de sección de nota: %s"
 
-#: src/readelf.c:12434
+#: src/readelf.c:12542
 #, c-format
 msgid ""
 "\n"
@@ -5987,7 +6026,7 @@
 "\n"
 "Sección de nota [%2zu] '%s' de %<PRIu64> bytes en compensación %#0<PRIx64>:\n"
 
-#: src/readelf.c:12457
+#: src/readelf.c:12565
 #, c-format
 msgid ""
 "\n"
@@ -5996,7 +6035,7 @@
 "\n"
 "Segmento de nota de %<PRIu64> bytes en compensación %#0<PRIx64>:\n"
 
-#: src/readelf.c:12504
+#: src/readelf.c:12612
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -6005,12 +6044,12 @@
 "\n"
 "Sección [%Zu] '%s' no tiene datos para volcar.\n"
 
-#: src/readelf.c:12531 src/readelf.c:12582
+#: src/readelf.c:12639 src/readelf.c:12690
 #, fuzzy, c-format
 msgid "cannot get data for section [%zu] '%s': %s"
 msgstr "no se pueden obtener datos para sección [%Zu] '%s': %s"
 
-#: src/readelf.c:12536
+#: src/readelf.c:12644
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -6020,7 +6059,7 @@
 "Volcado Hex de sección [%Zu] '%s', %<PRIu64> bytes en compensación "
 "%#0<PRIx64>:\n"
 
-#: src/readelf.c:12541
+#: src/readelf.c:12649
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -6031,7 +6070,7 @@
 "Volcado Hex de sección [%Zu] '%s', %<PRIu64> bytes en compensación "
 "%#0<PRIx64>:\n"
 
-#: src/readelf.c:12555
+#: src/readelf.c:12663
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -6040,7 +6079,7 @@
 "\n"
 "Sección [%Zu] '%s' no tiene datos para volcar.\n"
 
-#: src/readelf.c:12587
+#: src/readelf.c:12695
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -6050,7 +6089,7 @@
 "Sección de cadena [%Zu] '%s' contiene %<PRIu64> bytes en compensación "
 "%#0<PRIx64>:\n"
 
-#: src/readelf.c:12592
+#: src/readelf.c:12700
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -6061,7 +6100,7 @@
 "Sección de cadena [%Zu] '%s' contiene %<PRIu64> bytes en compensación "
 "%#0<PRIx64>:\n"
 
-#: src/readelf.c:12641
+#: src/readelf.c:12749
 #, c-format
 msgid ""
 "\n"
@@ -6070,7 +6109,7 @@
 "\n"
 "sección [%lu] no existe"
 
-#: src/readelf.c:12671
+#: src/readelf.c:12779
 #, c-format
 msgid ""
 "\n"
@@ -6079,12 +6118,12 @@
 "\n"
 "sección '%s' no existe"
 
-#: src/readelf.c:12728
+#: src/readelf.c:12836
 #, c-format
 msgid "cannot get symbol index of archive '%s': %s"
 msgstr "no se puede obtener el índice de símbolo de archivo '%s': %s"
 
-#: src/readelf.c:12731
+#: src/readelf.c:12839
 #, c-format
 msgid ""
 "\n"
@@ -6093,7 +6132,7 @@
 "\n"
 "Archivo '%s' no tiene índice de símbolo\n"
 
-#: src/readelf.c:12735
+#: src/readelf.c:12843
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -6102,12 +6141,12 @@
 "\n"
 "Índice de archivo '%s' tiene %Zu entradas:\n"
 
-#: src/readelf.c:12753
+#: src/readelf.c:12861
 #, fuzzy, c-format
 msgid "cannot extract member at offset %zu in '%s': %s"
 msgstr "no es posible extraer miembro en compensación %Zu en '%s': %s"
 
-#: src/readelf.c:12758
+#: src/readelf.c:12866
 #, c-format
 msgid "Archive member '%s' contains:\n"
 msgstr "Miembro de archivo contiene '%s':\n"
@@ -6174,7 +6213,7 @@
 msgid "%s: file format not recognized"
 msgstr "%s: No se reconoce el formato del fichero"
 
-#: src/size.c:418 src/size.c:557
+#: src/size.c:418 src/size.c:560
 #, c-format
 msgid " (ex %s)"
 msgstr " (ex %s)"
@@ -6184,124 +6223,124 @@
 msgid "cannot get section header"
 msgstr "no se puede obtener encabezamiento de sección\n"
 
-#: src/size.c:582
+#: src/size.c:585
 msgid "(TOTALS)\n"
 msgstr "(TOTALES)\n"
 
-#: src/stack.c:482
+#: src/stack.c:487
 #, c-format
 msgid "-p PID should be a positive process id."
 msgstr ""
 
-#: src/stack.c:488
+#: src/stack.c:493
 #, fuzzy, c-format
 msgid "Cannot open core file '%s'"
 msgstr "Imposible abrir el archivo '%s'"
 
-#: src/stack.c:548
+#: src/stack.c:553
 #, c-format
 msgid "-n MAXFRAMES should be 0 or higher."
 msgstr ""
 
-#: src/stack.c:560
+#: src/stack.c:565
 #, c-format
 msgid "-e EXEC needs a core given by --core."
 msgstr ""
 
-#: src/stack.c:564
+#: src/stack.c:569
 #, c-format
 msgid "-1 needs a thread id given by -p."
 msgstr ""
 
-#: src/stack.c:568
+#: src/stack.c:573
 #, c-format
 msgid "One of -p PID or --core COREFILE should be given."
 msgstr ""
 
-#: src/stack.c:640
+#: src/stack.c:645
 #, fuzzy
 msgid "Show stack of process PID"
 msgstr "No se puede crear el árbol de búsqueda"
 
-#: src/stack.c:642
+#: src/stack.c:647
 msgid "Show stack found in COREFILE"
 msgstr ""
 
-#: src/stack.c:643
+#: src/stack.c:648
 msgid "(optional) EXECUTABLE that produced COREFILE"
 msgstr ""
 
-#: src/stack.c:647
+#: src/stack.c:652
 msgid "Output selection options:"
 msgstr "Opciones de selección de salida:"
 
-#: src/stack.c:649
+#: src/stack.c:654
 #, fuzzy
 msgid "Additionally show frame activation"
 msgstr "Selección de salida adicional:"
 
-#: src/stack.c:651
+#: src/stack.c:656
 msgid "Additionally try to lookup DWARF debuginfo name for frame address"
 msgstr ""
 
-#: src/stack.c:654
+#: src/stack.c:659
 msgid ""
 "Additionally show inlined function frames using DWARF debuginfo if available "
 "(implies -d)"
 msgstr ""
 
-#: src/stack.c:656
+#: src/stack.c:661
 msgid "Additionally show module file information"
 msgstr ""
 
-#: src/stack.c:658
+#: src/stack.c:663
 #, fuzzy
 msgid "Additionally show source file information"
 msgstr "Selección de salida adicional:"
 
-#: src/stack.c:660
+#: src/stack.c:665
 msgid ""
 "Show all additional information (activation, debugname, inlines, module and "
 "source)"
 msgstr ""
 
-#: src/stack.c:662
+#: src/stack.c:667
 msgid "Do not resolve address to function symbol name"
 msgstr ""
 
-#: src/stack.c:664
+#: src/stack.c:669
 msgid "Show raw function symbol names, do not try to demangle names"
 msgstr ""
 
-#: src/stack.c:666
+#: src/stack.c:671
 msgid "Show module build-id, load address and pc offset"
 msgstr ""
 
-#: src/stack.c:668
+#: src/stack.c:673
 msgid "Show the backtrace of only one thread"
 msgstr ""
 
-#: src/stack.c:670
+#: src/stack.c:675
 msgid "Show at most MAXFRAMES per thread (default 256, use 0 for unlimited)"
 msgstr ""
 
-#: src/stack.c:672
+#: src/stack.c:677
 msgid "Show module memory map with build-id, elf and debug files detected"
 msgstr ""
 
-#: src/stack.c:680
+#: src/stack.c:685
 msgid ""
 "Print a stack for each thread in a process or core file.\n"
 "\n"
 "Program exits with return code 0 if all frames were shown without any "
 "errors.  If some frames were shown, but there were some non-fatal errors, "
 "possibly causing an incomplete backtrace, the program exits with return code "
-"1.  If no frames could be shown, or a fatal error occured the program exits "
+"1.  If no frames could be shown, or a fatal error occurred the program exits "
 "with return code 2.  If the program was invoked with bad or missing "
 "arguments it will exit with return code 64."
 msgstr ""
 
-#: src/stack.c:755
+#: src/stack.c:760
 #, c-format
 msgid "Couldn't show any frames."
 msgstr ""
@@ -6320,7 +6359,7 @@
 
 #: src/strings.c:69
 msgid ""
-"Select character size and endianess: s = 7-bit, S = 8-bit, {b,l} = 16-bit, "
+"Select character size and endianness: s = 7-bit, S = 8-bit, {b,l} = 16-bit, "
 "{B,L} = 32-bit"
 msgstr ""
 "Seleccionar tamaño de caracter y Endianess: s = 7-bit, S = 8-bit, {b,l} = 16-"
@@ -6401,14 +6440,14 @@
 msgid ""
 "Resolve all trivial relocations between debug sections if the removed "
 "sections are placed in a debug file (only relevant for ET_REL files, "
-"operation is not reversable, needs -f)"
+"operation is not reversible, needs -f)"
 msgstr ""
 
 #: src/strip.c:87
 msgid ""
 "Similar to --reloc-debug-sections, but resolve all trivial relocations "
 "between debug sections in place.  No other stripping is performed (operation "
-"is not reversable, incompatible with -f, -g, --remove-comment and --remove-"
+"is not reversible, incompatible with -f, -g, --remove-comment and --remove-"
 "section)"
 msgstr ""
 
@@ -6465,22 +6504,22 @@
 msgid "cannot both keep and remove .comment section"
 msgstr "Quitar sección de comentario"
 
-#: src/strip.c:574
+#: src/strip.c:481
 #, fuzzy, c-format
 msgid "bad relocation"
 msgstr "Mostrar reubicaciones"
 
-#: src/strip.c:726 src/strip.c:750
+#: src/strip.c:747 src/strip.c:771
 #, c-format
 msgid "cannot stat input file '%s'"
 msgstr "no sepuede stat fichero de entrada '%s'"
 
-#: src/strip.c:740
+#: src/strip.c:761
 #, c-format
 msgid "while opening '%s'"
 msgstr "mientras se abría '%s'"
 
-#: src/strip.c:778
+#: src/strip.c:799
 #, c-format
 msgid "%s: cannot use -o or -f when stripping archive"
 msgstr "%s: no puede utilizarse -o o -f cuando se extrae un archivo"
@@ -6491,265 +6530,265 @@
 #. result = handle_ar (fd, elf, NULL, fname,
 #. preserve_dates ? tv : NULL);
 #.
-#: src/strip.c:790
+#: src/strip.c:811
 #, fuzzy, c-format
 msgid "%s: no support for stripping archive"
 msgstr "%s: no puede utilizarse -o o -f cuando se extrae un archivo"
 
-#: src/strip.c:1001
+#: src/strip.c:1047
 #, c-format
 msgid "cannot open EBL backend"
 msgstr "No se puede abrir el segundo plano EBL"
 
-#: src/strip.c:1046
+#: src/strip.c:1092
 #, fuzzy, c-format
 msgid "cannot get number of phdrs"
 msgstr "no se pudo determinar la cantidad de encabezados de programa: %s"
 
-#: src/strip.c:1060 src/strip.c:1103
+#: src/strip.c:1106 src/strip.c:1149
 #, fuzzy, c-format
 msgid "cannot create new ehdr for file '%s': %s"
 msgstr "no se puede crear fichero nuevo '%s': %s"
 
-#: src/strip.c:1070 src/strip.c:1113
+#: src/strip.c:1116 src/strip.c:1159
 #, fuzzy, c-format
 msgid "cannot create new phdr for file '%s': %s"
 msgstr "no se puede crear fichero nuevo '%s': %s"
 
-#: src/strip.c:1194
+#: src/strip.c:1240
 #, c-format
 msgid "illformed file '%s'"
 msgstr "Fichero illformed '%s'"
 
-#: src/strip.c:1204
+#: src/strip.c:1250
 #, fuzzy, c-format
 msgid "Cannot remove allocated section '%s'"
 msgstr "No se puede asignar sección PLT: %s"
 
-#: src/strip.c:1213
+#: src/strip.c:1259
 #, fuzzy, c-format
 msgid "Cannot both keep and remove section '%s'"
 msgstr "No se puede añadir nueva sección: %s"
 
-#: src/strip.c:1573 src/strip.c:1688
+#: src/strip.c:1624 src/strip.c:1739
 #, c-format
 msgid "while generating output file: %s"
 msgstr "al generar fichero de salida: %s"
 
-#: src/strip.c:1637
+#: src/strip.c:1688
 #, fuzzy, c-format
 msgid "%s: error while updating ELF header: %s"
 msgstr "%s: error al crear encabezamiento ELF: %s"
 
-#: src/strip.c:1646
+#: src/strip.c:1697
 #, fuzzy, c-format
 msgid "%s: error while getting shdrstrndx: %s"
 msgstr "%s: error al crear encabezamiento ELF: %s"
 
-#: src/strip.c:1654 src/strip.c:2535
+#: src/strip.c:1705 src/strip.c:2550
 #, fuzzy, c-format
 msgid "%s: error updating shdrstrndx: %s"
 msgstr "%s: error al crear encabezamiento ELF: %s"
 
-#: src/strip.c:1671
+#: src/strip.c:1722
 #, c-format
 msgid "while preparing output for '%s'"
 msgstr "al preparar salida para '%s'"
 
-#: src/strip.c:1733 src/strip.c:1796
+#: src/strip.c:1784 src/strip.c:1847
 #, c-format
 msgid "while create section header section: %s"
 msgstr "al crear sección de encabezamiento de sección: %s"
 
-#: src/strip.c:1742
+#: src/strip.c:1793
 #, c-format
 msgid "cannot allocate section data: %s"
 msgstr "no se puede asignar espacio para los datos: %s"
 
-#: src/strip.c:1808
+#: src/strip.c:1859
 #, c-format
 msgid "while create section header string table: %s"
 msgstr "al crear tabla de cadenas de encabezamiento de sección: %s"
 
-#: src/strip.c:1815
+#: src/strip.c:1866
 #, fuzzy, c-format
 msgid "no memory to create section header string table"
 msgstr "al crear tabla de cadenas de encabezamiento de sección: %s"
 
-#: src/strip.c:2028
+#: src/strip.c:2079
 #, c-format
 msgid "Cannot remove symbol [%zd] from allocated symbol table [%zd]"
 msgstr ""
 
-#: src/strip.c:2451 src/strip.c:2559
+#: src/strip.c:2466 src/strip.c:2574
 #, c-format
 msgid "while writing '%s': %s"
 msgstr "al escribir '%s': %s"
 
-#: src/strip.c:2462
+#: src/strip.c:2477
 #, c-format
 msgid "while creating '%s'"
 msgstr "al crear '%s'"
 
-#: src/strip.c:2485
+#: src/strip.c:2500
 #, c-format
 msgid "while computing checksum for debug information"
 msgstr "al computar la suma de verificación para información de depuración"
 
-#: src/strip.c:2526
+#: src/strip.c:2541
 #, c-format
 msgid "%s: error while creating ELF header: %s"
 msgstr "%s: error al crear encabezamiento ELF: %s"
 
-#: src/strip.c:2544
+#: src/strip.c:2559
 #, c-format
 msgid "%s: error while reading the file: %s"
 msgstr "%s: error al leer el fichero: %s"
 
-#: src/strip.c:2584 src/strip.c:2604
+#: src/strip.c:2599 src/strip.c:2619
 #, c-format
 msgid "while writing '%s'"
 msgstr "al escribir '%s'"
 
-#: src/strip.c:2641 src/strip.c:2648
+#: src/strip.c:2656 src/strip.c:2663
 #, c-format
 msgid "error while finishing '%s': %s"
 msgstr "Error al terminar '%s': %s"
 
-#: src/strip.c:2665 src/strip.c:2741
+#: src/strip.c:2680 src/strip.c:2756
 #, c-format
 msgid "cannot set access and modification date of '%s'"
 msgstr "no es posible establecer acceso y fecha de modificación de '%s'"
 
-#: src/unstrip.c:70
+#: src/unstrip.c:66
 msgid "Match MODULE against file names, not module names"
 msgstr "Coincidir MODULO con nombres de archivo, no con nombres de módulo"
 
-#: src/unstrip.c:71
+#: src/unstrip.c:67
 msgid "Silently skip unfindable files"
 msgstr "Omitir silenciosamente los archivos perdidos"
 
-#: src/unstrip.c:74
+#: src/unstrip.c:70
 msgid "Place output into FILE"
 msgstr "Colocar salida en FICHERO"
 
-#: src/unstrip.c:76
+#: src/unstrip.c:72
 msgid "Create multiple output files under DIRECTORY"
 msgstr "Crear archivos de salida múltiple bajo DIRECTORIO"
 
-#: src/unstrip.c:77
+#: src/unstrip.c:73
 msgid "Use module rather than file names"
 msgstr "Usar módulo en lugar de nombres de archivo"
 
-#: src/unstrip.c:79
+#: src/unstrip.c:75
 msgid "Create output for modules that have no separate debug information"
 msgstr ""
 "Crear salida para módulos que no tienen información de depuración "
 "independiente"
 
-#: src/unstrip.c:82
+#: src/unstrip.c:78
 msgid "Apply relocations to section contents in ET_REL files"
 msgstr "Aplicar reubicaciones a contenido de sección en archivos ET_REL"
 
-#: src/unstrip.c:84
+#: src/unstrip.c:80
 msgid "Only list module and file names, build IDs"
 msgstr "Solamente listar módulo y nombres de archivo, crear los ID"
 
-#: src/unstrip.c:86
+#: src/unstrip.c:82
 msgid "Force combining files even if some ELF headers don't seem to match"
 msgstr ""
 
-#: src/unstrip.c:130
+#: src/unstrip.c:126
 #, c-format
 msgid "-d option specified twice"
 msgstr "opción -d especificada dos veces"
 
-#: src/unstrip.c:165
+#: src/unstrip.c:161
 #, c-format
 msgid "only one of -o or -d allowed"
 msgstr "Sólo se permite usar -o ó -d "
 
-#: src/unstrip.c:174
+#: src/unstrip.c:170
 #, c-format
 msgid "-n cannot be used with explicit files or -o or -d"
 msgstr "-n no puede utilizarse con archivos explícitos o con -o ó -d"
 
-#: src/unstrip.c:189
+#: src/unstrip.c:185
 #, c-format
 msgid "output directory '%s'"
 msgstr "Directorio de salida '%s'"
 
-#: src/unstrip.c:198
+#: src/unstrip.c:194
 #, c-format
 msgid "exactly two file arguments are required"
 msgstr "dos argumentos de archivos se requieren exactamente"
 
-#: src/unstrip.c:204
+#: src/unstrip.c:200
 #, c-format
 msgid "-m, -a, -R, and -i options not allowed with explicit files"
 msgstr "No se permiten las opciones -m, -a, -R, ni -i con archivos explícitos"
 
-#: src/unstrip.c:217
+#: src/unstrip.c:213
 #, c-format
 msgid "-o or -d is required when using implicit files"
 msgstr "se requiere -o ó -d cuando se utilizan archivos implícitos"
 
-#: src/unstrip.c:240
+#: src/unstrip.c:236
 #, c-format
 msgid "cannot create ELF header: %s"
 msgstr "no se puede crear el encabezamiento ELF: %s"
 
-#: src/unstrip.c:244
+#: src/unstrip.c:240
 #, fuzzy, c-format
 msgid "cannot get shdrstrndx:%s"
 msgstr "No se puede encontrar la sección: %s"
 
-#: src/unstrip.c:248 src/unstrip.c:2081
+#: src/unstrip.c:244 src/unstrip.c:2085
 #, c-format
 msgid "cannot get ELF header: %s"
 msgstr "no se puede leer encabezamiento ELF: %s"
 
-#: src/unstrip.c:258
+#: src/unstrip.c:254
 #, fuzzy, c-format
 msgid "cannot get new zero section: %s"
 msgstr "No se puede encontrar la sección: %s"
 
-#: src/unstrip.c:261
+#: src/unstrip.c:257
 #, fuzzy, c-format
 msgid "cannot update new zero section: %s"
 msgstr "no se puede actualizar reubicación: %s"
 
-#: src/unstrip.c:265
+#: src/unstrip.c:261
 #, c-format
 msgid "cannot copy ELF header: %s"
 msgstr "no se puede copiar encabezamiento ELF: %s"
 
-#: src/unstrip.c:269 src/unstrip.c:2099 src/unstrip.c:2142
+#: src/unstrip.c:265 src/unstrip.c:2103 src/unstrip.c:2146
 #, fuzzy, c-format
 msgid "cannot get number of program headers: %s"
 msgstr "no se pudo determinar la cantidad de encabezados de programa: %s"
 
-#: src/unstrip.c:274 src/unstrip.c:2103
+#: src/unstrip.c:270 src/unstrip.c:2107
 #, c-format
 msgid "cannot create program headers: %s"
 msgstr "No pueden crear encabezamientos de programa: %s"
 
-#: src/unstrip.c:280
+#: src/unstrip.c:276
 #, c-format
 msgid "cannot copy program header: %s"
 msgstr "no puede copiar encabezamiento de programa: %s"
 
-#: src/unstrip.c:290
+#: src/unstrip.c:286
 #, c-format
 msgid "cannot copy section header: %s"
 msgstr "no se puede copiar encabezamiento de sección: %s"
 
-#: src/unstrip.c:293 src/unstrip.c:1703
+#: src/unstrip.c:289 src/unstrip.c:1707
 #, c-format
 msgid "cannot get section data: %s"
 msgstr "no se pueden obtener datos de sección: %s"
 
-#: src/unstrip.c:295 src/unstrip.c:1705
+#: src/unstrip.c:291 src/unstrip.c:1709
 #, c-format
 msgid "cannot copy section data: %s"
 msgstr "no pueden copiar datos de sección: %s"
@@ -6759,187 +6798,187 @@
 msgid "cannot create directory '%s'"
 msgstr "no se puede crear el directorio '%s'"
 
-#: src/unstrip.c:391 src/unstrip.c:651 src/unstrip.c:685 src/unstrip.c:853
-#: src/unstrip.c:1745
+#: src/unstrip.c:393 src/unstrip.c:655 src/unstrip.c:689 src/unstrip.c:857
+#: src/unstrip.c:1749
 #, c-format
 msgid "cannot get symbol table entry: %s"
 msgstr "no se puede obtener entrada de tabla de símbolos: %s"
 
-#: src/unstrip.c:407 src/unstrip.c:654 src/unstrip.c:675 src/unstrip.c:688
-#: src/unstrip.c:1766 src/unstrip.c:1961 src/unstrip.c:1985
+#: src/unstrip.c:409 src/unstrip.c:658 src/unstrip.c:679 src/unstrip.c:692
+#: src/unstrip.c:1770 src/unstrip.c:1965 src/unstrip.c:1989
 #, c-format
 msgid "cannot update symbol table: %s"
 msgstr "no se puede actualizar tabla de símbolos: %s"
 
-#: src/unstrip.c:417
+#: src/unstrip.c:419
 #, c-format
 msgid "cannot update section header: %s"
 msgstr "no se puede actualizar encabezamiento de sección: %s"
 
-#: src/unstrip.c:463 src/unstrip.c:477
+#: src/unstrip.c:465 src/unstrip.c:479
 #, c-format
 msgid "cannot update relocation: %s"
 msgstr "no se puede actualizar reubicación: %s"
 
-#: src/unstrip.c:574
+#: src/unstrip.c:578
 #, c-format
 msgid "cannot get symbol version: %s"
 msgstr "no se puede obtener versión de símbolo: %s"
 
-#: src/unstrip.c:587
+#: src/unstrip.c:591
 #, fuzzy, c-format
 msgid "unexpected section type in [%zu] with sh_link to symtab"
 msgstr "tipo de sección inesperado en [%Zu] con sh_link para symtab"
 
-#: src/unstrip.c:842
+#: src/unstrip.c:846
 #, fuzzy, c-format
 msgid "cannot get symbol section data: %s"
 msgstr "no se pueden obtener datos de sección: %s"
 
-#: src/unstrip.c:844
+#: src/unstrip.c:848
 #, fuzzy, c-format
 msgid "cannot get string section data: %s"
 msgstr "no se pueden obtener datos de sección: %s"
 
-#: src/unstrip.c:861
+#: src/unstrip.c:865
 #, fuzzy, c-format
 msgid "invalid string offset in symbol [%zu]"
 msgstr "compensación de cadena inválida en símbolo [%Zu]"
 
-#: src/unstrip.c:1019 src/unstrip.c:1423
+#: src/unstrip.c:1023 src/unstrip.c:1427
 #, fuzzy, c-format
 msgid "cannot read section [%zu] name: %s"
 msgstr "no se puede leer nombre [%Zu]: %s"
 
-#: src/unstrip.c:1034
+#: src/unstrip.c:1038
 #, fuzzy, c-format
 msgid "bad sh_link for group section: %s"
 msgstr ".debug_line section inválida"
 
-#: src/unstrip.c:1040
+#: src/unstrip.c:1044
 #, fuzzy, c-format
 msgid "couldn't get shdr for group section: %s"
 msgstr "No se puede obtener encabezamiento de sección 0th: %s"
 
-#: src/unstrip.c:1045
+#: src/unstrip.c:1049
 #, fuzzy, c-format
 msgid "bad data for group symbol section: %s"
 msgstr "no se puede obtener sección para símbolos\n"
 
-#: src/unstrip.c:1051
+#: src/unstrip.c:1055
 #, fuzzy, c-format
 msgid "couldn't get symbol for group section: %s"
 msgstr "no se puede obtener versión de símbolo: %s"
 
-#: src/unstrip.c:1056
+#: src/unstrip.c:1060
 #, fuzzy, c-format
 msgid "bad symbol name for group section: %s"
 msgstr "No se puede obtener el encabezamiento de sección %zu: %s"
 
-#: src/unstrip.c:1098 src/unstrip.c:1117 src/unstrip.c:1155
+#: src/unstrip.c:1102 src/unstrip.c:1121 src/unstrip.c:1159
 #, c-format
 msgid "cannot read '.gnu.prelink_undo' section: %s"
 msgstr "no se puede leer sección '.gnu.prelink_undo': %s"
 
-#: src/unstrip.c:1135
+#: src/unstrip.c:1139
 #, c-format
 msgid "overflow with shnum = %zu in '%s' section"
 msgstr ""
 
-#: src/unstrip.c:1146
+#: src/unstrip.c:1150
 #, c-format
 msgid "invalid contents in '%s' section"
 msgstr "contenido inválido en sección '%s'"
 
-#: src/unstrip.c:1202 src/unstrip.c:1549
+#: src/unstrip.c:1206 src/unstrip.c:1553
 #, fuzzy, c-format
 msgid "cannot find matching section for [%zu] '%s'"
 msgstr "no se puede hallar sección coincidente para [%Zu] '%s'"
 
-#: src/unstrip.c:1327 src/unstrip.c:1343 src/unstrip.c:1629 src/unstrip.c:1920
+#: src/unstrip.c:1331 src/unstrip.c:1347 src/unstrip.c:1633 src/unstrip.c:1924
 #, c-format
 msgid "cannot add section name to string table: %s"
 msgstr "no se puede añadir nombre de sección a tabla de cadenas: %s"
 
-#: src/unstrip.c:1352
+#: src/unstrip.c:1356
 #, c-format
 msgid "cannot update section header string table data: %s"
 msgstr ""
 "no se pueden actualizar datos de tabla de cadenas de encabezamiento de "
 "sección: %s"
 
-#: src/unstrip.c:1381 src/unstrip.c:1385
+#: src/unstrip.c:1385 src/unstrip.c:1389
 #, c-format
 msgid "cannot get section header string table section index: %s"
 msgstr ""
 "no se puede obtener índice de sección de tabla de cadenas de encabezamiento "
 "de sección: %s"
 
-#: src/unstrip.c:1389 src/unstrip.c:1393 src/unstrip.c:1644
+#: src/unstrip.c:1393 src/unstrip.c:1397 src/unstrip.c:1648
 #, c-format
 msgid "cannot get section count: %s"
 msgstr "No se puede obtener cuenta de sección: %s"
 
-#: src/unstrip.c:1396
+#: src/unstrip.c:1400
 #, c-format
 msgid "more sections in stripped file than debug file -- arguments reversed?"
 msgstr ""
 "más secciones en el archivo despojado que en el archivo de depuración -- "
 "¿argumentos invertidos?"
 
-#: src/unstrip.c:1400
+#: src/unstrip.c:1404
 #, c-format
 msgid "no sections in stripped file"
 msgstr ""
 
-#: src/unstrip.c:1471 src/unstrip.c:1564
+#: src/unstrip.c:1475 src/unstrip.c:1568
 #, c-format
 msgid "cannot read section header string table: %s"
 msgstr "no se puede obtener tabla de cadenas de encabezamiento de sección: %s"
 
-#: src/unstrip.c:1623
+#: src/unstrip.c:1627
 #, c-format
 msgid "cannot add new section: %s"
 msgstr "No se puede añadir nueva sección: %s"
 
-#: src/unstrip.c:1753
+#: src/unstrip.c:1757
 #, fuzzy, c-format
 msgid "symbol [%zu] has invalid section index"
 msgstr "símbolo [%Zu] tiene índice de sección inválido"
 
-#: src/unstrip.c:1785
+#: src/unstrip.c:1789
 #, fuzzy, c-format
 msgid "group has invalid section index [%zd]"
 msgstr "símbolo [%Zu] tiene índice de sección inválido"
 
-#: src/unstrip.c:2060
+#: src/unstrip.c:2064
 #, c-format
 msgid "cannot read section data: %s"
 msgstr "no se puede leer la sección de datos: %s"
 
-#: src/unstrip.c:2089
+#: src/unstrip.c:2093
 #, c-format
 msgid "cannot update ELF header: %s"
 msgstr "No se puede actualizar encabezamiento ELF: %s"
 
-#: src/unstrip.c:2113
+#: src/unstrip.c:2117
 #, c-format
 msgid "cannot update program header: %s"
 msgstr "no se puede actualizar encabezamiento de programa: %s"
 
-#: src/unstrip.c:2118 src/unstrip.c:2200
+#: src/unstrip.c:2122 src/unstrip.c:2205
 #, c-format
 msgid "cannot write output file: %s"
 msgstr "no se puede escribir al archivo de salida: %s"
 
-#: src/unstrip.c:2169
+#: src/unstrip.c:2173
 #, c-format
 msgid "DWARF data not adjusted for prelinking bias; consider prelink -u"
 msgstr ""
 "datos DWARF no se ajustan para polarización de pre-enlace; considere prelink "
 "-u"
 
-#: src/unstrip.c:2172
+#: src/unstrip.c:2176
 #, c-format
 msgid ""
 "DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u"
@@ -6947,77 +6986,77 @@
 "Datos DWARF en '%s' no se ajustan a polarización de pre-enlace; considere "
 "prelink -u"
 
-#: src/unstrip.c:2191 src/unstrip.c:2242 src/unstrip.c:2254 src/unstrip.c:2340
+#: src/unstrip.c:2196 src/unstrip.c:2247 src/unstrip.c:2259 src/unstrip.c:2345
 #, c-format
 msgid "cannot create ELF descriptor: %s"
 msgstr "no se puede crear un descriptor ELF: %s"
 
-#: src/unstrip.c:2233
+#: src/unstrip.c:2238
 msgid "WARNING: "
 msgstr ""
 
-#: src/unstrip.c:2235
+#: src/unstrip.c:2240
 msgid ", use --force"
 msgstr ""
 
-#: src/unstrip.c:2258
+#: src/unstrip.c:2263
 msgid "ELF header identification (e_ident) different"
 msgstr ""
 
-#: src/unstrip.c:2261
+#: src/unstrip.c:2266
 msgid "ELF header type (e_type) different"
 msgstr ""
 
-#: src/unstrip.c:2264
+#: src/unstrip.c:2269
 msgid "ELF header machine type (e_machine) different"
 msgstr ""
 
-#: src/unstrip.c:2267
+#: src/unstrip.c:2272
 msgid "stripped program header (e_phnum) smaller than unstripped"
 msgstr ""
 
-#: src/unstrip.c:2297
+#: src/unstrip.c:2302
 #, c-format
 msgid "cannot find stripped file for module '%s': %s"
 msgstr "no se puede hallar archivo obtenido para módulo '%s': %s "
 
-#: src/unstrip.c:2301
+#: src/unstrip.c:2306
 #, c-format
 msgid "cannot open stripped file '%s' for module '%s': %s"
 msgstr "No se puede abrir el archivo '%s' obtenido para módulo '%s': %s"
 
-#: src/unstrip.c:2316
+#: src/unstrip.c:2321
 #, c-format
 msgid "cannot find debug file for module '%s': %s"
 msgstr "no puede hallar archivo de depuración para módulo '%s': %su"
 
-#: src/unstrip.c:2320
+#: src/unstrip.c:2325
 #, c-format
 msgid "cannot open debug file '%s' for module '%s': %s"
 msgstr "No puede abrir archivo de depuración '%s' para módulo '%s': %s"
 
-#: src/unstrip.c:2333
+#: src/unstrip.c:2338
 #, c-format
 msgid "module '%s' file '%s' is not stripped"
 msgstr "No se obtuvo el archivo '%s' de módulo '%s' "
 
-#: src/unstrip.c:2364
+#: src/unstrip.c:2369
 #, c-format
 msgid "cannot cache section addresses for module '%s': %s"
 msgstr ""
 "No puede almacenar en cache direcciones de sección para módulo '%s': %s"
 
-#: src/unstrip.c:2497
+#: src/unstrip.c:2501
 #, c-format
 msgid "no matching modules found"
 msgstr "No se encontraron módulos coincidentes"
 
-#: src/unstrip.c:2506
+#: src/unstrip.c:2510
 #, c-format
 msgid "matched more than one module"
 msgstr "coincidió con más de un módulo"
 
-#: src/unstrip.c:2550
+#: src/unstrip.c:2554
 msgid ""
 "STRIPPED-FILE DEBUG-FILE\n"
 "[MODULE...]"
@@ -7025,7 +7064,7 @@
 "STRIPPED-FILE DEBUG-FILE\n"
 "[MODULE...]"
 
-#: src/unstrip.c:2551
+#: src/unstrip.c:2555
 #, fuzzy
 msgid ""
 "Combine stripped files with separate symbols and debug information.\n"
@@ -7082,16 +7121,22 @@
 msgid "Run executable"
 msgstr ""
 
-#: tests/dwflmodtest.c:213
+#: tests/dwflmodtest.c:209
 #, fuzzy
 msgid "Additionally show function names"
 msgstr "También mostrar nombres de función"
 
-#: tests/dwflmodtest.c:214
+#: tests/dwflmodtest.c:210
 msgid "Show instances of inlined functions"
 msgstr ""
 
 #, fuzzy
+#~ msgid ""
+#~ " [%6tx] base address\n"
+#~ "          "
+#~ msgstr " [%6tx]   (dirección base) %s\n"
+
+#, fuzzy
 #~ msgid "%s: error getting zero section: %s"
 #~ msgstr "%s: error al leer el fichero: %s"
 
diff --git a/po/fr.po b/po/fr.po
deleted file mode 100644
index 1a7a3f8..0000000
--- a/po/fr.po
+++ /dev/null
@@ -1,5665 +0,0 @@
-# Translations template for ELFUTILS.
-# Copyright (C) 2009 ORGANIZATION
-# This file is distributed under the same license as the elfutils package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: elfutils.master.fr\n"
-"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2010-04-21 07:41-0700\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <fedora-trans-fr@redhat.com>\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:2822
-#: src/readelf.c:3161 src/unstrip.c:2087 src/unstrip.c:2295
-#, c-format
-msgid "memory exhausted"
-msgstr ""
-
-#: libasm/asm_error.c:62 libdw/dwarf_error.c:79 libdwfl/libdwflP.h:70
-#: libelf/elf_error.c:81
-msgid "no error"
-msgstr ""
-
-#: libasm/asm_error.c:63 libdw/dwarf_error.c:88 libdwfl/libdwflP.h:72
-#: libelf/elf_error.c:112
-msgid "out of memory"
-msgstr ""
-
-#: libasm/asm_error.c:64 src/ldgeneric.c:2687
-#, c-format
-msgid "cannot create output file"
-msgstr ""
-
-#: libasm/asm_error.c:65
-msgid "invalid parameter"
-msgstr ""
-
-#: libasm/asm_error.c:66
-msgid "cannot change mode of output file"
-msgstr ""
-
-#: libasm/asm_error.c:67 src/ldgeneric.c:7001
-#, c-format
-msgid "cannot rename output file"
-msgstr ""
-
-#: libasm/asm_error.c:68
-msgid "duplicate symbol"
-msgstr ""
-
-#: libasm/asm_error.c:69
-msgid "invalid section type for operation"
-msgstr ""
-
-#: libasm/asm_error.c:70
-msgid "error during output of data"
-msgstr ""
-
-#: libasm/asm_error.c:71
-msgid "no backend support available"
-msgstr ""
-
-#: libasm/asm_error.c:81 libdw/dwarf_error.c:80 libdwfl/libdwflP.h:71
-#: libelf/elf_error.c:84
-msgid "unknown error"
-msgstr ""
-
-#: libdw/dwarf_error.c:81
-msgid "invalid access"
-msgstr ""
-
-#: libdw/dwarf_error.c:82
-msgid "no regular file"
-msgstr ""
-
-#: libdw/dwarf_error.c:83
-msgid "I/O error"
-msgstr ""
-
-#: libdw/dwarf_error.c:84
-msgid "invalid ELF file"
-msgstr ""
-
-#: libdw/dwarf_error.c:85
-msgid "no DWARF information"
-msgstr ""
-
-#: libdw/dwarf_error.c:86
-msgid "no ELF file"
-msgstr ""
-
-#: libdw/dwarf_error.c:87
-msgid "cannot get ELF header"
-msgstr ""
-
-#: libdw/dwarf_error.c:89
-msgid "not implemented"
-msgstr ""
-
-#: libdw/dwarf_error.c:90 libelf/elf_error.c:128 libelf/elf_error.c:176
-msgid "invalid command"
-msgstr ""
-
-#: libdw/dwarf_error.c:91
-msgid "invalid version"
-msgstr ""
-
-#: libdw/dwarf_error.c:92
-msgid "invalid file"
-msgstr ""
-
-#: libdw/dwarf_error.c:93
-msgid "no entries found"
-msgstr ""
-
-#: libdw/dwarf_error.c:94
-msgid "invalid DWARF"
-msgstr ""
-
-#: libdw/dwarf_error.c:95
-msgid "no string data"
-msgstr ""
-
-#: libdw/dwarf_error.c:96
-msgid "no address value"
-msgstr ""
-
-#: libdw/dwarf_error.c:97
-msgid "no constant value"
-msgstr ""
-
-#: libdw/dwarf_error.c:98
-msgid "no reference value"
-msgstr ""
-
-#: libdw/dwarf_error.c:99
-msgid "invalid reference value"
-msgstr ""
-
-#: libdw/dwarf_error.c:100
-msgid ".debug_line section missing"
-msgstr ""
-
-#: libdw/dwarf_error.c:101
-msgid "invalid .debug_line section"
-msgstr ""
-
-#: libdw/dwarf_error.c:102
-msgid "debug information too big"
-msgstr ""
-
-#: libdw/dwarf_error.c:103
-msgid "invalid DWARF version"
-msgstr ""
-
-#: libdw/dwarf_error.c:104
-msgid "invalid directory index"
-msgstr ""
-
-#: libdw/dwarf_error.c:105 libdwfl/libdwflP.h:91
-msgid "address out of range"
-msgstr ""
-
-#: 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 ""
-
-#: libdw/dwarf_error.c:109
-msgid "invalid address range index"
-msgstr ""
-
-#: libdw/dwarf_error.c:110 libdwfl/libdwflP.h:92
-msgid "no matching address range"
-msgstr ""
-
-#: libdw/dwarf_error.c:111
-msgid "no flag value"
-msgstr ""
-
-#: libdw/dwarf_error.c:112 libelf/elf_error.c:253
-msgid "invalid offset"
-msgstr ""
-
-#: libdw/dwarf_error.c:113
-msgid ".debug_ranges section missing"
-msgstr ""
-
-#: libdw/dwarf_error.c:114
-msgid "invalid CFI section"
-msgstr ""
-
-#: libdwfl/argp-std.c:67 src/unstrip.c:2237
-msgid "Input selection options:"
-msgstr ""
-
-#: libdwfl/argp-std.c:68
-msgid "Find addresses in FILE"
-msgstr ""
-
-#: libdwfl/argp-std.c:70
-msgid "Find addresses from signatures found in COREFILE"
-msgstr ""
-
-#: 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 ""
-
-#: libdwfl/argp-std.c:78
-msgid "Kernel with all modules"
-msgstr ""
-
-#: libdwfl/argp-std.c:80
-msgid "Search path for separate debuginfo files"
-msgstr ""
-
-#: libdwfl/argp-std.c:163
-msgid "only one of -e, -p, -k, -K, or --core allowed"
-msgstr ""
-
-#: libdwfl/argp-std.c:223
-#, c-format
-msgid "cannot read ELF core file: %s"
-msgstr ""
-
-#: libdwfl/argp-std.c:241
-msgid "No modules recognized in core file"
-msgstr ""
-
-#: libdwfl/argp-std.c:253
-msgid "cannot load kernel symbols"
-msgstr ""
-
-#: libdwfl/argp-std.c:257
-msgid "cannot find kernel modules"
-msgstr ""
-
-#: libdwfl/argp-std.c:271
-msgid "cannot find kernel or modules"
-msgstr ""
-
-#: libdwfl/libdwflP.h:73
-msgid "See errno"
-msgstr ""
-
-#: libdwfl/libdwflP.h:74
-msgid "See elf_errno"
-msgstr ""
-
-#: libdwfl/libdwflP.h:75
-msgid "See dwarf_errno"
-msgstr ""
-
-#: libdwfl/libdwflP.h:76
-msgid "See ebl_errno (XXX missing)"
-msgstr ""
-
-#: libdwfl/libdwflP.h:77
-msgid "gzip decompression failed"
-msgstr ""
-
-#: libdwfl/libdwflP.h:78
-msgid "bzip2 decompression failed"
-msgstr ""
-
-#: libdwfl/libdwflP.h:79
-msgid "LZMA decompression failed"
-msgstr ""
-
-#: libdwfl/libdwflP.h:80
-msgid "no support library found for machine"
-msgstr ""
-
-#: libdwfl/libdwflP.h:81
-msgid "Callbacks missing for ET_REL file"
-msgstr ""
-
-#: libdwfl/libdwflP.h:82
-msgid "Unsupported relocation type"
-msgstr ""
-
-#: libdwfl/libdwflP.h:83
-msgid "r_offset is bogus"
-msgstr ""
-
-#: libdwfl/libdwflP.h:84 libelf/elf_error.c:132 libelf/elf_error.c:192
-msgid "offset out of range"
-msgstr ""
-
-#: libdwfl/libdwflP.h:85
-msgid "relocation refers to undefined symbol"
-msgstr ""
-
-#: libdwfl/libdwflP.h:86
-msgid "Callback returned failure"
-msgstr ""
-
-#: libdwfl/libdwflP.h:87
-msgid "No DWARF information found"
-msgstr ""
-
-#: libdwfl/libdwflP.h:88
-msgid "No symbol table found"
-msgstr ""
-
-#: libdwfl/libdwflP.h:89
-msgid "No ELF program headers"
-msgstr ""
-
-#: libdwfl/libdwflP.h:90
-msgid "address range overlaps an existing module"
-msgstr ""
-
-#: libdwfl/libdwflP.h:93
-msgid "image truncated"
-msgstr ""
-
-#: libdwfl/libdwflP.h:94
-msgid "ELF file opened"
-msgstr ""
-
-#: libdwfl/libdwflP.h:95
-msgid "not a valid ELF file"
-msgstr ""
-
-#: libdwfl/libdwflP.h:96
-msgid "cannot handle DWARF type description"
-msgstr ""
-
-#: libebl/eblbackendname.c:63
-msgid "No backend"
-msgstr ""
-
-#: libebl/eblcorenotetypename.c:107 libebl/eblobjecttypename.c:78
-#: libebl/eblobjnotetypename.c:86 libebl/eblosabiname.c:98
-#: libebl/eblsectionname.c:110 libebl/eblsectiontypename.c:140
-#: libebl/eblsegmenttypename.c:104
-msgid "<unknown>"
-msgstr ""
-
-#: libebl/ebldynamictagname.c:126
-#, c-format
-msgid "<unknown>: %#<PRIx64>"
-msgstr ""
-
-#: libebl/eblobjnote.c:76
-#, c-format
-msgid "    Build ID: "
-msgstr ""
-
-#: libebl/eblobjnote.c:87
-#, c-format
-msgid "    Linker version: %.*s\n"
-msgstr ""
-
-#: libebl/eblobjnote.c:136
-#, c-format
-msgid "    OS: %s, ABI: "
-msgstr ""
-
-#: libebl/eblosabiname.c:95
-msgid "Stand alone"
-msgstr ""
-
-#: libebl/eblsymbolbindingname.c:92 libebl/eblsymboltypename.c:98
-#, c-format
-msgid "<unknown>: %d"
-msgstr ""
-
-#: libelf/elf_error.c:88
-msgid "unknown version"
-msgstr ""
-
-#: libelf/elf_error.c:92
-msgid "unknown type"
-msgstr ""
-
-#: 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:4779
-#, c-format
-msgid "invalid encoding"
-msgstr ""
-
-#: libelf/elf_error.c:116
-msgid "invalid file descriptor"
-msgstr ""
-
-#: libelf/elf_error.c:120
-msgid "invalid operation"
-msgstr ""
-
-#: libelf/elf_error.c:124
-msgid "ELF version not set"
-msgstr ""
-
-#: libelf/elf_error.c:136
-msgid "invalid fmag field in archive header"
-msgstr ""
-
-#: libelf/elf_error.c:140
-msgid "invalid archive file"
-msgstr ""
-
-#: 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 ""
-
-#: libelf/elf_error.c:156
-msgid "cannot write data to file"
-msgstr ""
-
-#: 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 file descriptor 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:6242 src/readelf.c:6343
-#, c-format
-msgid "invalid data"
-msgstr ""
-
-#: libelf/elf_error.c:212
-msgid "unknown data encoding"
-msgstr ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/addr2line.c:73
-msgid "Treat addresses as offsets relative to NAME section."
-msgstr ""
-
-#: src/addr2line.c:75 src/elfcmp.c:75 src/findtextrel.c:75 src/nm.c:103
-#: src/strings.c:83
-msgid "Miscellaneous:"
-msgstr ""
-
-#: src/addr2line.c:84
-msgid ""
-"Locate source files and line information for ADDRs (in a.out by default)."
-msgstr ""
-
-#: src/addr2line.c:88
-msgid "[ADDR...]"
-msgstr ""
-
-#: src/addr2line.c:185 src/ar.c:289 src/elfcmp.c:555 src/elflint.c:239
-#: src/findtextrel.c:170 src/ld.c:957 src/nm.c:253 src/objdump.c:181
-#: src/ranlib.c:136 src/readelf.c:449 src/size.c:219 src/strings.c:227
-#: src/strip.c:204 src/unstrip.c:234
-#, 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 ""
-
-#: src/addr2line.c:190 src/ar.c:294 src/elfcmp.c:560 src/elflint.c:244
-#: src/findtextrel.c:175 src/ld.c:962 src/nm.c:258 src/objdump.c:186
-#: src/ranlib.c:141 src/readelf.c:454 src/size.c:224 src/strings.c:232
-#: src/strip.c:209 src/unstrip.c:239
-#, c-format
-msgid "Written by %s.\n"
-msgstr ""
-
-#: src/addr2line.c:405
-#, c-format
-msgid "Section syntax requires exactly one module"
-msgstr ""
-
-#: src/addr2line.c:428
-#, c-format
-msgid "offset %#<PRIxMAX> lies outside section '%s'"
-msgstr ""
-
-#: src/addr2line.c:461
-#, c-format
-msgid "cannot find symbol '%s'"
-msgstr ""
-
-#: src/addr2line.c:466
-#, c-format
-msgid "offset %#<PRIxMAX> lies outside contents of '%s'"
-msgstr ""
-
-#: src/ar.c:76
-msgid "Commands:"
-msgstr ""
-
-#: src/ar.c:77
-msgid "Delete files from archive."
-msgstr ""
-
-#: src/ar.c:78
-msgid "Move files in archive."
-msgstr ""
-
-#: src/ar.c:79
-msgid "Print files in archive."
-msgstr ""
-
-#: src/ar.c:80
-msgid "Quick append files to archive."
-msgstr ""
-
-#: src/ar.c:82
-msgid "Replace existing or insert new file into archive."
-msgstr ""
-
-#: src/ar.c:83
-msgid "Display content of archive."
-msgstr ""
-
-#: src/ar.c:84
-msgid "Extract files from archive."
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:91
-msgid "Allow filename to be truncated if necessary."
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:96
-msgid "Insert file before [MEMBER]."
-msgstr ""
-
-#: src/ar.c:97
-msgid "Same as -b."
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:107
-msgid "Create, modify, and extract from archives."
-msgstr ""
-
-#: src/ar.c:110
-msgid "[MEMBER] [COUNT] ARCHIVE [FILE...]"
-msgstr ""
-
-#: src/ar.c:192
-#, c-format
-msgid "'a', 'b', and 'i' are only allowed with the 'm' and 'r' options"
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:230
-#, c-format
-msgid "invalid COUNT parameter %s"
-msgstr ""
-
-#: src/ar.c:237
-#, c-format
-msgid "'%c' is only meaningful with the 'x' option"
-msgstr ""
-
-#: src/ar.c:243
-#, c-format
-msgid "archive name required"
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:414
-#, c-format
-msgid "cannot open archive '%s': %s"
-msgstr ""
-
-#: src/ar.c:418
-#, c-format
-msgid "%s: not an archive file"
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:487 src/ar.c:929 src/ar.c:1129
-#, c-format
-msgid "cannot create hash table"
-msgstr ""
-
-#: src/ar.c:494 src/ar.c:936 src/ar.c:1138
-#, c-format
-msgid "cannot insert into hash table"
-msgstr ""
-
-#: src/ar.c:502 src/ranlib.c:176
-#, c-format
-msgid "cannot stat '%s'"
-msgstr ""
-
-#: src/ar.c:598
-#, c-format
-msgid "cannot read content of %s: %s"
-msgstr ""
-
-#: src/ar.c:641
-#, c-format
-msgid "cannot open %.*s"
-msgstr ""
-
-#: src/ar.c:663
-#, c-format
-msgid "failed to write %s"
-msgstr ""
-
-#: src/ar.c:675
-#, c-format
-msgid "cannot change mode of %s"
-msgstr ""
-
-#: src/ar.c:691
-#, c-format
-msgid "cannot change modification time of %s"
-msgstr ""
-
-#: src/ar.c:737
-#, c-format
-msgid "cannot rename temporary file to %.*s"
-msgstr ""
-
-#: src/ar.c:773 src/ar.c:1021 src/ar.c:1419 src/ranlib.c:250
-#, c-format
-msgid "cannot create new file"
-msgstr ""
-
-#: src/ar.c:1220
-#, c-format
-msgid "position member %s not found"
-msgstr ""
-
-#: src/ar.c:1230
-#, c-format
-msgid "%s: no entry %s in archive!\n"
-msgstr ""
-
-#: src/ar.c:1259 src/ldgeneric.c:519 src/objdump.c:257
-#, c-format
-msgid "cannot open %s"
-msgstr ""
-
-#: src/ar.c:1264
-#, c-format
-msgid "cannot stat %s"
-msgstr ""
-
-#: src/ar.c:1270
-#, c-format
-msgid "%s is no regular file"
-msgstr ""
-
-#: src/ar.c:1283
-#, c-format
-msgid "cannot get ELF descriptor for %s: %s\n"
-msgstr ""
-
-#: src/ar.c:1302
-#, c-format
-msgid "cannot read %s: %s"
-msgstr ""
-
-#: src/arlib.c:215
-#, c-format
-msgid "the archive '%s' is too large"
-msgstr ""
-
-#: src/arlib.c:228
-#, c-format
-msgid "cannot read ELF header of %s(%s): %s"
-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 ""
-
-#: src/elfcmp.c:80
-msgid "Compare relevant parts of two ELF files for equality."
-msgstr ""
-
-#: 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:198 src/elfcmp.c:201
-#, c-format
-msgid "cannot get section count of '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:206
-#, c-format
-msgid "%s %s diff: section count"
-msgstr ""
-
-#: src/elfcmp.c:214 src/elfcmp.c:217
-#, c-format
-msgid "cannot get program header count of '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:222
-#, c-format
-msgid "%s %s diff: program header count"
-msgstr ""
-
-#: src/elfcmp.c:281
-#, c-format
-msgid "%s %s differ: section header"
-msgstr ""
-
-#: src/elfcmp.c:309 src/elfcmp.c:315
-#, c-format
-msgid "cannot get content of section %zu in '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:331 src/elfcmp.c:337
-#, c-format
-msgid "cannot get symbol in '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:358
-#, c-format
-msgid "%s %s differ: symbol table [%zu]"
-msgstr ""
-
-#: src/elfcmp.c:361
-#, c-format
-msgid "%s %s differ: symbol table [%zu,%zu]"
-msgstr ""
-
-#: src/elfcmp.c:409
-#, c-format
-msgid "%s %s differ: section [%zu] '%s' content"
-msgstr ""
-
-#: src/elfcmp.c:413
-#, c-format
-msgid "%s %s differ: section [%zu,%zu] '%s' content"
-msgstr ""
-
-#: src/elfcmp.c:429
-#, c-format
-msgid "%s %s differ: unequal amount of important sections"
-msgstr ""
-
-#: src/elfcmp.c:463 src/elfcmp.c:468
-#, c-format
-msgid "cannot load data of '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:487 src/elfcmp.c:493
-#, c-format
-msgid "cannot get program header entry %d of '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:499
-#, c-format
-msgid "%s %s differ: program header %d"
-msgstr ""
-
-#: src/elfcmp.c:524
-#, c-format
-msgid "%s %s differ: gap"
-msgstr ""
-
-#: src/elfcmp.c:583
-#, c-format
-msgid "Invalid value '%s' for --gaps parameter."
-msgstr ""
-
-#: src/elfcmp.c:607 src/findtextrel.c:229 src/ldgeneric.c:1767
-#: src/ldgeneric.c:4257 src/nm.c:363 src/ranlib.c:169 src/size.c:301
-#: src/strings.c:183 src/strip.c:433 src/strip.c:468 src/unstrip.c:1900
-#: src/unstrip.c:1929
-#, c-format
-msgid "cannot open '%s'"
-msgstr ""
-
-#: src/elfcmp.c:611 src/findtextrel.c:236 src/ranlib.c:186
-#, c-format
-msgid "cannot create ELF descriptor for '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:616
-#, c-format
-msgid "cannot create EBL descriptor for '%s'"
-msgstr ""
-
-#: src/elfcmp.c:634
-#, c-format
-msgid "cannot get section header of section %zu: %s"
-msgstr ""
-
-#: src/elfcmp.c:644
-#, c-format
-msgid "cannot get content of section %zu: %s"
-msgstr ""
-
-#: src/elfcmp.c:654 src/elfcmp.c:668
-#, c-format
-msgid "cannot get relocation: %s"
-msgstr ""
-
-#: src/elflint.c:72
-msgid "Be extremely strict, flag level 2 features."
-msgstr ""
-
-#: src/elflint.c:73
-msgid "Do not print anything if successful"
-msgstr ""
-
-#: src/elflint.c:74
-msgid "Binary is a separate debuginfo file"
-msgstr ""
-
-#: src/elflint.c:76
-msgid ""
-"Binary has been created with GNU ld and is therefore known to be broken in "
-"certain ways"
-msgstr ""
-
-#: src/elflint.c:82
-msgid "Pedantic checking of ELF files compliance with gABI/psABI spec."
-msgstr ""
-
-#: src/elflint.c:86 src/readelf.c:118
-msgid "FILE..."
-msgstr ""
-
-#: src/elflint.c:159 src/readelf.c:272
-#, c-format
-msgid "cannot open input file"
-msgstr ""
-
-#: src/elflint.c:166
-#, c-format
-msgid "cannot generate Elf descriptor: %s\n"
-msgstr ""
-
-#: src/elflint.c:185
-#, c-format
-msgid "error while closing Elf descriptor: %s\n"
-msgstr ""
-
-#: src/elflint.c:189
-msgid "No errors"
-msgstr ""
-
-#: src/elflint.c:223 src/readelf.c:425
-msgid "Missing file name.\n"
-msgstr ""
-
-#: src/elflint.c:302
-#, c-format
-msgid " error while freeing sub-ELF descriptor: %s\n"
-msgstr ""
-
-#: src/elflint.c:310
-#, c-format
-msgid "Not an ELF file - it has the wrong magic bytes at the start\n"
-msgstr ""
-
-#: src/elflint.c:370
-#, c-format
-msgid "e_ident[%d] == %d is no known class\n"
-msgstr ""
-
-#: src/elflint.c:375
-#, c-format
-msgid "e_ident[%d] == %d is no known data encoding\n"
-msgstr ""
-
-#: src/elflint.c:379
-#, c-format
-msgid "unknown ELF header version number e_ident[%d] == %d\n"
-msgstr ""
-
-#: src/elflint.c:385
-#, c-format
-msgid "unsupported OS ABI e_ident[%d] == '%s'\n"
-msgstr ""
-
-#: src/elflint.c:391
-#, c-format
-msgid "unsupport ABI version e_ident[%d] == %d\n"
-msgstr ""
-
-#: src/elflint.c:396
-#, c-format
-msgid "e_ident[%zu] is not zero\n"
-msgstr ""
-
-#: src/elflint.c:401
-#, c-format
-msgid "unknown object file type %d\n"
-msgstr ""
-
-#: src/elflint.c:408
-#, c-format
-msgid "unknown machine type %d\n"
-msgstr ""
-
-#: src/elflint.c:412
-#, c-format
-msgid "unknown object file version\n"
-msgstr ""
-
-#: src/elflint.c:418
-#, c-format
-msgid "invalid program header offset\n"
-msgstr ""
-
-#: src/elflint.c:420
-#, c-format
-msgid "executables and DSOs cannot have zero program header offset\n"
-msgstr ""
-
-#: src/elflint.c:424
-#, c-format
-msgid "invalid number of program header entries\n"
-msgstr ""
-
-#: src/elflint.c:432
-#, c-format
-msgid "invalid section header table offset\n"
-msgstr ""
-
-#: src/elflint.c:435
-#, c-format
-msgid "section header table must be present\n"
-msgstr ""
-
-#: src/elflint.c:449
-#, c-format
-msgid "invalid number of section header table entries\n"
-msgstr ""
-
-#: src/elflint.c:466
-#, c-format
-msgid "invalid section header index\n"
-msgstr ""
-
-#: src/elflint.c:480
-#, c-format
-msgid "invalid number of program header table entries\n"
-msgstr ""
-
-#: src/elflint.c:489
-#, c-format
-msgid "invalid machine flags: %s\n"
-msgstr ""
-
-#: src/elflint.c:496 src/elflint.c:513
-#, c-format
-msgid "invalid ELF header size: %hd\n"
-msgstr ""
-
-#: src/elflint.c:499 src/elflint.c:516
-#, c-format
-msgid "invalid program header size: %hd\n"
-msgstr ""
-
-#: src/elflint.c:502 src/elflint.c:519
-#, c-format
-msgid "invalid program header position or size\n"
-msgstr ""
-
-#: src/elflint.c:505 src/elflint.c:522
-#, c-format
-msgid "invalid section header size: %hd\n"
-msgstr ""
-
-#: src/elflint.c:508 src/elflint.c:525
-#, c-format
-msgid "invalid section header position or size\n"
-msgstr ""
-
-#: src/elflint.c:569
-#, c-format
-msgid ""
-"section [%2d] '%s': section with SHF_GROUP flag set not part of a section "
-"group\n"
-msgstr ""
-
-#: src/elflint.c:573
-#, c-format
-msgid ""
-"section [%2d] '%s': section group [%2zu] '%s' does not precede group member\n"
-msgstr ""
-
-#: src/elflint.c:589 src/elflint.c:1432 src/elflint.c:1482 src/elflint.c:1591
-#: src/elflint.c:2185 src/elflint.c:2699 src/elflint.c:2860 src/elflint.c:2990
-#: src/elflint.c:3162 src/elflint.c:4062
-#, c-format
-msgid "section [%2d] '%s': cannot get section data\n"
-msgstr ""
-
-#: src/elflint.c:602 src/elflint.c:1598
-#, 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:625
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol table cannot have more than one extended index "
-"section\n"
-msgstr ""
-
-#: src/elflint.c:636
-#, c-format
-msgid "section [%2u] '%s': entry size is does not match ElfXX_Sym\n"
-msgstr ""
-
-#: src/elflint.c:645
-#, c-format
-msgid "section [%2d] '%s': cannot get symbol %d: %s\n"
-msgstr ""
-
-#: src/elflint.c:650 src/elflint.c:653 src/elflint.c:656 src/elflint.c:659
-#: src/elflint.c:662 src/elflint.c:665
-#, c-format
-msgid "section [%2d] '%s': '%s' in zeroth entry not zero\n"
-msgstr ""
-
-#: src/elflint.c:668
-#, c-format
-msgid "section [%2d] '%s': XINDEX for zeroth entry not zero\n"
-msgstr ""
-
-#: src/elflint.c:678
-#, c-format
-msgid "section [%2d] '%s': cannot get symbol %zu: %s\n"
-msgstr ""
-
-#: src/elflint.c:687
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: invalid name value\n"
-msgstr ""
-
-#: src/elflint.c:700
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: too large section index but no extended "
-"section index section\n"
-msgstr ""
-
-#: src/elflint.c:706
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: XINDEX used for index which would fit in "
-"st_shndx (%<PRIu32>)\n"
-msgstr ""
-
-#: src/elflint.c:718
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: invalid section index\n"
-msgstr ""
-
-#: src/elflint.c:726
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown type\n"
-msgstr ""
-
-#: src/elflint.c:732
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown symbol binding\n"
-msgstr ""
-
-#: src/elflint.c:737
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unique symbol not of object type\n"
-msgstr ""
-
-#: src/elflint.c:745
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: COMMON only allowed in relocatable files\n"
-msgstr ""
-
-#: src/elflint.c:749
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: local COMMON symbols are nonsense\n"
-msgstr ""
-
-#: src/elflint.c:753
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: function in COMMON section is nonsense\n"
-msgstr ""
-
-#: src/elflint.c:785
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: st_value out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:791 src/elflint.c:816 src/elflint.c:859
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu does not fit completely in referenced section "
-"[%2d] '%s'\n"
-msgstr ""
-
-#: src/elflint.c:800
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: referenced section [%2d] '%s' does not have "
-"SHF_TLS flag set\n"
-msgstr ""
-
-#: src/elflint.c:810 src/elflint.c:852
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: st_value out of bounds of referenced section "
-"[%2d] '%s'\n"
-msgstr ""
-
-#: src/elflint.c:837
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: TLS symbol but no TLS program header entry\n"
-msgstr ""
-
-#: src/elflint.c:845
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: st_value short of referenced section [%2d] '%"
-"s'\n"
-msgstr ""
-
-#: src/elflint.c:872
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: local symbol outside range described in "
-"sh_info\n"
-msgstr ""
-
-#: src/elflint.c:879
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: non-local symbol outside range described in "
-"sh_info\n"
-msgstr ""
-
-#: src/elflint.c:886
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: non-local section symbol\n"
-msgstr ""
-
-#: src/elflint.c:936
-#, c-format
-msgid ""
-"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to bad section [%"
-"2d]\n"
-msgstr ""
-
-#: src/elflint.c:943
-#, c-format
-msgid ""
-"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to section [%2d] '%"
-"s'\n"
-msgstr ""
-
-#: src/elflint.c:959
-#, c-format
-msgid ""
-"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol value %#<PRIx64> does not "
-"match %s section address %#<PRIx64>\n"
-msgstr ""
-
-#: src/elflint.c:966
-#, c-format
-msgid ""
-"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol size %<PRIu64> does not "
-"match %s section size %<PRIu64>\n"
-msgstr ""
-
-#: src/elflint.c:974
-#, c-format
-msgid ""
-"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol present, but no .got "
-"section\n"
-msgstr ""
-
-#: src/elflint.c:990
-#, c-format
-msgid ""
-"section [%2d] '%s': _DYNAMIC_ symbol value %#<PRIx64> does not match dynamic "
-"segment address %#<PRIx64>\n"
-msgstr ""
-
-#: src/elflint.c:997
-#, c-format
-msgid ""
-"section [%2d] '%s': _DYNAMIC symbol size %<PRIu64> does not match dynamic "
-"segment size %<PRIu64>\n"
-msgstr ""
-
-#: src/elflint.c:1010
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: symbol in dynamic symbol table with non-"
-"default visibility\n"
-msgstr ""
-
-#: src/elflint.c:1014
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown bit set in st_other\n"
-msgstr ""
-
-#: src/elflint.c:1059
-#, c-format
-msgid "section [%2d] '%s': DT_RELCOUNT used for this RELA section\n"
-msgstr ""
-
-#: src/elflint.c:1068 src/elflint.c:1120
-#, c-format
-msgid "section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"
-msgstr ""
-
-#: src/elflint.c:1093 src/elflint.c:1145
-#, c-format
-msgid ""
-"section [%2d] '%s': relative relocations after index %d as specified by "
-"DT_RELCOUNT\n"
-msgstr ""
-
-#: src/elflint.c:1099 src/elflint.c:1151
-#, c-format
-msgid ""
-"section [%2d] '%s': non-relative relocation at index %zu; DT_RELCOUNT "
-"specified %d relative relocations\n"
-msgstr ""
-
-#: src/elflint.c:1111
-#, c-format
-msgid "section [%2d] '%s': DT_RELACOUNT used for this REL section\n"
-msgstr ""
-
-#: src/elflint.c:1193
-#, c-format
-msgid "section [%2d] '%s': invalid destination section index\n"
-msgstr ""
-
-#: src/elflint.c:1206
-#, c-format
-msgid "section [%2d] '%s': invalid destination section type\n"
-msgstr ""
-
-#: src/elflint.c:1214
-#, c-format
-msgid "section [%2d] '%s': sh_info should be zero\n"
-msgstr ""
-
-#: src/elflint.c:1221
-#, c-format
-msgid "section [%2d] '%s': no relocations for merge-able sections possible\n"
-msgstr ""
-
-#: src/elflint.c:1228
-#, c-format
-msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n"
-msgstr ""
-
-#: src/elflint.c:1288
-#, c-format
-msgid "text relocation flag set but there is no read-only segment\n"
-msgstr ""
-
-#: src/elflint.c:1315
-#, c-format
-msgid "section [%2d] '%s': relocation %zu: invalid type\n"
-msgstr ""
-
-#: src/elflint.c:1323
-#, c-format
-msgid ""
-"section [%2d] '%s': relocation %zu: relocation type invalid for the file "
-"type\n"
-msgstr ""
-
-#: src/elflint.c:1331
-#, c-format
-msgid "section [%2d] '%s': relocation %zu: invalid symbol index\n"
-msgstr ""
-
-#: src/elflint.c:1349
-#, c-format
-msgid ""
-"section [%2d] '%s': relocation %zu: only symbol '_GLOBAL_OFFSET_TABLE_' can "
-"be used with %s\n"
-msgstr ""
-
-#: src/elflint.c:1366
-#, c-format
-msgid "section [%2d] '%s': relocation %zu: offset out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:1381
-#, c-format
-msgid ""
-"section [%2d] '%s': relocation %zu: copy relocation against symbol of type %"
-"s\n"
-msgstr ""
-
-#: src/elflint.c:1402
-#, c-format
-msgid ""
-"section [%2d] '%s': relocation %zu: read-only section modified but text "
-"relocation flag not set\n"
-msgstr ""
-
-#: src/elflint.c:1417
-#, c-format
-msgid "section [%2d] '%s': relocations are against loaded and unloaded data\n"
-msgstr ""
-
-#: src/elflint.c:1456 src/elflint.c:1506
-#, c-format
-msgid "section [%2d] '%s': cannot get relocation %zu: %s\n"
-msgstr ""
-
-#: src/elflint.c:1586
-#, c-format
-msgid "more than one dynamic section present\n"
-msgstr ""
-
-#: src/elflint.c:1604
-#, c-format
-msgid "section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"
-msgstr ""
-
-#: src/elflint.c:1609 src/elflint.c:1901
-#, c-format
-msgid "section [%2d] '%s': sh_info not zero\n"
-msgstr ""
-
-#: src/elflint.c:1619
-#, c-format
-msgid "section [%2d] '%s': cannot get dynamic section entry %zu: %s\n"
-msgstr ""
-
-#: src/elflint.c:1627
-#, c-format
-msgid "section [%2d] '%s': non-DT_NULL entries follow DT_NULL entry\n"
-msgstr ""
-
-#: src/elflint.c:1634
-#, c-format
-msgid "section [%2d] '%s': entry %zu: unknown tag\n"
-msgstr ""
-
-#: src/elflint.c:1645
-#, c-format
-msgid "section [%2d] '%s': entry %zu: more than one entry with tag %s\n"
-msgstr ""
-
-#: src/elflint.c:1655
-#, c-format
-msgid "section [%2d] '%s': entry %zu: level 2 tag %s used\n"
-msgstr ""
-
-#: src/elflint.c:1673
-#, c-format
-msgid ""
-"section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n"
-msgstr ""
-
-#: src/elflint.c:1695
-#, 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:1738
-#, c-format
-msgid ""
-"section [%2d] '%s': entry %zu: %s value must point into loaded segment\n"
-msgstr ""
-
-#: src/elflint.c:1753
-#, c-format
-msgid ""
-"section [%2d] '%s': entry %zu: %s value must be valid offset in section [%"
-"2d] '%s'\n"
-msgstr ""
-
-#: src/elflint.c:1773 src/elflint.c:1801
-#, c-format
-msgid "section [%2d] '%s': contains %s entry but not %s\n"
-msgstr ""
-
-#: src/elflint.c:1785
-#, c-format
-msgid "section [%2d] '%s': mandatory tag %s not present\n"
-msgstr ""
-
-#: src/elflint.c:1794
-#, c-format
-msgid "section [%2d] '%s': no hash section present\n"
-msgstr ""
-
-#: src/elflint.c:1809 src/elflint.c:1816
-#, c-format
-msgid "section [%2d] '%s': not all of %s, %s, and %s are present\n"
-msgstr ""
-
-#: src/elflint.c:1826 src/elflint.c:1830
-#, c-format
-msgid "section [%2d] '%s': %s tag missing in DSO marked during prelinking\n"
-msgstr ""
-
-#: src/elflint.c:1836
-#, c-format
-msgid "section [%2d] '%s': non-DSO file marked as dependency during prelink\n"
-msgstr ""
-
-#: src/elflint.c:1847 src/elflint.c:1851 src/elflint.c:1855 src/elflint.c:1859
-#, c-format
-msgid "section [%2d] '%s': %s tag missing in prelinked executable\n"
-msgstr ""
-
-#: src/elflint.c:1871
-#, c-format
-msgid ""
-"section [%2d] '%s': only relocatable files can have extended section index\n"
-msgstr ""
-
-#: src/elflint.c:1881
-#, c-format
-msgid ""
-"section [%2d] '%s': extended section index section not for symbol table\n"
-msgstr ""
-
-#: src/elflint.c:1886
-#, c-format
-msgid "cannot get data for symbol section\n"
-msgstr ""
-
-#: src/elflint.c:1889
-#, c-format
-msgid "section [%2d] '%s': entry size does not match Elf32_Word\n"
-msgstr ""
-
-#: src/elflint.c:1896
-#, c-format
-msgid "section [%2d] '%s': extended index table too small for symbol table\n"
-msgstr ""
-
-#: src/elflint.c:1911
-#, c-format
-msgid ""
-"section [%2d] '%s': extended section index in section [%2zu] '%s' refers to "
-"same symbol table\n"
-msgstr ""
-
-#: src/elflint.c:1922
-#, c-format
-msgid "symbol 0 should have zero extended section index\n"
-msgstr ""
-
-#: src/elflint.c:1934
-#, c-format
-msgid "cannot get data for symbol %zu\n"
-msgstr ""
-
-#: src/elflint.c:1939
-#, c-format
-msgid "extended section index is %<PRIu32> but symbol index is not XINDEX\n"
-msgstr ""
-
-#: src/elflint.c:1955 src/elflint.c:1996
-#, c-format
-msgid ""
-"section [%2d] '%s': hash table section is too small (is %ld, expected %ld)\n"
-msgstr ""
-
-#: src/elflint.c:1967 src/elflint.c:2008
-#, c-format
-msgid "section [%2d] '%s': chain array too large\n"
-msgstr ""
-
-#: src/elflint.c:1976 src/elflint.c:2017
-#, c-format
-msgid "section [%2d] '%s': hash bucket reference %zu out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:1982
-#, c-format
-msgid "section [%2d] '%s': hash chain reference %zu out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:2023
-#, c-format
-msgid "section [%2d] '%s': hash chain reference %<PRIu64> out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:2038
-#, c-format
-msgid "section [%2d] '%s': bitmask size not power of 2: %u\n"
-msgstr ""
-
-#: src/elflint.c:2049
-#, c-format
-msgid ""
-"section [%2d] '%s': hash table section is too small (is %ld, expected at "
-"least%ld)\n"
-msgstr ""
-
-#: src/elflint.c:2057
-#, c-format
-msgid "section [%2d] '%s': 2nd hash function shift too big: %u\n"
-msgstr ""
-
-#: src/elflint.c:2089
-#, c-format
-msgid ""
-"section [%2d] '%s': hash chain for bucket %zu lower than symbol index bias\n"
-msgstr ""
-
-#: src/elflint.c:2110
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %u referenced in chain for bucket %zu is "
-"undefined\n"
-msgstr ""
-
-#: src/elflint.c:2121
-#, c-format
-msgid ""
-"section [%2d] '%s': hash value for symbol %u in chain for bucket %zu wrong\n"
-msgstr ""
-
-#: src/elflint.c:2152
-#, c-format
-msgid "section [%2d] '%s': hash chain for bucket %zu out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:2157
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol reference in chain for bucket %zu out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:2163
-#, c-format
-msgid "section [%2d] '%s': bitmask does not match names in the hash table\n"
-msgstr ""
-
-#: src/elflint.c:2176
-#, c-format
-msgid "section [%2d] '%s': relocatable files cannot have hash tables\n"
-msgstr ""
-
-#: src/elflint.c:2194
-#, c-format
-msgid "section [%2d] '%s': hash table not for dynamic symbol table\n"
-msgstr ""
-
-#: src/elflint.c:2202
-#, c-format
-msgid "section [%2d] '%s': hash table entry size incorrect\n"
-msgstr ""
-
-#: src/elflint.c:2207
-#, c-format
-msgid "section [%2d] '%s': not marked to be allocated\n"
-msgstr ""
-
-#: src/elflint.c:2212
-#, c-format
-msgid ""
-"section [%2d] '%s': hash table has not even room for initial administrative "
-"entries\n"
-msgstr ""
-
-#: src/elflint.c:2260
-#, c-format
-msgid "sh_link in hash sections [%2zu] '%s' and [%2zu] '%s' not identical\n"
-msgstr ""
-
-#: src/elflint.c:2338 src/elflint.c:2342
-#, c-format
-msgid "section [%2zu] '%s': reference to symbol index 0\n"
-msgstr ""
-
-#: src/elflint.c:2349
-#, 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:2361
-#, 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:2377
-#, c-format
-msgid "section [%2d] '%s': nonzero sh_%s for NULL section\n"
-msgstr ""
-
-#: src/elflint.c:2397
-#, c-format
-msgid ""
-"section [%2d] '%s': section groups only allowed in relocatable object files\n"
-msgstr ""
-
-#: src/elflint.c:2408
-#, c-format
-msgid "section [%2d] '%s': cannot get symbol table: %s\n"
-msgstr ""
-
-#: src/elflint.c:2413
-#, c-format
-msgid "section [%2d] '%s': section reference in sh_link is no symbol table\n"
-msgstr ""
-
-#: src/elflint.c:2419
-#, c-format
-msgid "section [%2d] '%s': invalid symbol index in sh_info\n"
-msgstr ""
-
-#: src/elflint.c:2424
-#, c-format
-msgid "section [%2d] '%s': sh_flags not zero\n"
-msgstr ""
-
-#: src/elflint.c:2431
-#, c-format
-msgid "section [%2d] '%s': cannot get symbol for signature\n"
-msgstr ""
-
-#: src/elflint.c:2436
-#, c-format
-msgid "section [%2d] '%s': signature symbol cannot be empty string\n"
-msgstr ""
-
-#: src/elflint.c:2442
-#, c-format
-msgid "section [%2d] '%s': sh_flags not set correctly\n"
-msgstr ""
-
-#: src/elflint.c:2448
-#, c-format
-msgid "section [%2d] '%s': cannot get data: %s\n"
-msgstr ""
-
-#: src/elflint.c:2457
-#, c-format
-msgid "section [%2d] '%s': section size not multiple of sizeof(Elf32_Word)\n"
-msgstr ""
-
-#: src/elflint.c:2462
-#, c-format
-msgid "section [%2d] '%s': section group without flags word\n"
-msgstr ""
-
-#: src/elflint.c:2468
-#, c-format
-msgid "section [%2d] '%s': section group without member\n"
-msgstr ""
-
-#: src/elflint.c:2472
-#, c-format
-msgid "section [%2d] '%s': section group with only one member\n"
-msgstr ""
-
-#: src/elflint.c:2483
-#, c-format
-msgid "section [%2d] '%s': unknown section group flags\n"
-msgstr ""
-
-#: src/elflint.c:2495
-#, c-format
-msgid "section [%2d] '%s': section index %Zu out of range\n"
-msgstr ""
-
-#: src/elflint.c:2504
-#, c-format
-msgid "section [%2d] '%s': cannot get section header for element %zu: %s\n"
-msgstr ""
-
-#: src/elflint.c:2511
-#, c-format
-msgid "section [%2d] '%s': section group contains another group [%2d] '%s'\n"
-msgstr ""
-
-#: src/elflint.c:2517
-#, c-format
-msgid ""
-"section [%2d] '%s': element %Zu references section [%2d] '%s' without "
-"SHF_GROUP flag set\n"
-msgstr ""
-
-#: src/elflint.c:2524
-#, c-format
-msgid "section [%2d] '%s' is contained in more than one section group\n"
-msgstr ""
-
-#: src/elflint.c:2713
-#, 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:2724
-#, c-format
-msgid ""
-"section [%2d] '%s' has different number of entries than symbol table [%2d] '%"
-"s'\n"
-msgstr ""
-
-#: src/elflint.c:2740
-#, c-format
-msgid "section [%2d] '%s': symbol %d: cannot read version data\n"
-msgstr ""
-
-#: src/elflint.c:2756
-#, c-format
-msgid "section [%2d] '%s': symbol %d: local symbol with global scope\n"
-msgstr ""
-
-#: src/elflint.c:2764
-#, c-format
-msgid "section [%2d] '%s': symbol %d: local symbol with version\n"
-msgstr ""
-
-#: src/elflint.c:2778
-#, c-format
-msgid "section [%2d] '%s': symbol %d: invalid version index %d\n"
-msgstr ""
-
-#: src/elflint.c:2783
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %d: version index %d is for defined version\n"
-msgstr ""
-
-#: src/elflint.c:2793
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %d: version index %d is for requested version\n"
-msgstr ""
-
-#: src/elflint.c:2845
-#, c-format
-msgid "more than one version reference section present\n"
-msgstr ""
-
-#: src/elflint.c:2853 src/elflint.c:2982
-#, c-format
-msgid "section [%2d] '%s': sh_link does not link to string table\n"
-msgstr ""
-
-#: src/elflint.c:2876 src/elflint.c:3034
-#, c-format
-msgid "section [%2d] '%s': entry %d has wrong version %d\n"
-msgstr ""
-
-#: src/elflint.c:2882 src/elflint.c:3040
-#, c-format
-msgid "section [%2d] '%s': entry %d has wrong offset of auxiliary data\n"
-msgstr ""
-
-#: src/elflint.c:2890
-#, c-format
-msgid "section [%2d] '%s': entry %d has invalid file reference\n"
-msgstr ""
-
-#: src/elflint.c:2898
-#, c-format
-msgid "section [%2d] '%s': entry %d references unknown dependency\n"
-msgstr ""
-
-#: src/elflint.c:2910
-#, c-format
-msgid "section [%2d] '%s': auxiliary entry %d of entry %d has unknown flag\n"
-msgstr ""
-
-#: src/elflint.c:2917
-#, c-format
-msgid ""
-"section [%2d] '%s': auxiliary entry %d of entry %d has invalid name "
-"reference\n"
-msgstr ""
-
-#: src/elflint.c:2924
-#, c-format
-msgid ""
-"section [%2d] '%s': auxiliary entry %d of entry %d has wrong hash value: %"
-"#x, expected %#x\n"
-msgstr ""
-
-#: src/elflint.c:2934
-#, c-format
-msgid ""
-"section [%2d] '%s': auxiliary entry %d of entry %d has duplicate version "
-"name '%s'\n"
-msgstr ""
-
-#: src/elflint.c:2945
-#, c-format
-msgid ""
-"section [%2d] '%s': auxiliary entry %d of entry %d has wrong next field\n"
-msgstr ""
-
-#: src/elflint.c:2961 src/elflint.c:3119
-#, c-format
-msgid "section [%2d] '%s': entry %d has invalid offset to next entry\n"
-msgstr ""
-
-#: src/elflint.c:2974
-#, c-format
-msgid "more than one version definition section present\n"
-msgstr ""
-
-#: src/elflint.c:3019
-#, c-format
-msgid "section [%2d] '%s': more than one BASE definition\n"
-msgstr ""
-
-#: src/elflint.c:3023
-#, c-format
-msgid "section [%2d] '%s': BASE definition must have index VER_NDX_GLOBAL\n"
-msgstr ""
-
-#: src/elflint.c:3029
-#, c-format
-msgid "section [%2d] '%s': entry %d has unknown flag\n"
-msgstr ""
-
-#: src/elflint.c:3053
-#, c-format
-msgid "section [%2d] '%s': entry %d has invalid name reference\n"
-msgstr ""
-
-#: src/elflint.c:3060
-#, c-format
-msgid "section [%2d] '%s': entry %d has wrong hash value: %#x, expected %#x\n"
-msgstr ""
-
-#: src/elflint.c:3069
-#, c-format
-msgid "section [%2d] '%s': entry %d has duplicate version name '%s'\n"
-msgstr ""
-
-#: src/elflint.c:3088
-#, c-format
-msgid ""
-"section [%2d] '%s': entry %d has invalid name reference in auxiliary data\n"
-msgstr ""
-
-#: src/elflint.c:3103
-#, c-format
-msgid "section [%2d] '%s': entry %d has wrong next field in auxiliary data\n"
-msgstr ""
-
-#: src/elflint.c:3125
-#, c-format
-msgid "section [%2d] '%s': no BASE definition\n"
-msgstr ""
-
-#: src/elflint.c:3141
-#, c-format
-msgid "section [%2d] '%s': unknown parent version '%s'\n"
-msgstr ""
-
-#: src/elflint.c:3154
-#, c-format
-msgid "section [%2d] '%s': empty object attributes section\n"
-msgstr ""
-
-#: src/elflint.c:3175
-#, c-format
-msgid "section [%2d] '%s': unrecognized attribute format\n"
-msgstr ""
-
-#: src/elflint.c:3191
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: zero length field in attribute section\n"
-msgstr ""
-
-#: src/elflint.c:3200
-#, c-format
-msgid "section [%2d] '%s': offset %zu: invalid length in attribute section\n"
-msgstr ""
-
-#: src/elflint.c:3212
-#, c-format
-msgid "section [%2d] '%s': offset %zu: unterminated vendor name string\n"
-msgstr ""
-
-#: src/elflint.c:3229
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: endless ULEB128 in attribute subsection tag\n"
-msgstr ""
-
-#: src/elflint.c:3238
-#, c-format
-msgid "section [%2d] '%s': offset %zu: truncated attribute section\n"
-msgstr ""
-
-#: src/elflint.c:3247
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: zero length field in attribute subsection\n"
-msgstr ""
-
-#: src/elflint.c:3260
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: invalid length in attribute subsection\n"
-msgstr ""
-
-#: src/elflint.c:3271
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: attribute subsection has unexpected tag %u\n"
-msgstr ""
-
-#: src/elflint.c:3289
-#, c-format
-msgid "section [%2d] '%s': offset %zu: endless ULEB128 in attribute tag\n"
-msgstr ""
-
-#: src/elflint.c:3300
-#, c-format
-msgid "section [%2d] '%s': offset %zu: unterminated string in attribute\n"
-msgstr ""
-
-#: src/elflint.c:3313
-#, c-format
-msgid "section [%2d] '%s': offset %zu: unrecognized attribute tag %u\n"
-msgstr ""
-
-#: src/elflint.c:3317
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: unrecognized %s attribute value %<PRIu64>\n"
-msgstr ""
-
-#: src/elflint.c:3327
-#, c-format
-msgid "section [%2d] '%s': offset %zu: vendor '%s' unknown\n"
-msgstr ""
-
-#: src/elflint.c:3333
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: extra bytes after last attribute section\n"
-msgstr ""
-
-#: src/elflint.c:3422
-#, c-format
-msgid "cannot get section header of zeroth section\n"
-msgstr ""
-
-#: src/elflint.c:3426
-#, c-format
-msgid "zeroth section has nonzero name\n"
-msgstr ""
-
-#: src/elflint.c:3428
-#, c-format
-msgid "zeroth section has nonzero type\n"
-msgstr ""
-
-#: src/elflint.c:3430
-#, c-format
-msgid "zeroth section has nonzero flags\n"
-msgstr ""
-
-#: src/elflint.c:3432
-#, c-format
-msgid "zeroth section has nonzero address\n"
-msgstr ""
-
-#: src/elflint.c:3434
-#, c-format
-msgid "zeroth section has nonzero offset\n"
-msgstr ""
-
-#: src/elflint.c:3436
-#, c-format
-msgid "zeroth section has nonzero align value\n"
-msgstr ""
-
-#: src/elflint.c:3438
-#, c-format
-msgid "zeroth section has nonzero entry size value\n"
-msgstr ""
-
-#: src/elflint.c:3441
-#, c-format
-msgid ""
-"zeroth section has nonzero size value while ELF header has nonzero shnum "
-"value\n"
-msgstr ""
-
-#: src/elflint.c:3445
-#, c-format
-msgid ""
-"zeroth section has nonzero link value while ELF header does not signal "
-"overflow in shstrndx\n"
-msgstr ""
-
-#: src/elflint.c:3449
-#, c-format
-msgid ""
-"zeroth section has nonzero link value while ELF header does not signal "
-"overflow in phnum\n"
-msgstr ""
-
-#: src/elflint.c:3466
-#, c-format
-msgid "cannot get section header for section [%2zu] '%s': %s\n"
-msgstr ""
-
-#: src/elflint.c:3475
-#, c-format
-msgid "section [%2zu]: invalid name\n"
-msgstr ""
-
-#: src/elflint.c:3502
-#, c-format
-msgid "section [%2d] '%s' has wrong type: expected %s, is %s\n"
-msgstr ""
-
-#: src/elflint.c:3518
-#, c-format
-msgid "section [%2zu] '%s' has wrong flags: expected %s, is %s\n"
-msgstr ""
-
-#: src/elflint.c:3535
-#, c-format
-msgid ""
-"section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n"
-msgstr ""
-
-#: src/elflint.c:3553
-#, c-format
-msgid "section [%2zu] '%s' present in object file\n"
-msgstr ""
-
-#: src/elflint.c:3559 src/elflint.c:3591
-#, c-format
-msgid ""
-"section [%2zu] '%s' has SHF_ALLOC flag set but there is no loadable segment\n"
-msgstr ""
-
-#: src/elflint.c:3564 src/elflint.c:3596
-#, c-format
-msgid ""
-"section [%2zu] '%s' has SHF_ALLOC flag not set but there are loadable "
-"segments\n"
-msgstr ""
-
-#: src/elflint.c:3572
-#, c-format
-msgid ""
-"section [%2zu] '%s' is extension section index table in non-object file\n"
-msgstr ""
-
-#: src/elflint.c:3615
-#, c-format
-msgid "section [%2zu] '%s': size not multiple of entry size\n"
-msgstr ""
-
-#: src/elflint.c:3620
-#, c-format
-msgid "cannot get section header\n"
-msgstr ""
-
-#: src/elflint.c:3630
-#, c-format
-msgid "section [%2zu] '%s' has unsupported type %d\n"
-msgstr ""
-
-#: src/elflint.c:3644
-#, c-format
-msgid ""
-"section [%2zu] '%s' contains invalid processor-specific flag(s) %#<PRIx64>\n"
-msgstr ""
-
-#: src/elflint.c:3651
-#, c-format
-msgid "section [%2zu] '%s' contains unknown flag(s) %#<PRIx64>\n"
-msgstr ""
-
-#: src/elflint.c:3659
-#, c-format
-msgid "section [%2zu] '%s': thread-local data sections address not zero\n"
-msgstr ""
-
-#: src/elflint.c:3667
-#, c-format
-msgid "section [%2zu] '%s': invalid section reference in link value\n"
-msgstr ""
-
-#: src/elflint.c:3672
-#, c-format
-msgid "section [%2zu] '%s': invalid section reference in info value\n"
-msgstr ""
-
-#: src/elflint.c:3679
-#, c-format
-msgid "section [%2zu] '%s': strings flag set without merge flag\n"
-msgstr ""
-
-#: src/elflint.c:3684
-#, c-format
-msgid "section [%2zu] '%s': merge flag set but entry size is zero\n"
-msgstr ""
-
-#: src/elflint.c:3702
-#, c-format
-msgid "section [%2zu] '%s' has unexpected type %d for an executable section\n"
-msgstr ""
-
-#: src/elflint.c:3711
-#, c-format
-msgid "section [%2zu] '%s' is both executable and writable\n"
-msgstr ""
-
-#: src/elflint.c:3738
-#, c-format
-msgid ""
-"section [%2zu] '%s' not fully contained in segment of program header entry %"
-"d\n"
-msgstr ""
-
-#: src/elflint.c:3746
-#, 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:3755
-#, 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:3766
-#, c-format
-msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n"
-msgstr ""
-
-#: src/elflint.c:3776
-#, c-format
-msgid "section [%2zu] '%s' is writable in unwritable segment %d\n"
-msgstr ""
-
-#: src/elflint.c:3786
-#, c-format
-msgid ""
-"section [%2zu] '%s': alloc flag set but section not in any loaded segment\n"
-msgstr ""
-
-#: src/elflint.c:3792
-#, 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:3800
-#, c-format
-msgid ""
-"section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n"
-msgstr ""
-
-#: src/elflint.c:3851
-#, c-format
-msgid "more than one version symbol table present\n"
-msgstr ""
-
-#: src/elflint.c:3874
-#, c-format
-msgid "INTERP program header entry but no .interp section\n"
-msgstr ""
-
-#: src/elflint.c:3885
-#, c-format
-msgid ""
-"loadable segment [%u] is executable but contains no executable sections\n"
-msgstr ""
-
-#: src/elflint.c:3891
-#, c-format
-msgid "loadable segment [%u] is writable but contains no writable sections\n"
-msgstr ""
-
-#: src/elflint.c:3902
-#, c-format
-msgid ""
-"no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section "
-"exist\n"
-msgstr ""
-
-#: src/elflint.c:3915
-#, c-format
-msgid "duplicate version index %d\n"
-msgstr ""
-
-#: src/elflint.c:3929
-#, c-format
-msgid ".gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n"
-msgstr ""
-
-#: src/elflint.c:3978
-#, c-format
-msgid "phdr[%d]: unknown core file note type %<PRIu32> at offset %<PRIu64>\n"
-msgstr ""
-
-#: src/elflint.c:3982
-#, c-format
-msgid ""
-"section [%2d] '%s': unknown core file note type %<PRIu32> at offset %Zu\n"
-msgstr ""
-
-#: src/elflint.c:4005
-#, c-format
-msgid "phdr[%d]: unknown object file note type %<PRIu32> at offset %Zu\n"
-msgstr ""
-
-#: src/elflint.c:4009
-#, c-format
-msgid ""
-"section [%2d] '%s': unknown object file note type %<PRIu32> at offset %Zu\n"
-msgstr ""
-
-#: src/elflint.c:4026
-#, c-format
-msgid "phdr[%d]: no note entries defined for the type of file\n"
-msgstr ""
-
-#: src/elflint.c:4045
-#, c-format
-msgid "phdr[%d]: cannot get content of note section: %s\n"
-msgstr ""
-
-#: src/elflint.c:4048
-#, c-format
-msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n"
-msgstr ""
-
-#: src/elflint.c:4069
-#, c-format
-msgid "section [%2d] '%s': no note entries defined for the type of file\n"
-msgstr ""
-
-#: src/elflint.c:4076
-#, c-format
-msgid "section [%2d] '%s': cannot get content of note section\n"
-msgstr ""
-
-#: src/elflint.c:4079
-#, c-format
-msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n"
-msgstr ""
-
-#: src/elflint.c:4097
-#, c-format
-msgid ""
-"only executables, shared objects, and core files can have program headers\n"
-msgstr ""
-
-#: src/elflint.c:4112
-#, c-format
-msgid "cannot get program header entry %d: %s\n"
-msgstr ""
-
-#: src/elflint.c:4121
-#, c-format
-msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n"
-msgstr ""
-
-#: src/elflint.c:4132
-#, c-format
-msgid "more than one INTERP entry in program header\n"
-msgstr ""
-
-#: src/elflint.c:4140
-#, c-format
-msgid "more than one TLS entry in program header\n"
-msgstr ""
-
-#: src/elflint.c:4147
-#, c-format
-msgid "static executable cannot have dynamic sections\n"
-msgstr ""
-
-#: src/elflint.c:4161
-#, c-format
-msgid "dynamic section reference in program header has wrong offset\n"
-msgstr ""
-
-#: src/elflint.c:4164
-#, c-format
-msgid "dynamic section size mismatch in program and section header\n"
-msgstr ""
-
-#: src/elflint.c:4174
-#, c-format
-msgid "more than one GNU_RELRO entry in program header\n"
-msgstr ""
-
-#: src/elflint.c:4195
-#, c-format
-msgid "loadable segment GNU_RELRO applies to is not writable\n"
-msgstr ""
-
-#: src/elflint.c:4198
-#, c-format
-msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n"
-msgstr ""
-
-#: src/elflint.c:4206 src/elflint.c:4229
-#, c-format
-msgid "%s segment not contained in a loaded segment\n"
-msgstr ""
-
-#: src/elflint.c:4235
-#, c-format
-msgid "program header offset in ELF header and PHDR entry do not match"
-msgstr ""
-
-#: src/elflint.c:4259
-#, c-format
-msgid "call frame search table reference in program header has wrong offset\n"
-msgstr ""
-
-#: src/elflint.c:4262
-#, c-format
-msgid "call frame search table size mismatch in program and section header\n"
-msgstr ""
-
-#: src/elflint.c:4275
-#, c-format
-msgid "PT_GNU_EH_FRAME present but no .eh_frame_hdr section\n"
-msgstr ""
-
-#: src/elflint.c:4283
-#, c-format
-msgid "call frame search table must be allocated\n"
-msgstr ""
-
-#: src/elflint.c:4286
-#, c-format
-msgid "section [%2zu] '%s' must be allocated\n"
-msgstr ""
-
-#: src/elflint.c:4290
-#, c-format
-msgid "call frame search table must not be writable\n"
-msgstr ""
-
-#: src/elflint.c:4293
-#, c-format
-msgid "section [%2zu] '%s' must not be writable\n"
-msgstr ""
-
-#: src/elflint.c:4298
-#, c-format
-msgid "call frame search table must not be executable\n"
-msgstr ""
-
-#: src/elflint.c:4301
-#, c-format
-msgid "section [%2zu] '%s' must not be executable\n"
-msgstr ""
-
-#: src/elflint.c:4312
-#, c-format
-msgid "program header entry %d: file size greater than memory size\n"
-msgstr ""
-
-#: src/elflint.c:4319
-#, c-format
-msgid "program header entry %d: alignment not a power of 2\n"
-msgstr ""
-
-#: src/elflint.c:4322
-#, c-format
-msgid ""
-"program header entry %d: file offset and virtual address not module of "
-"alignment\n"
-msgstr ""
-
-#: src/elflint.c:4335
-#, 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:4369
-#, c-format
-msgid "cannot read ELF header: %s\n"
-msgstr ""
-
-#: src/elflint.c:4395
-#, c-format
-msgid "text relocation flag set but not needed\n"
-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 ""
-
-#: src/findtextrel.c:80
-msgid "Locate source of text relocations in FILEs (a.out by default)."
-msgstr ""
-
-#: src/findtextrel.c:84 src/nm.c:111 src/objdump.c:80 src/size.c:92
-#: src/strings.c:92 src/strip.c:97
-msgid "[FILE...]"
-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/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/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 archives 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 ""
-
-#: src/ld.c:197
-msgid "Combine object and archive files."
-msgstr ""
-
-#: 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 ""
-
-#: 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:661 src/ldgeneric.c:1122 src/readelf.c:629 src/strip.c:543
-#, c-format
-msgid "cannot determine number of sections: %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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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:1808
-#, 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 ""
-
-#: 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/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' is declared both local and global for unnamed version"
-msgstr ""
-
-#: src/ldscript.y:747
-#, c-format
-msgid "symbol '%s' is 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/nm.c:74 src/strip.c:73
-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:78 src/unstrip.c:81
-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:108
-msgid "List symbols from FILEs (a.out by default)."
-msgstr ""
-
-#: src/nm.c:136 src/objdump.c:105 src/size.c:117 src/strip.c:121
-#, c-format
-msgid "%s: INTERNAL ERROR %d (%s-%s): %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:1816
-#, c-format
-msgid "while closing '%s'"
-msgstr ""
-
-#: src/nm.c:402 src/objdump.c:296 src/strip.c:359
-#, c-format
-msgid "%s: File format not recognized"
-msgstr ""
-
-#: 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/objdump.c:744 src/readelf.c:885
-#: src/readelf.c:1028 src/readelf.c:1169 src/readelf.c:1351 src/readelf.c:1549
-#: src/readelf.c:1735 src/readelf.c:1945 src/readelf.c:2199 src/readelf.c:2265
-#: src/readelf.c:2343 src/readelf.c:2841 src/readelf.c:2877 src/readelf.c:2939
-#: src/readelf.c:6493 src/readelf.c:7387 src/readelf.c:7534 src/readelf.c:7604
-#: src/size.c:425 src/size.c:499 src/strip.c:483
-#, 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 ""
-
-#: src/nm.c:768
-#, c-format
-msgid ""
-"\n"
-"\n"
-"Symbols from %s[%s]:\n"
-"\n"
-msgstr ""
-
-#: 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 ""
-
-#: 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/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 ""
-
-#: src/objdump.c:76
-msgid "Show information from FILEs (a.out by default)."
-msgstr ""
-
-#: src/objdump.c:236 src/readelf.c:430
-msgid "No operation specified.\n"
-msgstr ""
-
-#: src/objdump.c:274 src/objdump.c:286
-#, c-format
-msgid "while close `%s'"
-msgstr ""
-
-#: src/objdump.c:379 src/readelf.c:1644 src/readelf.c:1818
-msgid "INVALID SYMBOL"
-msgstr ""
-
-#: src/objdump.c:394 src/readelf.c:1675 src/readelf.c:1851
-msgid "INVALID SECTION"
-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 ""
-
-#: src/ranlib.c:74
-msgid "Generate an index to speed access to archives."
-msgstr ""
-
-#: 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/readelf.c:73
-msgid "ELF output selection:"
-msgstr ""
-
-#: src/readelf.c:75
-msgid "All these plus -p .strtab -p .dynstr -p .comment"
-msgstr ""
-
-#: src/readelf.c:76
-msgid "Display the dynamic segment"
-msgstr ""
-
-#: src/readelf.c:77
-msgid "Display the ELF file header"
-msgstr ""
-
-#: src/readelf.c:79
-msgid "Display histogram of bucket list lengths"
-msgstr ""
-
-#: src/readelf.c:80
-msgid "Display the program headers"
-msgstr ""
-
-#: src/readelf.c:82
-msgid "Display relocations"
-msgstr ""
-
-#: src/readelf.c:83
-msgid "Display the sections' headers"
-msgstr ""
-
-#: src/readelf.c:85
-msgid "Display the symbol table"
-msgstr ""
-
-#: src/readelf.c:86
-msgid "Display versioning information"
-msgstr ""
-
-#: src/readelf.c:87
-msgid "Display the ELF notes"
-msgstr ""
-
-#: src/readelf.c:89
-msgid "Display architecture specific information, if any"
-msgstr ""
-
-#: src/readelf.c:91
-msgid "Display sections for exception handling"
-msgstr ""
-
-#: src/readelf.c:93
-msgid "Additional output selection:"
-msgstr ""
-
-#: src/readelf.c:95
-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:99
-msgid "Dump the uninterpreted contents of SECTION, by number or name"
-msgstr ""
-
-#: src/readelf.c:101
-msgid "Print string contents of sections"
-msgstr ""
-
-#: src/readelf.c:104
-msgid "Display the symbol index of an archive"
-msgstr ""
-
-#: src/readelf.c:106
-msgid "Output control:"
-msgstr ""
-
-#: src/readelf.c:108
-msgid "Do not find symbol names for addresses in DWARF data"
-msgstr ""
-
-#: src/readelf.c:114
-msgid "Print information from ELF file in human-readable form."
-msgstr ""
-
-#: src/readelf.c:401
-#, c-format
-msgid "Unknown DWARF debug section `%s'.\n"
-msgstr ""
-
-#: src/readelf.c:465
-#, c-format
-msgid "cannot generate Elf descriptor: %s"
-msgstr ""
-
-#: src/readelf.c:477
-#, c-format
-msgid "'%s' is not an archive, cannot print archive index"
-msgstr ""
-
-#: src/readelf.c:482
-#, c-format
-msgid "error while closing Elf descriptor: %s"
-msgstr ""
-
-#: src/readelf.c:574
-#, c-format
-msgid "cannot stat input file"
-msgstr ""
-
-#: src/readelf.c:576
-#, c-format
-msgid "input file is empty"
-msgstr ""
-
-#: src/readelf.c:578
-#, c-format
-msgid "failed reading '%s': %s"
-msgstr ""
-
-#: src/readelf.c:614
-#, c-format
-msgid "cannot read ELF header: %s"
-msgstr ""
-
-#: src/readelf.c:622
-#, c-format
-msgid "cannot create EBL handle"
-msgstr ""
-
-#: src/readelf.c:635
-#, c-format
-msgid "cannot determine number of program headers: %s"
-msgstr ""
-
-#: src/readelf.c:721
-msgid "NONE (None)"
-msgstr ""
-
-#: src/readelf.c:722
-msgid "REL (Relocatable file)"
-msgstr ""
-
-#: src/readelf.c:723
-msgid "EXEC (Executable file)"
-msgstr ""
-
-#: src/readelf.c:724
-msgid "DYN (Shared object file)"
-msgstr ""
-
-#: src/readelf.c:725
-msgid "CORE (Core file)"
-msgstr ""
-
-#: src/readelf.c:730
-#, c-format
-msgid "OS Specific: (%x)\n"
-msgstr ""
-
-#: src/readelf.c:732
-#, c-format
-msgid "Processor Specific: (%x)\n"
-msgstr ""
-
-#: src/readelf.c:742
-msgid ""
-"ELF Header:\n"
-"  Magic:  "
-msgstr ""
-
-#: src/readelf.c:746
-#, c-format
-msgid ""
-"\n"
-"  Class:                             %s\n"
-msgstr ""
-
-#: src/readelf.c:751
-#, c-format
-msgid "  Data:                              %s\n"
-msgstr ""
-
-#: src/readelf.c:757
-#, c-format
-msgid "  Ident Version:                     %hhd %s\n"
-msgstr ""
-
-#: src/readelf.c:759 src/readelf.c:776
-msgid "(current)"
-msgstr ""
-
-#: src/readelf.c:763
-#, c-format
-msgid "  OS/ABI:                            %s\n"
-msgstr ""
-
-#: src/readelf.c:766
-#, c-format
-msgid "  ABI Version:                       %hhd\n"
-msgstr ""
-
-#: src/readelf.c:769
-msgid "  Type:                              "
-msgstr ""
-
-#: src/readelf.c:772
-#, c-format
-msgid "  Machine:                           %s\n"
-msgstr ""
-
-#: src/readelf.c:774
-#, c-format
-msgid "  Version:                           %d %s\n"
-msgstr ""
-
-#: src/readelf.c:778
-#, c-format
-msgid "  Entry point address:               %#<PRIx64>\n"
-msgstr ""
-
-#: src/readelf.c:781
-#, c-format
-msgid "  Start of program headers:          %<PRId64> %s\n"
-msgstr ""
-
-#: src/readelf.c:782 src/readelf.c:785
-msgid "(bytes into file)"
-msgstr ""
-
-#: src/readelf.c:784
-#, c-format
-msgid "  Start of section headers:          %<PRId64> %s\n"
-msgstr ""
-
-#: src/readelf.c:787
-#, c-format
-msgid "  Flags:                             %s\n"
-msgstr ""
-
-#: src/readelf.c:790
-#, c-format
-msgid "  Size of this header:               %<PRId16> %s\n"
-msgstr ""
-
-#: src/readelf.c:791 src/readelf.c:794 src/readelf.c:811
-msgid "(bytes)"
-msgstr ""
-
-#: src/readelf.c:793
-#, c-format
-msgid "  Size of program header entries:    %<PRId16> %s\n"
-msgstr ""
-
-#: src/readelf.c:796
-#, c-format
-msgid "  Number of program headers entries: %<PRId16>"
-msgstr ""
-
-#: src/readelf.c:803
-#, c-format
-msgid " (%<PRIu32> in [0].sh_info)"
-msgstr ""
-
-#: src/readelf.c:806 src/readelf.c:823 src/readelf.c:837
-msgid " ([0] not available)"
-msgstr ""
-
-#: src/readelf.c:810
-#, c-format
-msgid "  Size of section header entries:    %<PRId16> %s\n"
-msgstr ""
-
-#: src/readelf.c:813
-#, c-format
-msgid "  Number of section headers entries: %<PRId16>"
-msgstr ""
-
-#: src/readelf.c:820
-#, c-format
-msgid " (%<PRIu32> in [0].sh_size)"
-msgstr ""
-
-#: src/readelf.c:833
-#, c-format
-msgid " (%<PRIu32> in [0].sh_link)"
-msgstr ""
-
-#: src/readelf.c:841
-#, c-format
-msgid ""
-"  Section header string table index: XINDEX%s\n"
-"\n"
-msgstr ""
-
-#: src/readelf.c:845
-#, c-format
-msgid ""
-"  Section header string table index: %<PRId16>\n"
-"\n"
-msgstr ""
-
-#: src/readelf.c:877
-#, c-format
-msgid ""
-"There are %d section headers, starting at offset %#<PRIx64>:\n"
-"\n"
-msgstr ""
-
-#: src/readelf.c:887
-msgid "Section Headers:"
-msgstr ""
-
-#: src/readelf.c:890
-msgid ""
-"[Nr] Name                 Type         Addr     Off    Size   ES Flags Lk "
-"Inf Al"
-msgstr ""
-
-#: src/readelf.c:892
-msgid ""
-"[Nr] Name                 Type         Addr             Off      Size     ES "
-"Flags Lk Inf Al"
-msgstr ""
-
-#: src/readelf.c:899 src/readelf.c:1052
-#, c-format
-msgid "cannot get section: %s"
-msgstr ""
-
-#: src/readelf.c:906 src/readelf.c:1060 src/readelf.c:7554 src/unstrip.c:353
-#: src/unstrip.c:377 src/unstrip.c:427 src/unstrip.c:536 src/unstrip.c:553
-#: src/unstrip.c:591 src/unstrip.c:789 src/unstrip.c:1057 src/unstrip.c:1244
-#: src/unstrip.c:1305 src/unstrip.c:1427 src/unstrip.c:1480 src/unstrip.c:1588
-#: src/unstrip.c:1778
-#, c-format
-msgid "cannot get section header: %s"
-msgstr ""
-
-#: src/readelf.c:964
-msgid "Program Headers:"
-msgstr ""
-
-#: src/readelf.c:966
-msgid ""
-"  Type           Offset   VirtAddr   PhysAddr   FileSiz  MemSiz   Flg Align"
-msgstr ""
-
-#: src/readelf.c:969
-msgid ""
-"  Type           Offset   VirtAddr           PhysAddr           FileSiz  "
-"MemSiz   Flg Align"
-msgstr ""
-
-#: src/readelf.c:1009
-#, c-format
-msgid "\t[Requesting program interpreter: %s]\n"
-msgstr ""
-
-#: src/readelf.c:1030
-msgid ""
-"\n"
-" Section to Segment mapping:\n"
-"  Segment Sections..."
-msgstr ""
-
-#: src/readelf.c:1041 src/unstrip.c:1824 src/unstrip.c:1863 src/unstrip.c:1870
-#, c-format
-msgid "cannot get program header: %s"
-msgstr ""
-
-#: src/readelf.c:1175
-#, 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:1180
-#, 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:1188
-msgid "<INVALID SYMBOL>"
-msgstr ""
-
-#: src/readelf.c:1202
-msgid "<INVALID SECTION>"
-msgstr ""
-
-#: src/readelf.c:1353
-#, 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:1365
-msgid "  Type              Value\n"
-msgstr ""
-
-#: src/readelf.c:1389
-#, c-format
-msgid "Shared library: [%s]\n"
-msgstr ""
-
-#: src/readelf.c:1394
-#, c-format
-msgid "Library soname: [%s]\n"
-msgstr ""
-
-#: src/readelf.c:1399
-#, c-format
-msgid "Library rpath: [%s]\n"
-msgstr ""
-
-#: src/readelf.c:1404
-#, c-format
-msgid "Library runpath: [%s]\n"
-msgstr ""
-
-#: src/readelf.c:1424
-#, c-format
-msgid "%<PRId64> (bytes)\n"
-msgstr ""
-
-#: src/readelf.c:1534 src/readelf.c:1720
-#, c-format
-msgid ""
-"\n"
-"Invalid symbol table at offset %#0<PRIx64>\n"
-msgstr ""
-
-#: src/readelf.c:1552 src/readelf.c:1737
-#, 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] ""
-
-#: src/readelf.c:1567
-#, 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:1577
-msgid "  Offset      Type                 Value       Name\n"
-msgstr ""
-
-#: src/readelf.c:1579
-msgid "  Offset              Type                 Value               Name\n"
-msgstr ""
-
-#: src/readelf.c:1632 src/readelf.c:1643 src/readelf.c:1656 src/readelf.c:1674
-#: src/readelf.c:1686 src/readelf.c:1805 src/readelf.c:1817 src/readelf.c:1831
-#: src/readelf.c:1850 src/readelf.c:1863
-msgid "<INVALID RELOC>"
-msgstr ""
-
-#: src/readelf.c:1749
-msgid "  Offset      Type            Value       Addend Name\n"
-msgstr ""
-
-#: src/readelf.c:1751
-msgid "  Offset              Type            Value               Addend Name\n"
-msgstr ""
-
-#: src/readelf.c:1952
-#, 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:1958
-#, 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:1968
-msgid "  Num:    Value   Size Type    Bind   Vis          Ndx Name\n"
-msgstr ""
-
-#: src/readelf.c:1970
-msgid "  Num:            Value   Size Type    Bind   Vis          Ndx Name\n"
-msgstr ""
-
-#: src/readelf.c:1990
-#, c-format
-msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
-msgstr ""
-
-#: src/readelf.c:2078
-#, c-format
-msgid "bad dynamic symbol"
-msgstr ""
-
-#: src/readelf.c:2160
-msgid "none"
-msgstr ""
-
-#: src/readelf.c:2177
-msgid "| <unknown>"
-msgstr ""
-
-#: src/readelf.c:2202
-#, 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:2225
-#, c-format
-msgid "  %#06x: Version: %hu  File: %s  Cnt: %hu\n"
-msgstr ""
-
-#: src/readelf.c:2238
-#, c-format
-msgid "  %#06x: Name: %s  Flags: %s  Version: %hu\n"
-msgstr ""
-
-#: src/readelf.c:2269
-#, 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:2299
-#, c-format
-msgid "  %#06x: Version: %hd  Flags: %s  Index: %hd  Cnt: %hd  Name: %s\n"
-msgstr ""
-
-#: src/readelf.c:2314
-#, c-format
-msgid "  %#06x: Parent %d: %s\n"
-msgstr ""
-
-#: src/readelf.c:2546
-#, 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:2576
-msgid "   0 *local*                     "
-msgstr ""
-
-#: src/readelf.c:2581
-msgid "   1 *global*                    "
-msgstr ""
-
-#: src/readelf.c:2612
-#, 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:2636
-#, no-c-format
-msgid " Length  Number  % of total  Coverage\n"
-msgstr ""
-
-#: src/readelf.c:2638
-#, c-format
-msgid "      0  %6<PRIu32>      %5.1f%%\n"
-msgstr ""
-
-#: src/readelf.c:2645
-#, c-format
-msgid "%7d  %6<PRIu32>      %5.1f%%    %5.1f%%\n"
-msgstr ""
-
-#: src/readelf.c:2658
-#, c-format
-msgid ""
-" Average number of tests:   successful lookup: %f\n"
-"                          unsuccessful lookup: %f\n"
-msgstr ""
-
-#: src/readelf.c:2676 src/readelf.c:2718 src/readelf.c:2759
-#, c-format
-msgid "cannot get data for section %d: %s"
-msgstr ""
-
-#: src/readelf.c:2813
-#, c-format
-msgid ""
-" Symbol Bias: %u\n"
-" Bitmask Size: %zu bytes  %<PRIuFAST32>%% bits set  2nd hash shift: %u\n"
-msgstr ""
-
-#: src/readelf.c:2887
-#, 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:2901
-msgid ""
-"       Library                       Time Stamp          Checksum Version "
-"Flags"
-msgstr ""
-
-#: src/readelf.c:2951
-#, c-format
-msgid ""
-"\n"
-"Object attributes section [%2zu] '%s' of %<PRIu64> bytes at offset %"
-"#0<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:2967
-msgid "  Owner          Size\n"
-msgstr ""
-
-#: src/readelf.c:2993
-#, c-format
-msgid "  %-13s  %4<PRIu32>\n"
-msgstr ""
-
-#: src/readelf.c:3025
-#, c-format
-msgid "    %-4u %12<PRIu32>\n"
-msgstr ""
-
-#: src/readelf.c:3030
-#, c-format
-msgid "    File: %11<PRIu32>\n"
-msgstr ""
-
-#: src/readelf.c:3065
-#, c-format
-msgid "      %s: %<PRId64>, %s\n"
-msgstr ""
-
-#: src/readelf.c:3068
-#, c-format
-msgid "      %s: %<PRId64>\n"
-msgstr ""
-
-#: src/readelf.c:3071
-#, c-format
-msgid "      %s: %s\n"
-msgstr ""
-
-#: src/readelf.c:3078
-#, c-format
-msgid "      %u: %<PRId64>\n"
-msgstr ""
-
-#: src/readelf.c:3081
-#, c-format
-msgid "      %u: %s\n"
-msgstr ""
-
-#: src/readelf.c:3117
-#, c-format
-msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>"
-msgstr ""
-
-#: src/readelf.c:3120
-#, c-format
-msgid "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
-msgstr ""
-
-#: src/readelf.c:3125
-#, c-format
-msgid "%#<PRIx64> <%s+%#<PRIx64>>"
-msgstr ""
-
-#: src/readelf.c:3128
-#, c-format
-msgid "%#0*<PRIx64> <%s+%#<PRIx64>>"
-msgstr ""
-
-#: src/readelf.c:3134
-#, c-format
-msgid "%s+%#<PRIx64> <%s>"
-msgstr ""
-
-#: src/readelf.c:3137
-#, c-format
-msgid "%s+%#0*<PRIx64> <%s>"
-msgstr ""
-
-#: src/readelf.c:3141
-#, c-format
-msgid "%#<PRIx64> <%s>"
-msgstr ""
-
-#: src/readelf.c:3144
-#, c-format
-msgid "%#0*<PRIx64> <%s>"
-msgstr ""
-
-#: src/readelf.c:3149
-#, c-format
-msgid "%s+%#<PRIx64>"
-msgstr ""
-
-#: src/readelf.c:3152
-#, c-format
-msgid "%s+%#0*<PRIx64>"
-msgstr ""
-
-#: src/readelf.c:3260
-#, c-format
-msgid "unknown tag %hx"
-msgstr ""
-
-#: src/readelf.c:3262
-#, c-format
-msgid "unknown user tag %hx"
-msgstr ""
-
-#: src/readelf.c:3480
-#, c-format
-msgid "unknown attribute %hx"
-msgstr ""
-
-#: src/readelf.c:3483
-#, c-format
-msgid "unknown user attribute %hx"
-msgstr ""
-
-#: src/readelf.c:3529
-#, c-format
-msgid "unknown form %<PRIx64>"
-msgstr ""
-
-#: src/readelf.c:3763
-msgid "empty block"
-msgstr ""
-
-#: src/readelf.c:3766
-#, c-format
-msgid "%zu byte block:"
-msgstr ""
-
-#: src/readelf.c:4175
-#, c-format
-msgid "%*s[%4<PRIuMAX>] %s  <TRUNCATED>\n"
-msgstr ""
-
-#: src/readelf.c:4188
-#, c-format
-msgid ""
-"\n"
-"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n"
-" [ Code]\n"
-msgstr ""
-
-#: src/readelf.c:4195
-#, c-format
-msgid ""
-"\n"
-"Abbreviation section at offset %<PRIu64>:\n"
-msgstr ""
-
-#: src/readelf.c:4208
-#, c-format
-msgid " *** error while reading abbreviation: %s\n"
-msgstr ""
-
-#: src/readelf.c:4224
-#, c-format
-msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
-msgstr ""
-
-#: src/readelf.c:4227
-msgid "yes"
-msgstr ""
-
-#: src/readelf.c:4227
-msgid "no"
-msgstr ""
-
-#: src/readelf.c:4263
-#, c-format
-msgid "cannot get .debug_aranges content: %s"
-msgstr ""
-
-#: src/readelf.c:4268
-#, 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:4298
-#, c-format
-msgid " [%*zu] ???\n"
-msgstr ""
-
-#: src/readelf.c:4300
-#, c-format
-msgid ""
-" [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
-msgstr ""
-
-#: src/readelf.c:4319
-#, c-format
-msgid "cannot get .debug_ranges content: %s"
-msgstr ""
-
-#: src/readelf.c:4324 src/readelf.c:4810 src/readelf.c:5452 src/readelf.c:5897
-#: src/readelf.c:5992 src/readelf.c:6164
-#, c-format
-msgid ""
-"\n"
-"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:4338 src/readelf.c:5911
-#, c-format
-msgid " [%6tx]  <INVALID DATA>\n"
-msgstr ""
-
-#: src/readelf.c:4360 src/readelf.c:5933
-#, c-format
-msgid " [%6tx]  base address %s\n"
-msgstr ""
-
-#: src/readelf.c:4371
-#, c-format
-msgid " [%6tx]  %s..%s\n"
-msgstr ""
-
-#: src/readelf.c:4373
-#, c-format
-msgid "           %s..%s\n"
-msgstr ""
-
-#: src/readelf.c:4799 src/readelf.c:6230 src/readelf.c:6332
-#, c-format
-msgid "cannot get %s content: %s"
-msgstr ""
-
-#: src/readelf.c:4806
-#, c-format
-msgid ""
-"\n"
-"Call frame information section [%2zu] '%s' at offset %#<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:4833 src/readelf.c:5486
-#, c-format
-msgid "invalid data in section [%zu] '%s'"
-msgstr ""
-
-#: src/readelf.c:4855
-#, c-format
-msgid ""
-"\n"
-" [%6tx] Zero terminator\n"
-msgstr ""
-
-#: src/readelf.c:4924
-#, c-format
-msgid "invalid augmentation length"
-msgstr ""
-
-#: src/readelf.c:4936
-msgid "FDE address encoding: "
-msgstr ""
-
-#: src/readelf.c:4942
-msgid "LSDA pointer encoding: "
-msgstr ""
-
-#: src/readelf.c:5034
-#, c-format
-msgid " (offset: %#<PRIx64>)"
-msgstr ""
-
-#: src/readelf.c:5041
-#, c-format
-msgid " (end offset: %#<PRIx64>)"
-msgstr ""
-
-#: src/readelf.c:5068
-#, c-format
-msgid "   %-26sLSDA pointer: %#<PRIx64>\n"
-msgstr ""
-
-#: src/readelf.c:5114
-#, c-format
-msgid "cannot get attribute code: %s"
-msgstr ""
-
-#: src/readelf.c:5122
-#, c-format
-msgid "cannot get attribute form: %s"
-msgstr ""
-
-#: src/readelf.c:5135
-#, c-format
-msgid "cannot get attribute value: %s"
-msgstr ""
-
-#: src/readelf.c:5331
-#, c-format
-msgid ""
-"\n"
-"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n"
-" [Offset]\n"
-msgstr ""
-
-#: src/readelf.c:5356
-#, 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:5374
-#, c-format
-msgid "cannot get DIE at offset %<PRIu64> in section '%s': %s"
-msgstr ""
-
-#: src/readelf.c:5385
-#, c-format
-msgid "cannot get DIE offset: %s"
-msgstr ""
-
-#: src/readelf.c:5393
-#, c-format
-msgid "cannot get tag of DIE at offset %<PRIu64> in section '%s': %s"
-msgstr ""
-
-#: src/readelf.c:5422
-#, c-format
-msgid "cannot get next DIE: %s\n"
-msgstr ""
-
-#: src/readelf.c:5429
-#, c-format
-msgid "cannot get next DIE: %s"
-msgstr ""
-
-#: src/readelf.c:5464
-#, c-format
-msgid "cannot get line data section data: %s"
-msgstr ""
-
-#: src/readelf.c:5477
-#, c-format
-msgid ""
-"\n"
-"Table at offset %Zu:\n"
-msgstr ""
-
-#: src/readelf.c:5529
-#, 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:5548
-#, c-format
-msgid "invalid data at offset %tu in section [%zu] '%s'"
-msgstr ""
-
-#: src/readelf.c:5563
-#, c-format
-msgid "  [%*<PRIuFAST8>]  %hhu argument\n"
-msgid_plural "  [%*<PRIuFAST8>]  %hhu arguments\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: src/readelf.c:5571
-msgid ""
-"\n"
-"Directory table:"
-msgstr ""
-
-#: src/readelf.c:5587
-msgid ""
-"\n"
-"File name table:\n"
-" Entry Dir   Time      Size      Name"
-msgstr ""
-
-#: src/readelf.c:5616
-msgid ""
-"\n"
-"Line number statements:"
-msgstr ""
-
-#: src/readelf.c:5677
-#, c-format
-msgid " special opcode %u: address+%u = %s, line%+d = %zu\n"
-msgstr ""
-
-#: src/readelf.c:5697
-#, c-format
-msgid " extended opcode %u: "
-msgstr ""
-
-#: src/readelf.c:5702
-msgid "end of sequence"
-msgstr ""
-
-#: src/readelf.c:5717
-#, c-format
-msgid "set address to %s\n"
-msgstr ""
-
-#: src/readelf.c:5738
-#, c-format
-msgid "define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
-msgstr ""
-
-#: src/readelf.c:5747
-msgid "unknown opcode"
-msgstr ""
-
-#: src/readelf.c:5759
-msgid " copy"
-msgstr ""
-
-#: src/readelf.c:5769
-#, c-format
-msgid "advance address by %u to %s\n"
-msgstr ""
-
-#: src/readelf.c:5780
-#, c-format
-msgid " advance line by constant %d to %<PRId64>\n"
-msgstr ""
-
-#: src/readelf.c:5788
-#, c-format
-msgid " set file to %<PRIu64>\n"
-msgstr ""
-
-#: src/readelf.c:5798
-#, c-format
-msgid " set column to %<PRIu64>\n"
-msgstr ""
-
-#: src/readelf.c:5805
-#, c-format
-msgid " set '%s' to %<PRIuFAST8>\n"
-msgstr ""
-
-#: src/readelf.c:5811
-msgid " set basic block flag"
-msgstr ""
-
-#: src/readelf.c:5821
-#, c-format
-msgid "advance address by constant %u to %s\n"
-msgstr ""
-
-#: src/readelf.c:5837
-#, c-format
-msgid "advance address by fixed value %u to %s\n"
-msgstr ""
-
-#: src/readelf.c:5846
-msgid " set prologue end flag"
-msgstr ""
-
-#: src/readelf.c:5851
-msgid " set epilogue begin flag"
-msgstr ""
-
-#: src/readelf.c:5860
-#, c-format
-msgid " unknown opcode with %<PRIu8> parameter:"
-msgid_plural " unknown opcode with %<PRIu8> parameters:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: src/readelf.c:5892
-#, c-format
-msgid "cannot get .debug_loc content: %s"
-msgstr ""
-
-#: src/readelf.c:5947
-#, c-format
-msgid " [%6tx]  %s..%s"
-msgstr ""
-
-#: src/readelf.c:5949
-#, c-format
-msgid "           %s..%s"
-msgstr ""
-
-#: src/readelf.c:6002
-#, c-format
-msgid "cannot get macro information section data: %s"
-msgstr ""
-
-#: src/readelf.c:6081
-#, c-format
-msgid "%*s*** non-terminated string at end of section"
-msgstr ""
-
-#: src/readelf.c:6149
-#, c-format
-msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
-msgstr ""
-
-#: src/readelf.c:6188
-#, c-format
-msgid ""
-"\n"
-"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n"
-" %*s  String\n"
-msgstr ""
-
-#: src/readelf.c:6202
-#, c-format
-msgid " *** error while reading strings: %s\n"
-msgstr ""
-
-#: src/readelf.c:6222
-#, c-format
-msgid ""
-"\n"
-"Call frame search table section [%2zu] '.eh_frame_hdr':\n"
-msgstr ""
-
-#: src/readelf.c:6324
-#, c-format
-msgid ""
-"\n"
-"Exception handling table section [%2zu] '.gcc_except_table':\n"
-msgstr ""
-
-#: src/readelf.c:6347
-#, c-format
-msgid " LPStart encoding:    %#x "
-msgstr ""
-
-#: src/readelf.c:6359
-#, c-format
-msgid " TType encoding:      %#x "
-msgstr ""
-
-#: src/readelf.c:6373
-#, c-format
-msgid " Call site encoding:  %#x "
-msgstr ""
-
-#: src/readelf.c:6386
-msgid ""
-"\n"
-" Call site table:"
-msgstr ""
-
-#: src/readelf.c:6400
-#, 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:6460
-#, c-format
-msgid "invalid TType encoding"
-msgstr ""
-
-#: src/readelf.c:6484
-#, c-format
-msgid "cannot get debug context descriptor: %s"
-msgstr ""
-
-#: src/readelf.c:6620 src/readelf.c:7221
-#, c-format
-msgid "cannot convert core note data: %s"
-msgstr ""
-
-#: src/readelf.c:6961
-#, c-format
-msgid ""
-"\n"
-"%*s... <repeats %u more times> ..."
-msgstr ""
-
-#: src/readelf.c:7320
-msgid "  Owner          Data size  Type\n"
-msgstr ""
-
-#: src/readelf.c:7338
-#, c-format
-msgid "  %-13.*s  %9<PRId32>  %s\n"
-msgstr ""
-
-#: src/readelf.c:7372
-#, c-format
-msgid "cannot get content of note section: %s"
-msgstr ""
-
-#: src/readelf.c:7399
-#, c-format
-msgid ""
-"\n"
-"Note section [%2zu] '%s' of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:7422
-#, c-format
-msgid ""
-"\n"
-"Note segment of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:7468
-#, c-format
-msgid ""
-"\n"
-"Section [%Zu] '%s' has no data to dump.\n"
-msgstr ""
-
-#: src/readelf.c:7474 src/readelf.c:7497
-#, c-format
-msgid "cannot get data for section [%Zu] '%s': %s"
-msgstr ""
-
-#: src/readelf.c:7478
-#, c-format
-msgid ""
-"\n"
-"Hex dump of section [%Zu] '%s', %<PRIu64> bytes at offset %#0<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:7491
-#, c-format
-msgid ""
-"\n"
-"Section [%Zu] '%s' has no strings to dump.\n"
-msgstr ""
-
-#: src/readelf.c:7501
-#, c-format
-msgid ""
-"\n"
-"String section [%Zu] '%s' contains %<PRIu64> bytes at offset %#0<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:7549
-#, c-format
-msgid ""
-"\n"
-"section [%lu] does not exist"
-msgstr ""
-
-#: src/readelf.c:7576
-#, c-format
-msgid ""
-"\n"
-"section '%s' does not exist"
-msgstr ""
-
-#: src/readelf.c:7637
-#, c-format
-msgid "cannot get symbol index of archive '%s': %s"
-msgstr ""
-
-#: src/readelf.c:7640
-#, c-format
-msgid ""
-"\n"
-"Archive '%s' has no symbol index\n"
-msgstr ""
-
-#: src/readelf.c:7644
-#, c-format
-msgid ""
-"\n"
-"Index of archive '%s' has %Zu entries:\n"
-msgstr ""
-
-#: src/readelf.c:7662
-#, c-format
-msgid "cannot extract member at offset %Zu in '%s': %s"
-msgstr ""
-
-#: src/readelf.c:7667
-#, 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 ""
-
-#: 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/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 ""
-
-#: 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/strip.c:74
-msgid "Place stripped output into FILE"
-msgstr ""
-
-#: src/strip.c:75
-msgid "Extract the removed sections into FILE"
-msgstr ""
-
-#: src/strip.c:76
-msgid "Embed name FILE instead of -f argument"
-msgstr ""
-
-#: src/strip.c:80
-msgid "Remove all debugging symbols"
-msgstr ""
-
-#: src/strip.c:84
-msgid "Copy modified/access timestamps to the output"
-msgstr ""
-
-#: src/strip.c:86
-msgid "Remove .comment section"
-msgstr ""
-
-#: src/strip.c:89
-msgid "Relax a few rules to handle slightly broken ELF files"
-msgstr ""
-
-#: src/strip.c:94
-msgid "Discard symbols from object files."
-msgstr ""
-
-#: src/strip.c:186
-#, c-format
-msgid "Only one input file allowed together with '-o' and '-f'"
-msgstr ""
-
-#: src/strip.c:222
-#, c-format
-msgid "-f option specified twice"
-msgstr ""
-
-#: src/strip.c:231
-#, c-format
-msgid "-F option specified twice"
-msgstr ""
-
-#: src/strip.c:240 src/unstrip.c:125
-#, c-format
-msgid "-o option specified twice"
-msgstr ""
-
-#: src/strip.c:260
-#, c-format
-msgid "-R option supports only .comment section"
-msgstr ""
-
-#: src/strip.c:298 src/strip.c:322
-#, c-format
-msgid "cannot stat input file '%s'"
-msgstr ""
-
-#: src/strip.c:312
-#, c-format
-msgid "while opening '%s'"
-msgstr ""
-
-#: src/strip.c:350
-#, c-format
-msgid "%s: cannot use -o or -f when stripping archive"
-msgstr ""
-
-#: src/strip.c:448
-#, c-format
-msgid "cannot open EBL backend"
-msgstr ""
-
-#: src/strip.c:498 src/strip.c:522
-#, c-format
-msgid "cannot create new file '%s': %s"
-msgstr ""
-
-#: src/strip.c:582
-#, c-format
-msgid "illformed file '%s'"
-msgstr ""
-
-#: src/strip.c:869 src/strip.c:956
-#, c-format
-msgid "while generating output file: %s"
-msgstr ""
-
-#: src/strip.c:929 src/strip.c:1668
-#, c-format
-msgid "%s: error while creating ELF header: %s"
-msgstr ""
-
-#: src/strip.c:943
-#, c-format
-msgid "while preparing output for '%s'"
-msgstr ""
-
-#: src/strip.c:994 src/strip.c:1050
-#, c-format
-msgid "while create section header section: %s"
-msgstr ""
-
-#: src/strip.c:1000
-#, c-format
-msgid "cannot allocate section data: %s"
-msgstr ""
-
-#: src/strip.c:1059
-#, c-format
-msgid "while create section header string table: %s"
-msgstr ""
-
-#: src/strip.c:1593 src/strip.c:1690
-#, c-format
-msgid "while writing '%s': %s"
-msgstr ""
-
-#: src/strip.c:1604
-#, c-format
-msgid "while creating '%s'"
-msgstr ""
-
-#: src/strip.c:1616
-#, c-format
-msgid "while computing checksum for debug information"
-msgstr ""
-
-#: src/strip.c:1676
-#, c-format
-msgid "%s: error while reading the file: %s"
-msgstr ""
-
-#: src/strip.c:1722 src/strip.c:1729
-#, c-format
-msgid "error while finishing '%s': %s"
-msgstr ""
-
-#: src/strip.c:1752 src/strip.c:1809
-#, c-format
-msgid "cannot set access and modification date of '%s'"
-msgstr ""
-
-#: src/unstrip.c:78
-msgid "Match MODULE against file names, not module names"
-msgstr ""
-
-#: src/unstrip.c:79
-msgid "Silently skip unfindable files"
-msgstr ""
-
-#: src/unstrip.c:82
-msgid "Place output into FILE"
-msgstr ""
-
-#: src/unstrip.c:84
-msgid "Create multiple output files under DIRECTORY"
-msgstr ""
-
-#: src/unstrip.c:85
-msgid "Use module rather than file names"
-msgstr ""
-
-#: src/unstrip.c:87
-msgid "Create output for modules that have no separate debug information"
-msgstr ""
-
-#: src/unstrip.c:90
-msgid "Apply relocations to section contents in ET_REL files"
-msgstr ""
-
-#: src/unstrip.c:92
-msgid "Only list module and file names, build IDs"
-msgstr ""
-
-#: src/unstrip.c:134
-#, c-format
-msgid "-d option specified twice"
-msgstr ""
-
-#: src/unstrip.c:166
-#, c-format
-msgid "only one of -o or -d allowed"
-msgstr ""
-
-#: src/unstrip.c:175
-#, c-format
-msgid "-n cannot be used with explicit files or -o or -d"
-msgstr ""
-
-#: src/unstrip.c:190
-#, c-format
-msgid "output directory '%s'"
-msgstr ""
-
-#: src/unstrip.c:199
-#, c-format
-msgid "exactly two file arguments are required"
-msgstr ""
-
-#: src/unstrip.c:205
-#, c-format
-msgid "-m, -a, -R, and -i options not allowed with explicit files"
-msgstr ""
-
-#: src/unstrip.c:218
-#, c-format
-msgid "-o or -d is required when using implicit files"
-msgstr ""
-
-#: src/unstrip.c:254
-#, c-format
-msgid "cannot create ELF header: %s"
-msgstr ""
-
-#: src/unstrip.c:259
-#, c-format
-msgid "cannot copy ELF header: %s"
-msgstr ""
-
-#: src/unstrip.c:264 src/unstrip.c:1817
-#, c-format
-msgid "cannot create program headers: %s"
-msgstr ""
-
-#: src/unstrip.c:270
-#, c-format
-msgid "cannot copy program header: %s"
-msgstr ""
-
-#: src/unstrip.c:280
-#, c-format
-msgid "cannot copy section header: %s"
-msgstr ""
-
-#: src/unstrip.c:283 src/unstrip.c:1505
-#, c-format
-msgid "cannot get section data: %s"
-msgstr ""
-
-#: src/unstrip.c:285 src/unstrip.c:1507
-#, c-format
-msgid "cannot copy section data: %s"
-msgstr ""
-
-#: src/unstrip.c:309
-#, c-format
-msgid "cannot create directory '%s'"
-msgstr ""
-
-#: src/unstrip.c:349 src/unstrip.c:763 src/unstrip.c:1540
-#, c-format
-msgid "cannot get symbol table entry: %s"
-msgstr ""
-
-#: src/unstrip.c:365 src/unstrip.c:580 src/unstrip.c:601 src/unstrip.c:613
-#: src/unstrip.c:1561 src/unstrip.c:1691 src/unstrip.c:1715
-#, c-format
-msgid "cannot update symbol table: %s"
-msgstr ""
-
-#: src/unstrip.c:382 src/unstrip.c:432 src/unstrip.c:562 src/unstrip.c:1209
-#: src/unstrip.c:1525 src/unstrip.c:1720 src/unstrip.c:1791
-#, c-format
-msgid "cannot update section header: %s"
-msgstr ""
-
-#: src/unstrip.c:408 src/unstrip.c:419
-#, c-format
-msgid "cannot update relocation: %s"
-msgstr ""
-
-#: src/unstrip.c:507
-#, c-format
-msgid "cannot get symbol version: %s"
-msgstr ""
-
-#: src/unstrip.c:519
-#, c-format
-msgid "unexpected section type in [%Zu] with sh_link to symtab"
-msgstr ""
-
-#: src/unstrip.c:769
-#, c-format
-msgid "invalid string offset in symbol [%Zu]"
-msgstr ""
-
-#: src/unstrip.c:911 src/unstrip.c:1248
-#, c-format
-msgid "cannot read section [%Zu] name: %s"
-msgstr ""
-
-#: src/unstrip.c:952 src/unstrip.c:971 src/unstrip.c:1004
-#, c-format
-msgid "cannot read '.gnu.prelink_undo' section: %s"
-msgstr ""
-
-#: src/unstrip.c:992
-#, c-format
-msgid "invalid contents in '%s' section"
-msgstr ""
-
-#: src/unstrip.c:1047 src/unstrip.c:1370
-#, c-format
-msgid "cannot find matching section for [%Zu] '%s'"
-msgstr ""
-
-#: src/unstrip.c:1171 src/unstrip.c:1186 src/unstrip.c:1451
-#, c-format
-msgid "cannot add section name to string table: %s"
-msgstr ""
-
-#: src/unstrip.c:1195
-#, c-format
-msgid "cannot update section header string table data: %s"
-msgstr ""
-
-#: src/unstrip.c:1223 src/unstrip.c:1227
-#, c-format
-msgid "cannot get section header string table section index: %s"
-msgstr ""
-
-#: src/unstrip.c:1231 src/unstrip.c:1235 src/unstrip.c:1466
-#, c-format
-msgid "cannot get section count: %s"
-msgstr ""
-
-#: src/unstrip.c:1293 src/unstrip.c:1385
-#, c-format
-msgid "cannot read section header string table: %s"
-msgstr ""
-
-#: src/unstrip.c:1445
-#, c-format
-msgid "cannot add new section: %s"
-msgstr ""
-
-#: src/unstrip.c:1548
-#, c-format
-msgid "symbol [%Zu] has invalid section index"
-msgstr ""
-
-#: src/unstrip.c:1800
-#, c-format
-msgid "cannot get ELF header: %s"
-msgstr ""
-
-#: src/unstrip.c:1827
-#, c-format
-msgid "cannot update program header: %s"
-msgstr ""
-
-#: src/unstrip.c:1832 src/unstrip.c:1911
-#, c-format
-msgid "cannot write output file: %s"
-msgstr ""
-
-#: src/unstrip.c:1880
-#, c-format
-msgid "DWARF data not adjusted for prelinking bias; consider prelink -u"
-msgstr ""
-
-#: src/unstrip.c:1883
-#, c-format
-msgid ""
-"DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u"
-msgstr ""
-
-#: src/unstrip.c:1902 src/unstrip.c:1942 src/unstrip.c:1954 src/unstrip.c:2034
-#, c-format
-msgid "cannot create ELF descriptor: %s"
-msgstr ""
-
-#: src/unstrip.c:1960
-#, c-format
-msgid "'%s' and '%s' do not seem to match"
-msgstr ""
-
-#: src/unstrip.c:1991
-#, c-format
-msgid "cannot find stripped file for module '%s': %s"
-msgstr ""
-
-#: src/unstrip.c:1995
-#, c-format
-msgid "cannot open stripped file '%s' for module '%s': %s"
-msgstr ""
-
-#: src/unstrip.c:2010
-#, c-format
-msgid "cannot find debug file for module '%s': %s"
-msgstr ""
-
-#: src/unstrip.c:2014
-#, c-format
-msgid "cannot open debug file '%s' for module '%s': %s"
-msgstr ""
-
-#: src/unstrip.c:2027
-#, c-format
-msgid "module '%s' file '%s' is not stripped"
-msgstr ""
-
-#: src/unstrip.c:2058
-#, c-format
-msgid "cannot cache section addresses for module '%s': %s"
-msgstr ""
-
-#: src/unstrip.c:2191
-#, c-format
-msgid "no matching modules found"
-msgstr ""
-
-#: src/unstrip.c:2200
-#, c-format
-msgid "matched more than one module"
-msgstr ""
-
-#: src/unstrip.c:2247
-msgid ""
-"STRIPPED-FILE DEBUG-FILE\n"
-"[MODULE...]"
-msgstr ""
-
-#: src/unstrip.c:2248
-msgid ""
-"Combine stripped files with separate symbols and debug information.\n\nThe "
-"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 ""
diff --git a/po/insert-header.sin b/po/insert-header.sin
deleted file mode 100644
index b26de01..0000000
--- a/po/insert-header.sin
+++ /dev/null
@@ -1,23 +0,0 @@
-# Sed script that inserts the file called HEADER before the header entry.
-#
-# At each occurrence of a line starting with "msgid ", we execute the following
-# commands. At the first occurrence, insert the file. At the following
-# occurrences, do nothing. The distinction between the first and the following
-# occurrences is achieved by looking at the hold space.
-/^msgid /{
-x
-# Test if the hold space is empty.
-s/m/m/
-ta
-# Yes it was empty. First occurrence. Read the file.
-r HEADER
-# Output the file's contents by reading the next line. But don't lose the
-# current line while doing this.
-g
-N
-bb
-:a
-# The hold space was nonempty. Following occurrences. Do nothing.
-x
-:b
-}
diff --git a/po/it.po b/po/it.po
deleted file mode 100644
index 61e8ae0..0000000
--- a/po/it.po
+++ /dev/null
@@ -1,5666 +0,0 @@
-# translation of elfutils.master.RedHatelfutils.it.po to Italiano
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-# Francesco Tombolini <tombo@adamantio.net>, 2009.
-msgid ""
-msgstr ""
-"Project-Id-Version: elfutils.master.RedHatelfutils.it\n"
-"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2010-04-21 07:41-0700\n"
-"PO-Revision-Date: 2009-04-30 03:50+0200\n"
-"Last-Translator: Francesco Tombolini <tombo@adamantio.net>\n"
-"Language-Team: Italiano <fedora-trans-it@redhat.com>\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"
-"X-Generator: KBabel 1.11.4\n"
-
-#: lib/xmalloc.c:51 lib/xmalloc.c:65 lib/xmalloc.c:79 src/readelf.c:2822
-#: src/readelf.c:3161 src/unstrip.c:2087 src/unstrip.c:2295
-#, c-format
-msgid "memory exhausted"
-msgstr ""
-
-#: libasm/asm_error.c:62 libdw/dwarf_error.c:79 libdwfl/libdwflP.h:70
-#: libelf/elf_error.c:81
-msgid "no error"
-msgstr ""
-
-#: libasm/asm_error.c:63 libdw/dwarf_error.c:88 libdwfl/libdwflP.h:72
-#: libelf/elf_error.c:112
-msgid "out of memory"
-msgstr ""
-
-#: libasm/asm_error.c:64 src/ldgeneric.c:2687
-#, c-format
-msgid "cannot create output file"
-msgstr ""
-
-#: libasm/asm_error.c:65
-msgid "invalid parameter"
-msgstr ""
-
-#: libasm/asm_error.c:66
-msgid "cannot change mode of output file"
-msgstr ""
-
-#: libasm/asm_error.c:67 src/ldgeneric.c:7001
-#, c-format
-msgid "cannot rename output file"
-msgstr ""
-
-#: libasm/asm_error.c:68
-msgid "duplicate symbol"
-msgstr ""
-
-#: libasm/asm_error.c:69
-msgid "invalid section type for operation"
-msgstr ""
-
-#: libasm/asm_error.c:70
-msgid "error during output of data"
-msgstr ""
-
-#: libasm/asm_error.c:71
-msgid "no backend support available"
-msgstr ""
-
-#: libasm/asm_error.c:81 libdw/dwarf_error.c:80 libdwfl/libdwflP.h:71
-#: libelf/elf_error.c:84
-msgid "unknown error"
-msgstr ""
-
-#: libdw/dwarf_error.c:81
-msgid "invalid access"
-msgstr ""
-
-#: libdw/dwarf_error.c:82
-msgid "no regular file"
-msgstr ""
-
-#: libdw/dwarf_error.c:83
-msgid "I/O error"
-msgstr ""
-
-#: libdw/dwarf_error.c:84
-msgid "invalid ELF file"
-msgstr ""
-
-#: libdw/dwarf_error.c:85
-msgid "no DWARF information"
-msgstr ""
-
-#: libdw/dwarf_error.c:86
-msgid "no ELF file"
-msgstr ""
-
-#: libdw/dwarf_error.c:87
-msgid "cannot get ELF header"
-msgstr ""
-
-#: libdw/dwarf_error.c:89
-msgid "not implemented"
-msgstr ""
-
-#: libdw/dwarf_error.c:90 libelf/elf_error.c:128 libelf/elf_error.c:176
-msgid "invalid command"
-msgstr ""
-
-#: libdw/dwarf_error.c:91
-msgid "invalid version"
-msgstr ""
-
-#: libdw/dwarf_error.c:92
-msgid "invalid file"
-msgstr ""
-
-#: libdw/dwarf_error.c:93
-msgid "no entries found"
-msgstr ""
-
-#: libdw/dwarf_error.c:94
-msgid "invalid DWARF"
-msgstr ""
-
-#: libdw/dwarf_error.c:95
-msgid "no string data"
-msgstr ""
-
-#: libdw/dwarf_error.c:96
-msgid "no address value"
-msgstr ""
-
-#: libdw/dwarf_error.c:97
-msgid "no constant value"
-msgstr ""
-
-#: libdw/dwarf_error.c:98
-msgid "no reference value"
-msgstr ""
-
-#: libdw/dwarf_error.c:99
-msgid "invalid reference value"
-msgstr ""
-
-#: libdw/dwarf_error.c:100
-msgid ".debug_line section missing"
-msgstr ""
-
-#: libdw/dwarf_error.c:101
-msgid "invalid .debug_line section"
-msgstr ""
-
-#: libdw/dwarf_error.c:102
-msgid "debug information too big"
-msgstr ""
-
-#: libdw/dwarf_error.c:103
-msgid "invalid DWARF version"
-msgstr ""
-
-#: libdw/dwarf_error.c:104
-msgid "invalid directory index"
-msgstr ""
-
-#: libdw/dwarf_error.c:105 libdwfl/libdwflP.h:91
-msgid "address out of range"
-msgstr ""
-
-#: 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 ""
-
-#: libdw/dwarf_error.c:109
-msgid "invalid address range index"
-msgstr ""
-
-#: libdw/dwarf_error.c:110 libdwfl/libdwflP.h:92
-msgid "no matching address range"
-msgstr ""
-
-#: libdw/dwarf_error.c:111
-msgid "no flag value"
-msgstr ""
-
-#: libdw/dwarf_error.c:112 libelf/elf_error.c:253
-msgid "invalid offset"
-msgstr ""
-
-#: libdw/dwarf_error.c:113
-msgid ".debug_ranges section missing"
-msgstr ""
-
-#: libdw/dwarf_error.c:114
-msgid "invalid CFI section"
-msgstr ""
-
-#: libdwfl/argp-std.c:67 src/unstrip.c:2237
-msgid "Input selection options:"
-msgstr ""
-
-#: libdwfl/argp-std.c:68
-msgid "Find addresses in FILE"
-msgstr ""
-
-#: libdwfl/argp-std.c:70
-msgid "Find addresses from signatures found in COREFILE"
-msgstr ""
-
-#: 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 ""
-
-#: libdwfl/argp-std.c:78
-msgid "Kernel with all modules"
-msgstr ""
-
-#: libdwfl/argp-std.c:80
-msgid "Search path for separate debuginfo files"
-msgstr ""
-
-#: libdwfl/argp-std.c:163
-msgid "only one of -e, -p, -k, -K, or --core allowed"
-msgstr ""
-
-#: libdwfl/argp-std.c:223
-#, c-format
-msgid "cannot read ELF core file: %s"
-msgstr ""
-
-#: libdwfl/argp-std.c:241
-msgid "No modules recognized in core file"
-msgstr ""
-
-#: libdwfl/argp-std.c:253
-msgid "cannot load kernel symbols"
-msgstr ""
-
-#: libdwfl/argp-std.c:257
-msgid "cannot find kernel modules"
-msgstr ""
-
-#: libdwfl/argp-std.c:271
-msgid "cannot find kernel or modules"
-msgstr ""
-
-#: libdwfl/libdwflP.h:73
-msgid "See errno"
-msgstr ""
-
-#: libdwfl/libdwflP.h:74
-msgid "See elf_errno"
-msgstr ""
-
-#: libdwfl/libdwflP.h:75
-msgid "See dwarf_errno"
-msgstr ""
-
-#: libdwfl/libdwflP.h:76
-msgid "See ebl_errno (XXX missing)"
-msgstr ""
-
-#: libdwfl/libdwflP.h:77
-msgid "gzip decompression failed"
-msgstr ""
-
-#: libdwfl/libdwflP.h:78
-msgid "bzip2 decompression failed"
-msgstr ""
-
-#: libdwfl/libdwflP.h:79
-msgid "LZMA decompression failed"
-msgstr ""
-
-#: libdwfl/libdwflP.h:80
-msgid "no support library found for machine"
-msgstr ""
-
-#: libdwfl/libdwflP.h:81
-msgid "Callbacks missing for ET_REL file"
-msgstr ""
-
-#: libdwfl/libdwflP.h:82
-msgid "Unsupported relocation type"
-msgstr ""
-
-#: libdwfl/libdwflP.h:83
-msgid "r_offset is bogus"
-msgstr ""
-
-#: libdwfl/libdwflP.h:84 libelf/elf_error.c:132 libelf/elf_error.c:192
-msgid "offset out of range"
-msgstr ""
-
-#: libdwfl/libdwflP.h:85
-msgid "relocation refers to undefined symbol"
-msgstr ""
-
-#: libdwfl/libdwflP.h:86
-msgid "Callback returned failure"
-msgstr ""
-
-#: libdwfl/libdwflP.h:87
-msgid "No DWARF information found"
-msgstr ""
-
-#: libdwfl/libdwflP.h:88
-msgid "No symbol table found"
-msgstr ""
-
-#: libdwfl/libdwflP.h:89
-msgid "No ELF program headers"
-msgstr ""
-
-#: libdwfl/libdwflP.h:90
-msgid "address range overlaps an existing module"
-msgstr ""
-
-#: libdwfl/libdwflP.h:93
-msgid "image truncated"
-msgstr ""
-
-#: libdwfl/libdwflP.h:94
-msgid "ELF file opened"
-msgstr ""
-
-#: libdwfl/libdwflP.h:95
-msgid "not a valid ELF file"
-msgstr ""
-
-#: libdwfl/libdwflP.h:96
-msgid "cannot handle DWARF type description"
-msgstr ""
-
-#: libebl/eblbackendname.c:63
-msgid "No backend"
-msgstr ""
-
-#: libebl/eblcorenotetypename.c:107 libebl/eblobjecttypename.c:78
-#: libebl/eblobjnotetypename.c:86 libebl/eblosabiname.c:98
-#: libebl/eblsectionname.c:110 libebl/eblsectiontypename.c:140
-#: libebl/eblsegmenttypename.c:104
-msgid "<unknown>"
-msgstr ""
-
-#: libebl/ebldynamictagname.c:126
-#, c-format
-msgid "<unknown>: %#<PRIx64>"
-msgstr ""
-
-#: libebl/eblobjnote.c:76
-#, c-format
-msgid "    Build ID: "
-msgstr ""
-
-#: libebl/eblobjnote.c:87
-#, c-format
-msgid "    Linker version: %.*s\n"
-msgstr ""
-
-#: libebl/eblobjnote.c:136
-#, c-format
-msgid "    OS: %s, ABI: "
-msgstr ""
-
-#: libebl/eblosabiname.c:95
-msgid "Stand alone"
-msgstr ""
-
-#: libebl/eblsymbolbindingname.c:92 libebl/eblsymboltypename.c:98
-#, c-format
-msgid "<unknown>: %d"
-msgstr ""
-
-#: libelf/elf_error.c:88
-msgid "unknown version"
-msgstr ""
-
-#: libelf/elf_error.c:92
-msgid "unknown type"
-msgstr ""
-
-#: 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:4779
-#, c-format
-msgid "invalid encoding"
-msgstr ""
-
-#: libelf/elf_error.c:116
-msgid "invalid file descriptor"
-msgstr ""
-
-#: libelf/elf_error.c:120
-msgid "invalid operation"
-msgstr ""
-
-#: libelf/elf_error.c:124
-msgid "ELF version not set"
-msgstr ""
-
-#: libelf/elf_error.c:136
-msgid "invalid fmag field in archive header"
-msgstr ""
-
-#: libelf/elf_error.c:140
-msgid "invalid archive file"
-msgstr ""
-
-#: 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 ""
-
-#: libelf/elf_error.c:156
-msgid "cannot write data to file"
-msgstr ""
-
-#: 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 file descriptor 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:6242 src/readelf.c:6343
-#, c-format
-msgid "invalid data"
-msgstr ""
-
-#: libelf/elf_error.c:212
-msgid "unknown data encoding"
-msgstr ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/addr2line.c:73
-msgid "Treat addresses as offsets relative to NAME section."
-msgstr ""
-
-#: src/addr2line.c:75 src/elfcmp.c:75 src/findtextrel.c:75 src/nm.c:103
-#: src/strings.c:83
-msgid "Miscellaneous:"
-msgstr ""
-
-#: src/addr2line.c:84
-msgid ""
-"Locate source files and line information for ADDRs (in a.out by default)."
-msgstr ""
-
-#: src/addr2line.c:88
-msgid "[ADDR...]"
-msgstr ""
-
-#: src/addr2line.c:185 src/ar.c:289 src/elfcmp.c:555 src/elflint.c:239
-#: src/findtextrel.c:170 src/ld.c:957 src/nm.c:253 src/objdump.c:181
-#: src/ranlib.c:136 src/readelf.c:449 src/size.c:219 src/strings.c:227
-#: src/strip.c:204 src/unstrip.c:234
-#, 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 ""
-
-#: src/addr2line.c:190 src/ar.c:294 src/elfcmp.c:560 src/elflint.c:244
-#: src/findtextrel.c:175 src/ld.c:962 src/nm.c:258 src/objdump.c:186
-#: src/ranlib.c:141 src/readelf.c:454 src/size.c:224 src/strings.c:232
-#: src/strip.c:209 src/unstrip.c:239
-#, c-format
-msgid "Written by %s.\n"
-msgstr ""
-
-#: src/addr2line.c:405
-#, c-format
-msgid "Section syntax requires exactly one module"
-msgstr ""
-
-#: src/addr2line.c:428
-#, c-format
-msgid "offset %#<PRIxMAX> lies outside section '%s'"
-msgstr ""
-
-#: src/addr2line.c:461
-#, c-format
-msgid "cannot find symbol '%s'"
-msgstr ""
-
-#: src/addr2line.c:466
-#, c-format
-msgid "offset %#<PRIxMAX> lies outside contents of '%s'"
-msgstr ""
-
-#: src/ar.c:76
-msgid "Commands:"
-msgstr ""
-
-#: src/ar.c:77
-msgid "Delete files from archive."
-msgstr ""
-
-#: src/ar.c:78
-msgid "Move files in archive."
-msgstr ""
-
-#: src/ar.c:79
-msgid "Print files in archive."
-msgstr ""
-
-#: src/ar.c:80
-msgid "Quick append files to archive."
-msgstr ""
-
-#: src/ar.c:82
-msgid "Replace existing or insert new file into archive."
-msgstr ""
-
-#: src/ar.c:83
-msgid "Display content of archive."
-msgstr ""
-
-#: src/ar.c:84
-msgid "Extract files from archive."
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:91
-msgid "Allow filename to be truncated if necessary."
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:96
-msgid "Insert file before [MEMBER]."
-msgstr ""
-
-#: src/ar.c:97
-msgid "Same as -b."
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:107
-msgid "Create, modify, and extract from archives."
-msgstr ""
-
-#: src/ar.c:110
-msgid "[MEMBER] [COUNT] ARCHIVE [FILE...]"
-msgstr ""
-
-#: src/ar.c:192
-#, c-format
-msgid "'a', 'b', and 'i' are only allowed with the 'm' and 'r' options"
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:230
-#, c-format
-msgid "invalid COUNT parameter %s"
-msgstr ""
-
-#: src/ar.c:237
-#, c-format
-msgid "'%c' is only meaningful with the 'x' option"
-msgstr ""
-
-#: src/ar.c:243
-#, c-format
-msgid "archive name required"
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:414
-#, c-format
-msgid "cannot open archive '%s': %s"
-msgstr ""
-
-#: src/ar.c:418
-#, c-format
-msgid "%s: not an archive file"
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:487 src/ar.c:929 src/ar.c:1129
-#, c-format
-msgid "cannot create hash table"
-msgstr ""
-
-#: src/ar.c:494 src/ar.c:936 src/ar.c:1138
-#, c-format
-msgid "cannot insert into hash table"
-msgstr ""
-
-#: src/ar.c:502 src/ranlib.c:176
-#, c-format
-msgid "cannot stat '%s'"
-msgstr ""
-
-#: src/ar.c:598
-#, c-format
-msgid "cannot read content of %s: %s"
-msgstr ""
-
-#: src/ar.c:641
-#, c-format
-msgid "cannot open %.*s"
-msgstr ""
-
-#: src/ar.c:663
-#, c-format
-msgid "failed to write %s"
-msgstr ""
-
-#: src/ar.c:675
-#, c-format
-msgid "cannot change mode of %s"
-msgstr ""
-
-#: src/ar.c:691
-#, c-format
-msgid "cannot change modification time of %s"
-msgstr ""
-
-#: src/ar.c:737
-#, c-format
-msgid "cannot rename temporary file to %.*s"
-msgstr ""
-
-#: src/ar.c:773 src/ar.c:1021 src/ar.c:1419 src/ranlib.c:250
-#, c-format
-msgid "cannot create new file"
-msgstr ""
-
-#: src/ar.c:1220
-#, c-format
-msgid "position member %s not found"
-msgstr ""
-
-#: src/ar.c:1230
-#, c-format
-msgid "%s: no entry %s in archive!\n"
-msgstr ""
-
-#: src/ar.c:1259 src/ldgeneric.c:519 src/objdump.c:257
-#, c-format
-msgid "cannot open %s"
-msgstr ""
-
-#: src/ar.c:1264
-#, c-format
-msgid "cannot stat %s"
-msgstr ""
-
-#: src/ar.c:1270
-#, c-format
-msgid "%s is no regular file"
-msgstr ""
-
-#: src/ar.c:1283
-#, c-format
-msgid "cannot get ELF descriptor for %s: %s\n"
-msgstr ""
-
-#: src/ar.c:1302
-#, c-format
-msgid "cannot read %s: %s"
-msgstr ""
-
-#: src/arlib.c:215
-#, c-format
-msgid "the archive '%s' is too large"
-msgstr ""
-
-#: src/arlib.c:228
-#, c-format
-msgid "cannot read ELF header of %s(%s): %s"
-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 ""
-
-#: src/elfcmp.c:80
-msgid "Compare relevant parts of two ELF files for equality."
-msgstr ""
-
-#: 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:198 src/elfcmp.c:201
-#, c-format
-msgid "cannot get section count of '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:206
-#, c-format
-msgid "%s %s diff: section count"
-msgstr ""
-
-#: src/elfcmp.c:214 src/elfcmp.c:217
-#, c-format
-msgid "cannot get program header count of '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:222
-#, c-format
-msgid "%s %s diff: program header count"
-msgstr ""
-
-#: src/elfcmp.c:281
-#, c-format
-msgid "%s %s differ: section header"
-msgstr ""
-
-#: src/elfcmp.c:309 src/elfcmp.c:315
-#, c-format
-msgid "cannot get content of section %zu in '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:331 src/elfcmp.c:337
-#, c-format
-msgid "cannot get symbol in '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:358
-#, c-format
-msgid "%s %s differ: symbol table [%zu]"
-msgstr ""
-
-#: src/elfcmp.c:361
-#, c-format
-msgid "%s %s differ: symbol table [%zu,%zu]"
-msgstr ""
-
-#: src/elfcmp.c:409
-#, c-format
-msgid "%s %s differ: section [%zu] '%s' content"
-msgstr ""
-
-#: src/elfcmp.c:413
-#, c-format
-msgid "%s %s differ: section [%zu,%zu] '%s' content"
-msgstr ""
-
-#: src/elfcmp.c:429
-#, c-format
-msgid "%s %s differ: unequal amount of important sections"
-msgstr ""
-
-#: src/elfcmp.c:463 src/elfcmp.c:468
-#, c-format
-msgid "cannot load data of '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:487 src/elfcmp.c:493
-#, c-format
-msgid "cannot get program header entry %d of '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:499
-#, c-format
-msgid "%s %s differ: program header %d"
-msgstr ""
-
-#: src/elfcmp.c:524
-#, c-format
-msgid "%s %s differ: gap"
-msgstr ""
-
-#: src/elfcmp.c:583
-#, c-format
-msgid "Invalid value '%s' for --gaps parameter."
-msgstr ""
-
-#: src/elfcmp.c:607 src/findtextrel.c:229 src/ldgeneric.c:1767
-#: src/ldgeneric.c:4257 src/nm.c:363 src/ranlib.c:169 src/size.c:301
-#: src/strings.c:183 src/strip.c:433 src/strip.c:468 src/unstrip.c:1900
-#: src/unstrip.c:1929
-#, c-format
-msgid "cannot open '%s'"
-msgstr ""
-
-#: src/elfcmp.c:611 src/findtextrel.c:236 src/ranlib.c:186
-#, c-format
-msgid "cannot create ELF descriptor for '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:616
-#, c-format
-msgid "cannot create EBL descriptor for '%s'"
-msgstr ""
-
-#: src/elfcmp.c:634
-#, c-format
-msgid "cannot get section header of section %zu: %s"
-msgstr ""
-
-#: src/elfcmp.c:644
-#, c-format
-msgid "cannot get content of section %zu: %s"
-msgstr ""
-
-#: src/elfcmp.c:654 src/elfcmp.c:668
-#, c-format
-msgid "cannot get relocation: %s"
-msgstr ""
-
-#: src/elflint.c:72
-msgid "Be extremely strict, flag level 2 features."
-msgstr ""
-
-#: src/elflint.c:73
-msgid "Do not print anything if successful"
-msgstr ""
-
-#: src/elflint.c:74
-msgid "Binary is a separate debuginfo file"
-msgstr ""
-
-#: src/elflint.c:76
-msgid ""
-"Binary has been created with GNU ld and is therefore known to be broken in "
-"certain ways"
-msgstr ""
-
-#: src/elflint.c:82
-msgid "Pedantic checking of ELF files compliance with gABI/psABI spec."
-msgstr ""
-
-#: src/elflint.c:86 src/readelf.c:118
-msgid "FILE..."
-msgstr ""
-
-#: src/elflint.c:159 src/readelf.c:272
-#, c-format
-msgid "cannot open input file"
-msgstr ""
-
-#: src/elflint.c:166
-#, c-format
-msgid "cannot generate Elf descriptor: %s\n"
-msgstr ""
-
-#: src/elflint.c:185
-#, c-format
-msgid "error while closing Elf descriptor: %s\n"
-msgstr ""
-
-#: src/elflint.c:189
-msgid "No errors"
-msgstr ""
-
-#: src/elflint.c:223 src/readelf.c:425
-msgid "Missing file name.\n"
-msgstr ""
-
-#: src/elflint.c:302
-#, c-format
-msgid " error while freeing sub-ELF descriptor: %s\n"
-msgstr ""
-
-#: src/elflint.c:310
-#, c-format
-msgid "Not an ELF file - it has the wrong magic bytes at the start\n"
-msgstr ""
-
-#: src/elflint.c:370
-#, c-format
-msgid "e_ident[%d] == %d is no known class\n"
-msgstr ""
-
-#: src/elflint.c:375
-#, c-format
-msgid "e_ident[%d] == %d is no known data encoding\n"
-msgstr ""
-
-#: src/elflint.c:379
-#, c-format
-msgid "unknown ELF header version number e_ident[%d] == %d\n"
-msgstr ""
-
-#: src/elflint.c:385
-#, c-format
-msgid "unsupported OS ABI e_ident[%d] == '%s'\n"
-msgstr ""
-
-#: src/elflint.c:391
-#, c-format
-msgid "unsupport ABI version e_ident[%d] == %d\n"
-msgstr ""
-
-#: src/elflint.c:396
-#, c-format
-msgid "e_ident[%zu] is not zero\n"
-msgstr ""
-
-#: src/elflint.c:401
-#, c-format
-msgid "unknown object file type %d\n"
-msgstr ""
-
-#: src/elflint.c:408
-#, c-format
-msgid "unknown machine type %d\n"
-msgstr ""
-
-#: src/elflint.c:412
-#, c-format
-msgid "unknown object file version\n"
-msgstr ""
-
-#: src/elflint.c:418
-#, c-format
-msgid "invalid program header offset\n"
-msgstr ""
-
-#: src/elflint.c:420
-#, c-format
-msgid "executables and DSOs cannot have zero program header offset\n"
-msgstr ""
-
-#: src/elflint.c:424
-#, c-format
-msgid "invalid number of program header entries\n"
-msgstr ""
-
-#: src/elflint.c:432
-#, c-format
-msgid "invalid section header table offset\n"
-msgstr ""
-
-#: src/elflint.c:435
-#, c-format
-msgid "section header table must be present\n"
-msgstr ""
-
-#: src/elflint.c:449
-#, c-format
-msgid "invalid number of section header table entries\n"
-msgstr ""
-
-#: src/elflint.c:466
-#, c-format
-msgid "invalid section header index\n"
-msgstr ""
-
-#: src/elflint.c:480
-#, c-format
-msgid "invalid number of program header table entries\n"
-msgstr ""
-
-#: src/elflint.c:489
-#, c-format
-msgid "invalid machine flags: %s\n"
-msgstr ""
-
-#: src/elflint.c:496 src/elflint.c:513
-#, c-format
-msgid "invalid ELF header size: %hd\n"
-msgstr ""
-
-#: src/elflint.c:499 src/elflint.c:516
-#, c-format
-msgid "invalid program header size: %hd\n"
-msgstr ""
-
-#: src/elflint.c:502 src/elflint.c:519
-#, c-format
-msgid "invalid program header position or size\n"
-msgstr ""
-
-#: src/elflint.c:505 src/elflint.c:522
-#, c-format
-msgid "invalid section header size: %hd\n"
-msgstr ""
-
-#: src/elflint.c:508 src/elflint.c:525
-#, c-format
-msgid "invalid section header position or size\n"
-msgstr ""
-
-#: src/elflint.c:569
-#, c-format
-msgid ""
-"section [%2d] '%s': section with SHF_GROUP flag set not part of a section "
-"group\n"
-msgstr ""
-
-#: src/elflint.c:573
-#, c-format
-msgid ""
-"section [%2d] '%s': section group [%2zu] '%s' does not precede group member\n"
-msgstr ""
-
-#: src/elflint.c:589 src/elflint.c:1432 src/elflint.c:1482 src/elflint.c:1591
-#: src/elflint.c:2185 src/elflint.c:2699 src/elflint.c:2860 src/elflint.c:2990
-#: src/elflint.c:3162 src/elflint.c:4062
-#, c-format
-msgid "section [%2d] '%s': cannot get section data\n"
-msgstr ""
-
-#: src/elflint.c:602 src/elflint.c:1598
-#, 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:625
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol table cannot have more than one extended index "
-"section\n"
-msgstr ""
-
-#: src/elflint.c:636
-#, c-format
-msgid "section [%2u] '%s': entry size is does not match ElfXX_Sym\n"
-msgstr ""
-
-#: src/elflint.c:645
-#, c-format
-msgid "section [%2d] '%s': cannot get symbol %d: %s\n"
-msgstr ""
-
-#: src/elflint.c:650 src/elflint.c:653 src/elflint.c:656 src/elflint.c:659
-#: src/elflint.c:662 src/elflint.c:665
-#, c-format
-msgid "section [%2d] '%s': '%s' in zeroth entry not zero\n"
-msgstr ""
-
-#: src/elflint.c:668
-#, c-format
-msgid "section [%2d] '%s': XINDEX for zeroth entry not zero\n"
-msgstr ""
-
-#: src/elflint.c:678
-#, c-format
-msgid "section [%2d] '%s': cannot get symbol %zu: %s\n"
-msgstr ""
-
-#: src/elflint.c:687
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: invalid name value\n"
-msgstr ""
-
-#: src/elflint.c:700
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: too large section index but no extended "
-"section index section\n"
-msgstr ""
-
-#: src/elflint.c:706
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: XINDEX used for index which would fit in "
-"st_shndx (%<PRIu32>)\n"
-msgstr ""
-
-#: src/elflint.c:718
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: invalid section index\n"
-msgstr ""
-
-#: src/elflint.c:726
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown type\n"
-msgstr ""
-
-#: src/elflint.c:732
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown symbol binding\n"
-msgstr ""
-
-#: src/elflint.c:737
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unique symbol not of object type\n"
-msgstr ""
-
-#: src/elflint.c:745
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: COMMON only allowed in relocatable files\n"
-msgstr ""
-
-#: src/elflint.c:749
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: local COMMON symbols are nonsense\n"
-msgstr ""
-
-#: src/elflint.c:753
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: function in COMMON section is nonsense\n"
-msgstr ""
-
-#: src/elflint.c:785
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: st_value out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:791 src/elflint.c:816 src/elflint.c:859
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu does not fit completely in referenced section "
-"[%2d] '%s'\n"
-msgstr ""
-
-#: src/elflint.c:800
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: referenced section [%2d] '%s' does not have "
-"SHF_TLS flag set\n"
-msgstr ""
-
-#: src/elflint.c:810 src/elflint.c:852
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: st_value out of bounds of referenced section "
-"[%2d] '%s'\n"
-msgstr ""
-
-#: src/elflint.c:837
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: TLS symbol but no TLS program header entry\n"
-msgstr ""
-
-#: src/elflint.c:845
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: st_value short of referenced section [%2d] '%"
-"s'\n"
-msgstr ""
-
-#: src/elflint.c:872
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: local symbol outside range described in "
-"sh_info\n"
-msgstr ""
-
-#: src/elflint.c:879
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: non-local symbol outside range described in "
-"sh_info\n"
-msgstr ""
-
-#: src/elflint.c:886
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: non-local section symbol\n"
-msgstr ""
-
-#: src/elflint.c:936
-#, c-format
-msgid ""
-"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to bad section [%"
-"2d]\n"
-msgstr ""
-
-#: src/elflint.c:943
-#, c-format
-msgid ""
-"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to section [%2d] '%"
-"s'\n"
-msgstr ""
-
-#: src/elflint.c:959
-#, c-format
-msgid ""
-"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol value %#<PRIx64> does not "
-"match %s section address %#<PRIx64>\n"
-msgstr ""
-
-#: src/elflint.c:966
-#, c-format
-msgid ""
-"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol size %<PRIu64> does not "
-"match %s section size %<PRIu64>\n"
-msgstr ""
-
-#: src/elflint.c:974
-#, c-format
-msgid ""
-"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol present, but no .got "
-"section\n"
-msgstr ""
-
-#: src/elflint.c:990
-#, c-format
-msgid ""
-"section [%2d] '%s': _DYNAMIC_ symbol value %#<PRIx64> does not match dynamic "
-"segment address %#<PRIx64>\n"
-msgstr ""
-
-#: src/elflint.c:997
-#, c-format
-msgid ""
-"section [%2d] '%s': _DYNAMIC symbol size %<PRIu64> does not match dynamic "
-"segment size %<PRIu64>\n"
-msgstr ""
-
-#: src/elflint.c:1010
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: symbol in dynamic symbol table with non-"
-"default visibility\n"
-msgstr ""
-
-#: src/elflint.c:1014
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown bit set in st_other\n"
-msgstr ""
-
-#: src/elflint.c:1059
-#, c-format
-msgid "section [%2d] '%s': DT_RELCOUNT used for this RELA section\n"
-msgstr ""
-
-#: src/elflint.c:1068 src/elflint.c:1120
-#, c-format
-msgid "section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"
-msgstr ""
-
-#: src/elflint.c:1093 src/elflint.c:1145
-#, c-format
-msgid ""
-"section [%2d] '%s': relative relocations after index %d as specified by "
-"DT_RELCOUNT\n"
-msgstr ""
-
-#: src/elflint.c:1099 src/elflint.c:1151
-#, c-format
-msgid ""
-"section [%2d] '%s': non-relative relocation at index %zu; DT_RELCOUNT "
-"specified %d relative relocations\n"
-msgstr ""
-
-#: src/elflint.c:1111
-#, c-format
-msgid "section [%2d] '%s': DT_RELACOUNT used for this REL section\n"
-msgstr ""
-
-#: src/elflint.c:1193
-#, c-format
-msgid "section [%2d] '%s': invalid destination section index\n"
-msgstr ""
-
-#: src/elflint.c:1206
-#, c-format
-msgid "section [%2d] '%s': invalid destination section type\n"
-msgstr ""
-
-#: src/elflint.c:1214
-#, c-format
-msgid "section [%2d] '%s': sh_info should be zero\n"
-msgstr ""
-
-#: src/elflint.c:1221
-#, c-format
-msgid "section [%2d] '%s': no relocations for merge-able sections possible\n"
-msgstr ""
-
-#: src/elflint.c:1228
-#, c-format
-msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n"
-msgstr ""
-
-#: src/elflint.c:1288
-#, c-format
-msgid "text relocation flag set but there is no read-only segment\n"
-msgstr ""
-
-#: src/elflint.c:1315
-#, c-format
-msgid "section [%2d] '%s': relocation %zu: invalid type\n"
-msgstr ""
-
-#: src/elflint.c:1323
-#, c-format
-msgid ""
-"section [%2d] '%s': relocation %zu: relocation type invalid for the file "
-"type\n"
-msgstr ""
-
-#: src/elflint.c:1331
-#, c-format
-msgid "section [%2d] '%s': relocation %zu: invalid symbol index\n"
-msgstr ""
-
-#: src/elflint.c:1349
-#, c-format
-msgid ""
-"section [%2d] '%s': relocation %zu: only symbol '_GLOBAL_OFFSET_TABLE_' can "
-"be used with %s\n"
-msgstr ""
-
-#: src/elflint.c:1366
-#, c-format
-msgid "section [%2d] '%s': relocation %zu: offset out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:1381
-#, c-format
-msgid ""
-"section [%2d] '%s': relocation %zu: copy relocation against symbol of type %"
-"s\n"
-msgstr ""
-
-#: src/elflint.c:1402
-#, c-format
-msgid ""
-"section [%2d] '%s': relocation %zu: read-only section modified but text "
-"relocation flag not set\n"
-msgstr ""
-
-#: src/elflint.c:1417
-#, c-format
-msgid "section [%2d] '%s': relocations are against loaded and unloaded data\n"
-msgstr ""
-
-#: src/elflint.c:1456 src/elflint.c:1506
-#, c-format
-msgid "section [%2d] '%s': cannot get relocation %zu: %s\n"
-msgstr ""
-
-#: src/elflint.c:1586
-#, c-format
-msgid "more than one dynamic section present\n"
-msgstr ""
-
-#: src/elflint.c:1604
-#, c-format
-msgid "section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"
-msgstr ""
-
-#: src/elflint.c:1609 src/elflint.c:1901
-#, c-format
-msgid "section [%2d] '%s': sh_info not zero\n"
-msgstr ""
-
-#: src/elflint.c:1619
-#, c-format
-msgid "section [%2d] '%s': cannot get dynamic section entry %zu: %s\n"
-msgstr ""
-
-#: src/elflint.c:1627
-#, c-format
-msgid "section [%2d] '%s': non-DT_NULL entries follow DT_NULL entry\n"
-msgstr ""
-
-#: src/elflint.c:1634
-#, c-format
-msgid "section [%2d] '%s': entry %zu: unknown tag\n"
-msgstr ""
-
-#: src/elflint.c:1645
-#, c-format
-msgid "section [%2d] '%s': entry %zu: more than one entry with tag %s\n"
-msgstr ""
-
-#: src/elflint.c:1655
-#, c-format
-msgid "section [%2d] '%s': entry %zu: level 2 tag %s used\n"
-msgstr ""
-
-#: src/elflint.c:1673
-#, c-format
-msgid ""
-"section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n"
-msgstr ""
-
-#: src/elflint.c:1695
-#, 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:1738
-#, c-format
-msgid ""
-"section [%2d] '%s': entry %zu: %s value must point into loaded segment\n"
-msgstr ""
-
-#: src/elflint.c:1753
-#, c-format
-msgid ""
-"section [%2d] '%s': entry %zu: %s value must be valid offset in section [%"
-"2d] '%s'\n"
-msgstr ""
-
-#: src/elflint.c:1773 src/elflint.c:1801
-#, c-format
-msgid "section [%2d] '%s': contains %s entry but not %s\n"
-msgstr ""
-
-#: src/elflint.c:1785
-#, c-format
-msgid "section [%2d] '%s': mandatory tag %s not present\n"
-msgstr ""
-
-#: src/elflint.c:1794
-#, c-format
-msgid "section [%2d] '%s': no hash section present\n"
-msgstr ""
-
-#: src/elflint.c:1809 src/elflint.c:1816
-#, c-format
-msgid "section [%2d] '%s': not all of %s, %s, and %s are present\n"
-msgstr ""
-
-#: src/elflint.c:1826 src/elflint.c:1830
-#, c-format
-msgid "section [%2d] '%s': %s tag missing in DSO marked during prelinking\n"
-msgstr ""
-
-#: src/elflint.c:1836
-#, c-format
-msgid "section [%2d] '%s': non-DSO file marked as dependency during prelink\n"
-msgstr ""
-
-#: src/elflint.c:1847 src/elflint.c:1851 src/elflint.c:1855 src/elflint.c:1859
-#, c-format
-msgid "section [%2d] '%s': %s tag missing in prelinked executable\n"
-msgstr ""
-
-#: src/elflint.c:1871
-#, c-format
-msgid ""
-"section [%2d] '%s': only relocatable files can have extended section index\n"
-msgstr ""
-
-#: src/elflint.c:1881
-#, c-format
-msgid ""
-"section [%2d] '%s': extended section index section not for symbol table\n"
-msgstr ""
-
-#: src/elflint.c:1886
-#, c-format
-msgid "cannot get data for symbol section\n"
-msgstr ""
-
-#: src/elflint.c:1889
-#, c-format
-msgid "section [%2d] '%s': entry size does not match Elf32_Word\n"
-msgstr ""
-
-#: src/elflint.c:1896
-#, c-format
-msgid "section [%2d] '%s': extended index table too small for symbol table\n"
-msgstr ""
-
-#: src/elflint.c:1911
-#, c-format
-msgid ""
-"section [%2d] '%s': extended section index in section [%2zu] '%s' refers to "
-"same symbol table\n"
-msgstr ""
-
-#: src/elflint.c:1922
-#, c-format
-msgid "symbol 0 should have zero extended section index\n"
-msgstr ""
-
-#: src/elflint.c:1934
-#, c-format
-msgid "cannot get data for symbol %zu\n"
-msgstr ""
-
-#: src/elflint.c:1939
-#, c-format
-msgid "extended section index is %<PRIu32> but symbol index is not XINDEX\n"
-msgstr ""
-
-#: src/elflint.c:1955 src/elflint.c:1996
-#, c-format
-msgid ""
-"section [%2d] '%s': hash table section is too small (is %ld, expected %ld)\n"
-msgstr ""
-
-#: src/elflint.c:1967 src/elflint.c:2008
-#, c-format
-msgid "section [%2d] '%s': chain array too large\n"
-msgstr ""
-
-#: src/elflint.c:1976 src/elflint.c:2017
-#, c-format
-msgid "section [%2d] '%s': hash bucket reference %zu out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:1982
-#, c-format
-msgid "section [%2d] '%s': hash chain reference %zu out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:2023
-#, c-format
-msgid "section [%2d] '%s': hash chain reference %<PRIu64> out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:2038
-#, c-format
-msgid "section [%2d] '%s': bitmask size not power of 2: %u\n"
-msgstr ""
-
-#: src/elflint.c:2049
-#, c-format
-msgid ""
-"section [%2d] '%s': hash table section is too small (is %ld, expected at "
-"least%ld)\n"
-msgstr ""
-
-#: src/elflint.c:2057
-#, c-format
-msgid "section [%2d] '%s': 2nd hash function shift too big: %u\n"
-msgstr ""
-
-#: src/elflint.c:2089
-#, c-format
-msgid ""
-"section [%2d] '%s': hash chain for bucket %zu lower than symbol index bias\n"
-msgstr ""
-
-#: src/elflint.c:2110
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %u referenced in chain for bucket %zu is "
-"undefined\n"
-msgstr ""
-
-#: src/elflint.c:2121
-#, c-format
-msgid ""
-"section [%2d] '%s': hash value for symbol %u in chain for bucket %zu wrong\n"
-msgstr ""
-
-#: src/elflint.c:2152
-#, c-format
-msgid "section [%2d] '%s': hash chain for bucket %zu out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:2157
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol reference in chain for bucket %zu out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:2163
-#, c-format
-msgid "section [%2d] '%s': bitmask does not match names in the hash table\n"
-msgstr ""
-
-#: src/elflint.c:2176
-#, c-format
-msgid "section [%2d] '%s': relocatable files cannot have hash tables\n"
-msgstr ""
-
-#: src/elflint.c:2194
-#, c-format
-msgid "section [%2d] '%s': hash table not for dynamic symbol table\n"
-msgstr ""
-
-#: src/elflint.c:2202
-#, c-format
-msgid "section [%2d] '%s': hash table entry size incorrect\n"
-msgstr ""
-
-#: src/elflint.c:2207
-#, c-format
-msgid "section [%2d] '%s': not marked to be allocated\n"
-msgstr ""
-
-#: src/elflint.c:2212
-#, c-format
-msgid ""
-"section [%2d] '%s': hash table has not even room for initial administrative "
-"entries\n"
-msgstr ""
-
-#: src/elflint.c:2260
-#, c-format
-msgid "sh_link in hash sections [%2zu] '%s' and [%2zu] '%s' not identical\n"
-msgstr ""
-
-#: src/elflint.c:2338 src/elflint.c:2342
-#, c-format
-msgid "section [%2zu] '%s': reference to symbol index 0\n"
-msgstr ""
-
-#: src/elflint.c:2349
-#, 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:2361
-#, 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:2377
-#, c-format
-msgid "section [%2d] '%s': nonzero sh_%s for NULL section\n"
-msgstr ""
-
-#: src/elflint.c:2397
-#, c-format
-msgid ""
-"section [%2d] '%s': section groups only allowed in relocatable object files\n"
-msgstr ""
-
-#: src/elflint.c:2408
-#, c-format
-msgid "section [%2d] '%s': cannot get symbol table: %s\n"
-msgstr ""
-
-#: src/elflint.c:2413
-#, c-format
-msgid "section [%2d] '%s': section reference in sh_link is no symbol table\n"
-msgstr ""
-
-#: src/elflint.c:2419
-#, c-format
-msgid "section [%2d] '%s': invalid symbol index in sh_info\n"
-msgstr ""
-
-#: src/elflint.c:2424
-#, c-format
-msgid "section [%2d] '%s': sh_flags not zero\n"
-msgstr ""
-
-#: src/elflint.c:2431
-#, c-format
-msgid "section [%2d] '%s': cannot get symbol for signature\n"
-msgstr ""
-
-#: src/elflint.c:2436
-#, c-format
-msgid "section [%2d] '%s': signature symbol cannot be empty string\n"
-msgstr ""
-
-#: src/elflint.c:2442
-#, c-format
-msgid "section [%2d] '%s': sh_flags not set correctly\n"
-msgstr ""
-
-#: src/elflint.c:2448
-#, c-format
-msgid "section [%2d] '%s': cannot get data: %s\n"
-msgstr ""
-
-#: src/elflint.c:2457
-#, c-format
-msgid "section [%2d] '%s': section size not multiple of sizeof(Elf32_Word)\n"
-msgstr ""
-
-#: src/elflint.c:2462
-#, c-format
-msgid "section [%2d] '%s': section group without flags word\n"
-msgstr ""
-
-#: src/elflint.c:2468
-#, c-format
-msgid "section [%2d] '%s': section group without member\n"
-msgstr ""
-
-#: src/elflint.c:2472
-#, c-format
-msgid "section [%2d] '%s': section group with only one member\n"
-msgstr ""
-
-#: src/elflint.c:2483
-#, c-format
-msgid "section [%2d] '%s': unknown section group flags\n"
-msgstr ""
-
-#: src/elflint.c:2495
-#, c-format
-msgid "section [%2d] '%s': section index %Zu out of range\n"
-msgstr ""
-
-#: src/elflint.c:2504
-#, c-format
-msgid "section [%2d] '%s': cannot get section header for element %zu: %s\n"
-msgstr ""
-
-#: src/elflint.c:2511
-#, c-format
-msgid "section [%2d] '%s': section group contains another group [%2d] '%s'\n"
-msgstr ""
-
-#: src/elflint.c:2517
-#, c-format
-msgid ""
-"section [%2d] '%s': element %Zu references section [%2d] '%s' without "
-"SHF_GROUP flag set\n"
-msgstr ""
-
-#: src/elflint.c:2524
-#, c-format
-msgid "section [%2d] '%s' is contained in more than one section group\n"
-msgstr ""
-
-#: src/elflint.c:2713
-#, 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:2724
-#, c-format
-msgid ""
-"section [%2d] '%s' has different number of entries than symbol table [%2d] '%"
-"s'\n"
-msgstr ""
-
-#: src/elflint.c:2740
-#, c-format
-msgid "section [%2d] '%s': symbol %d: cannot read version data\n"
-msgstr ""
-
-#: src/elflint.c:2756
-#, c-format
-msgid "section [%2d] '%s': symbol %d: local symbol with global scope\n"
-msgstr ""
-
-#: src/elflint.c:2764
-#, c-format
-msgid "section [%2d] '%s': symbol %d: local symbol with version\n"
-msgstr ""
-
-#: src/elflint.c:2778
-#, c-format
-msgid "section [%2d] '%s': symbol %d: invalid version index %d\n"
-msgstr ""
-
-#: src/elflint.c:2783
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %d: version index %d is for defined version\n"
-msgstr ""
-
-#: src/elflint.c:2793
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %d: version index %d is for requested version\n"
-msgstr ""
-
-#: src/elflint.c:2845
-#, c-format
-msgid "more than one version reference section present\n"
-msgstr ""
-
-#: src/elflint.c:2853 src/elflint.c:2982
-#, c-format
-msgid "section [%2d] '%s': sh_link does not link to string table\n"
-msgstr ""
-
-#: src/elflint.c:2876 src/elflint.c:3034
-#, c-format
-msgid "section [%2d] '%s': entry %d has wrong version %d\n"
-msgstr ""
-
-#: src/elflint.c:2882 src/elflint.c:3040
-#, c-format
-msgid "section [%2d] '%s': entry %d has wrong offset of auxiliary data\n"
-msgstr ""
-
-#: src/elflint.c:2890
-#, c-format
-msgid "section [%2d] '%s': entry %d has invalid file reference\n"
-msgstr ""
-
-#: src/elflint.c:2898
-#, c-format
-msgid "section [%2d] '%s': entry %d references unknown dependency\n"
-msgstr ""
-
-#: src/elflint.c:2910
-#, c-format
-msgid "section [%2d] '%s': auxiliary entry %d of entry %d has unknown flag\n"
-msgstr ""
-
-#: src/elflint.c:2917
-#, c-format
-msgid ""
-"section [%2d] '%s': auxiliary entry %d of entry %d has invalid name "
-"reference\n"
-msgstr ""
-
-#: src/elflint.c:2924
-#, c-format
-msgid ""
-"section [%2d] '%s': auxiliary entry %d of entry %d has wrong hash value: %"
-"#x, expected %#x\n"
-msgstr ""
-
-#: src/elflint.c:2934
-#, c-format
-msgid ""
-"section [%2d] '%s': auxiliary entry %d of entry %d has duplicate version "
-"name '%s'\n"
-msgstr ""
-
-#: src/elflint.c:2945
-#, c-format
-msgid ""
-"section [%2d] '%s': auxiliary entry %d of entry %d has wrong next field\n"
-msgstr ""
-
-#: src/elflint.c:2961 src/elflint.c:3119
-#, c-format
-msgid "section [%2d] '%s': entry %d has invalid offset to next entry\n"
-msgstr ""
-
-#: src/elflint.c:2974
-#, c-format
-msgid "more than one version definition section present\n"
-msgstr ""
-
-#: src/elflint.c:3019
-#, c-format
-msgid "section [%2d] '%s': more than one BASE definition\n"
-msgstr ""
-
-#: src/elflint.c:3023
-#, c-format
-msgid "section [%2d] '%s': BASE definition must have index VER_NDX_GLOBAL\n"
-msgstr ""
-
-#: src/elflint.c:3029
-#, c-format
-msgid "section [%2d] '%s': entry %d has unknown flag\n"
-msgstr ""
-
-#: src/elflint.c:3053
-#, c-format
-msgid "section [%2d] '%s': entry %d has invalid name reference\n"
-msgstr ""
-
-#: src/elflint.c:3060
-#, c-format
-msgid "section [%2d] '%s': entry %d has wrong hash value: %#x, expected %#x\n"
-msgstr ""
-
-#: src/elflint.c:3069
-#, c-format
-msgid "section [%2d] '%s': entry %d has duplicate version name '%s'\n"
-msgstr ""
-
-#: src/elflint.c:3088
-#, c-format
-msgid ""
-"section [%2d] '%s': entry %d has invalid name reference in auxiliary data\n"
-msgstr ""
-
-#: src/elflint.c:3103
-#, c-format
-msgid "section [%2d] '%s': entry %d has wrong next field in auxiliary data\n"
-msgstr ""
-
-#: src/elflint.c:3125
-#, c-format
-msgid "section [%2d] '%s': no BASE definition\n"
-msgstr ""
-
-#: src/elflint.c:3141
-#, c-format
-msgid "section [%2d] '%s': unknown parent version '%s'\n"
-msgstr ""
-
-#: src/elflint.c:3154
-#, c-format
-msgid "section [%2d] '%s': empty object attributes section\n"
-msgstr ""
-
-#: src/elflint.c:3175
-#, c-format
-msgid "section [%2d] '%s': unrecognized attribute format\n"
-msgstr ""
-
-#: src/elflint.c:3191
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: zero length field in attribute section\n"
-msgstr ""
-
-#: src/elflint.c:3200
-#, c-format
-msgid "section [%2d] '%s': offset %zu: invalid length in attribute section\n"
-msgstr ""
-
-#: src/elflint.c:3212
-#, c-format
-msgid "section [%2d] '%s': offset %zu: unterminated vendor name string\n"
-msgstr ""
-
-#: src/elflint.c:3229
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: endless ULEB128 in attribute subsection tag\n"
-msgstr ""
-
-#: src/elflint.c:3238
-#, c-format
-msgid "section [%2d] '%s': offset %zu: truncated attribute section\n"
-msgstr ""
-
-#: src/elflint.c:3247
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: zero length field in attribute subsection\n"
-msgstr ""
-
-#: src/elflint.c:3260
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: invalid length in attribute subsection\n"
-msgstr ""
-
-#: src/elflint.c:3271
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: attribute subsection has unexpected tag %u\n"
-msgstr ""
-
-#: src/elflint.c:3289
-#, c-format
-msgid "section [%2d] '%s': offset %zu: endless ULEB128 in attribute tag\n"
-msgstr ""
-
-#: src/elflint.c:3300
-#, c-format
-msgid "section [%2d] '%s': offset %zu: unterminated string in attribute\n"
-msgstr ""
-
-#: src/elflint.c:3313
-#, c-format
-msgid "section [%2d] '%s': offset %zu: unrecognized attribute tag %u\n"
-msgstr ""
-
-#: src/elflint.c:3317
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: unrecognized %s attribute value %<PRIu64>\n"
-msgstr ""
-
-#: src/elflint.c:3327
-#, c-format
-msgid "section [%2d] '%s': offset %zu: vendor '%s' unknown\n"
-msgstr ""
-
-#: src/elflint.c:3333
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: extra bytes after last attribute section\n"
-msgstr ""
-
-#: src/elflint.c:3422
-#, c-format
-msgid "cannot get section header of zeroth section\n"
-msgstr ""
-
-#: src/elflint.c:3426
-#, c-format
-msgid "zeroth section has nonzero name\n"
-msgstr ""
-
-#: src/elflint.c:3428
-#, c-format
-msgid "zeroth section has nonzero type\n"
-msgstr ""
-
-#: src/elflint.c:3430
-#, c-format
-msgid "zeroth section has nonzero flags\n"
-msgstr ""
-
-#: src/elflint.c:3432
-#, c-format
-msgid "zeroth section has nonzero address\n"
-msgstr ""
-
-#: src/elflint.c:3434
-#, c-format
-msgid "zeroth section has nonzero offset\n"
-msgstr ""
-
-#: src/elflint.c:3436
-#, c-format
-msgid "zeroth section has nonzero align value\n"
-msgstr ""
-
-#: src/elflint.c:3438
-#, c-format
-msgid "zeroth section has nonzero entry size value\n"
-msgstr ""
-
-#: src/elflint.c:3441
-#, c-format
-msgid ""
-"zeroth section has nonzero size value while ELF header has nonzero shnum "
-"value\n"
-msgstr ""
-
-#: src/elflint.c:3445
-#, c-format
-msgid ""
-"zeroth section has nonzero link value while ELF header does not signal "
-"overflow in shstrndx\n"
-msgstr ""
-
-#: src/elflint.c:3449
-#, c-format
-msgid ""
-"zeroth section has nonzero link value while ELF header does not signal "
-"overflow in phnum\n"
-msgstr ""
-
-#: src/elflint.c:3466
-#, c-format
-msgid "cannot get section header for section [%2zu] '%s': %s\n"
-msgstr ""
-
-#: src/elflint.c:3475
-#, c-format
-msgid "section [%2zu]: invalid name\n"
-msgstr ""
-
-#: src/elflint.c:3502
-#, c-format
-msgid "section [%2d] '%s' has wrong type: expected %s, is %s\n"
-msgstr ""
-
-#: src/elflint.c:3518
-#, c-format
-msgid "section [%2zu] '%s' has wrong flags: expected %s, is %s\n"
-msgstr ""
-
-#: src/elflint.c:3535
-#, c-format
-msgid ""
-"section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n"
-msgstr ""
-
-#: src/elflint.c:3553
-#, c-format
-msgid "section [%2zu] '%s' present in object file\n"
-msgstr ""
-
-#: src/elflint.c:3559 src/elflint.c:3591
-#, c-format
-msgid ""
-"section [%2zu] '%s' has SHF_ALLOC flag set but there is no loadable segment\n"
-msgstr ""
-
-#: src/elflint.c:3564 src/elflint.c:3596
-#, c-format
-msgid ""
-"section [%2zu] '%s' has SHF_ALLOC flag not set but there are loadable "
-"segments\n"
-msgstr ""
-
-#: src/elflint.c:3572
-#, c-format
-msgid ""
-"section [%2zu] '%s' is extension section index table in non-object file\n"
-msgstr ""
-
-#: src/elflint.c:3615
-#, c-format
-msgid "section [%2zu] '%s': size not multiple of entry size\n"
-msgstr ""
-
-#: src/elflint.c:3620
-#, c-format
-msgid "cannot get section header\n"
-msgstr ""
-
-#: src/elflint.c:3630
-#, c-format
-msgid "section [%2zu] '%s' has unsupported type %d\n"
-msgstr ""
-
-#: src/elflint.c:3644
-#, c-format
-msgid ""
-"section [%2zu] '%s' contains invalid processor-specific flag(s) %#<PRIx64>\n"
-msgstr ""
-
-#: src/elflint.c:3651
-#, c-format
-msgid "section [%2zu] '%s' contains unknown flag(s) %#<PRIx64>\n"
-msgstr ""
-
-#: src/elflint.c:3659
-#, c-format
-msgid "section [%2zu] '%s': thread-local data sections address not zero\n"
-msgstr ""
-
-#: src/elflint.c:3667
-#, c-format
-msgid "section [%2zu] '%s': invalid section reference in link value\n"
-msgstr ""
-
-#: src/elflint.c:3672
-#, c-format
-msgid "section [%2zu] '%s': invalid section reference in info value\n"
-msgstr ""
-
-#: src/elflint.c:3679
-#, c-format
-msgid "section [%2zu] '%s': strings flag set without merge flag\n"
-msgstr ""
-
-#: src/elflint.c:3684
-#, c-format
-msgid "section [%2zu] '%s': merge flag set but entry size is zero\n"
-msgstr ""
-
-#: src/elflint.c:3702
-#, c-format
-msgid "section [%2zu] '%s' has unexpected type %d for an executable section\n"
-msgstr ""
-
-#: src/elflint.c:3711
-#, c-format
-msgid "section [%2zu] '%s' is both executable and writable\n"
-msgstr ""
-
-#: src/elflint.c:3738
-#, c-format
-msgid ""
-"section [%2zu] '%s' not fully contained in segment of program header entry %"
-"d\n"
-msgstr ""
-
-#: src/elflint.c:3746
-#, 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:3755
-#, 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:3766
-#, c-format
-msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n"
-msgstr ""
-
-#: src/elflint.c:3776
-#, c-format
-msgid "section [%2zu] '%s' is writable in unwritable segment %d\n"
-msgstr ""
-
-#: src/elflint.c:3786
-#, c-format
-msgid ""
-"section [%2zu] '%s': alloc flag set but section not in any loaded segment\n"
-msgstr ""
-
-#: src/elflint.c:3792
-#, 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:3800
-#, c-format
-msgid ""
-"section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n"
-msgstr ""
-
-#: src/elflint.c:3851
-#, c-format
-msgid "more than one version symbol table present\n"
-msgstr ""
-
-#: src/elflint.c:3874
-#, c-format
-msgid "INTERP program header entry but no .interp section\n"
-msgstr ""
-
-#: src/elflint.c:3885
-#, c-format
-msgid ""
-"loadable segment [%u] is executable but contains no executable sections\n"
-msgstr ""
-
-#: src/elflint.c:3891
-#, c-format
-msgid "loadable segment [%u] is writable but contains no writable sections\n"
-msgstr ""
-
-#: src/elflint.c:3902
-#, c-format
-msgid ""
-"no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section "
-"exist\n"
-msgstr ""
-
-#: src/elflint.c:3915
-#, c-format
-msgid "duplicate version index %d\n"
-msgstr ""
-
-#: src/elflint.c:3929
-#, c-format
-msgid ".gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n"
-msgstr ""
-
-#: src/elflint.c:3978
-#, c-format
-msgid "phdr[%d]: unknown core file note type %<PRIu32> at offset %<PRIu64>\n"
-msgstr ""
-
-#: src/elflint.c:3982
-#, c-format
-msgid ""
-"section [%2d] '%s': unknown core file note type %<PRIu32> at offset %Zu\n"
-msgstr ""
-
-#: src/elflint.c:4005
-#, c-format
-msgid "phdr[%d]: unknown object file note type %<PRIu32> at offset %Zu\n"
-msgstr ""
-
-#: src/elflint.c:4009
-#, c-format
-msgid ""
-"section [%2d] '%s': unknown object file note type %<PRIu32> at offset %Zu\n"
-msgstr ""
-
-#: src/elflint.c:4026
-#, c-format
-msgid "phdr[%d]: no note entries defined for the type of file\n"
-msgstr ""
-
-#: src/elflint.c:4045
-#, c-format
-msgid "phdr[%d]: cannot get content of note section: %s\n"
-msgstr ""
-
-#: src/elflint.c:4048
-#, c-format
-msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n"
-msgstr ""
-
-#: src/elflint.c:4069
-#, c-format
-msgid "section [%2d] '%s': no note entries defined for the type of file\n"
-msgstr ""
-
-#: src/elflint.c:4076
-#, c-format
-msgid "section [%2d] '%s': cannot get content of note section\n"
-msgstr ""
-
-#: src/elflint.c:4079
-#, c-format
-msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n"
-msgstr ""
-
-#: src/elflint.c:4097
-#, c-format
-msgid ""
-"only executables, shared objects, and core files can have program headers\n"
-msgstr ""
-
-#: src/elflint.c:4112
-#, c-format
-msgid "cannot get program header entry %d: %s\n"
-msgstr ""
-
-#: src/elflint.c:4121
-#, c-format
-msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n"
-msgstr ""
-
-#: src/elflint.c:4132
-#, c-format
-msgid "more than one INTERP entry in program header\n"
-msgstr ""
-
-#: src/elflint.c:4140
-#, c-format
-msgid "more than one TLS entry in program header\n"
-msgstr ""
-
-#: src/elflint.c:4147
-#, c-format
-msgid "static executable cannot have dynamic sections\n"
-msgstr ""
-
-#: src/elflint.c:4161
-#, c-format
-msgid "dynamic section reference in program header has wrong offset\n"
-msgstr ""
-
-#: src/elflint.c:4164
-#, c-format
-msgid "dynamic section size mismatch in program and section header\n"
-msgstr ""
-
-#: src/elflint.c:4174
-#, c-format
-msgid "more than one GNU_RELRO entry in program header\n"
-msgstr ""
-
-#: src/elflint.c:4195
-#, c-format
-msgid "loadable segment GNU_RELRO applies to is not writable\n"
-msgstr ""
-
-#: src/elflint.c:4198
-#, c-format
-msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n"
-msgstr ""
-
-#: src/elflint.c:4206 src/elflint.c:4229
-#, c-format
-msgid "%s segment not contained in a loaded segment\n"
-msgstr ""
-
-#: src/elflint.c:4235
-#, c-format
-msgid "program header offset in ELF header and PHDR entry do not match"
-msgstr ""
-
-#: src/elflint.c:4259
-#, c-format
-msgid "call frame search table reference in program header has wrong offset\n"
-msgstr ""
-
-#: src/elflint.c:4262
-#, c-format
-msgid "call frame search table size mismatch in program and section header\n"
-msgstr ""
-
-#: src/elflint.c:4275
-#, c-format
-msgid "PT_GNU_EH_FRAME present but no .eh_frame_hdr section\n"
-msgstr ""
-
-#: src/elflint.c:4283
-#, c-format
-msgid "call frame search table must be allocated\n"
-msgstr ""
-
-#: src/elflint.c:4286
-#, c-format
-msgid "section [%2zu] '%s' must be allocated\n"
-msgstr ""
-
-#: src/elflint.c:4290
-#, c-format
-msgid "call frame search table must not be writable\n"
-msgstr ""
-
-#: src/elflint.c:4293
-#, c-format
-msgid "section [%2zu] '%s' must not be writable\n"
-msgstr ""
-
-#: src/elflint.c:4298
-#, c-format
-msgid "call frame search table must not be executable\n"
-msgstr ""
-
-#: src/elflint.c:4301
-#, c-format
-msgid "section [%2zu] '%s' must not be executable\n"
-msgstr ""
-
-#: src/elflint.c:4312
-#, c-format
-msgid "program header entry %d: file size greater than memory size\n"
-msgstr ""
-
-#: src/elflint.c:4319
-#, c-format
-msgid "program header entry %d: alignment not a power of 2\n"
-msgstr ""
-
-#: src/elflint.c:4322
-#, c-format
-msgid ""
-"program header entry %d: file offset and virtual address not module of "
-"alignment\n"
-msgstr ""
-
-#: src/elflint.c:4335
-#, 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:4369
-#, c-format
-msgid "cannot read ELF header: %s\n"
-msgstr ""
-
-#: src/elflint.c:4395
-#, c-format
-msgid "text relocation flag set but not needed\n"
-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 ""
-
-#: src/findtextrel.c:80
-msgid "Locate source of text relocations in FILEs (a.out by default)."
-msgstr ""
-
-#: src/findtextrel.c:84 src/nm.c:111 src/objdump.c:80 src/size.c:92
-#: src/strings.c:92 src/strip.c:97
-msgid "[FILE...]"
-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/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/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 archives 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 ""
-
-#: src/ld.c:197
-msgid "Combine object and archive files."
-msgstr ""
-
-#: 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 ""
-
-#: 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:661 src/ldgeneric.c:1122 src/readelf.c:629 src/strip.c:543
-#, c-format
-msgid "cannot determine number of sections: %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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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:1808
-#, 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 ""
-
-#: 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/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' is declared both local and global for unnamed version"
-msgstr ""
-
-#: src/ldscript.y:747
-#, c-format
-msgid "symbol '%s' is 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/nm.c:74 src/strip.c:73
-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:78 src/unstrip.c:81
-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:108
-msgid "List symbols from FILEs (a.out by default)."
-msgstr ""
-
-#: src/nm.c:136 src/objdump.c:105 src/size.c:117 src/strip.c:121
-#, c-format
-msgid "%s: INTERNAL ERROR %d (%s-%s): %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:1816
-#, c-format
-msgid "while closing '%s'"
-msgstr ""
-
-#: src/nm.c:402 src/objdump.c:296 src/strip.c:359
-#, c-format
-msgid "%s: File format not recognized"
-msgstr ""
-
-#: 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/objdump.c:744 src/readelf.c:885
-#: src/readelf.c:1028 src/readelf.c:1169 src/readelf.c:1351 src/readelf.c:1549
-#: src/readelf.c:1735 src/readelf.c:1945 src/readelf.c:2199 src/readelf.c:2265
-#: src/readelf.c:2343 src/readelf.c:2841 src/readelf.c:2877 src/readelf.c:2939
-#: src/readelf.c:6493 src/readelf.c:7387 src/readelf.c:7534 src/readelf.c:7604
-#: src/size.c:425 src/size.c:499 src/strip.c:483
-#, 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 ""
-
-#: src/nm.c:768
-#, c-format
-msgid ""
-"\n"
-"\n"
-"Symbols from %s[%s]:\n"
-"\n"
-msgstr ""
-
-#: 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 ""
-
-#: 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/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 ""
-
-#: src/objdump.c:76
-msgid "Show information from FILEs (a.out by default)."
-msgstr ""
-
-#: src/objdump.c:236 src/readelf.c:430
-msgid "No operation specified.\n"
-msgstr ""
-
-#: src/objdump.c:274 src/objdump.c:286
-#, c-format
-msgid "while close `%s'"
-msgstr ""
-
-#: src/objdump.c:379 src/readelf.c:1644 src/readelf.c:1818
-msgid "INVALID SYMBOL"
-msgstr ""
-
-#: src/objdump.c:394 src/readelf.c:1675 src/readelf.c:1851
-msgid "INVALID SECTION"
-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 ""
-
-#: src/ranlib.c:74
-msgid "Generate an index to speed access to archives."
-msgstr ""
-
-#: 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/readelf.c:73
-msgid "ELF output selection:"
-msgstr ""
-
-#: src/readelf.c:75
-msgid "All these plus -p .strtab -p .dynstr -p .comment"
-msgstr ""
-
-#: src/readelf.c:76
-msgid "Display the dynamic segment"
-msgstr ""
-
-#: src/readelf.c:77
-msgid "Display the ELF file header"
-msgstr ""
-
-#: src/readelf.c:79
-msgid "Display histogram of bucket list lengths"
-msgstr ""
-
-#: src/readelf.c:80
-msgid "Display the program headers"
-msgstr ""
-
-#: src/readelf.c:82
-msgid "Display relocations"
-msgstr ""
-
-#: src/readelf.c:83
-msgid "Display the sections' headers"
-msgstr ""
-
-#: src/readelf.c:85
-msgid "Display the symbol table"
-msgstr ""
-
-#: src/readelf.c:86
-msgid "Display versioning information"
-msgstr ""
-
-#: src/readelf.c:87
-msgid "Display the ELF notes"
-msgstr ""
-
-#: src/readelf.c:89
-msgid "Display architecture specific information, if any"
-msgstr ""
-
-#: src/readelf.c:91
-msgid "Display sections for exception handling"
-msgstr ""
-
-#: src/readelf.c:93
-msgid "Additional output selection:"
-msgstr ""
-
-#: src/readelf.c:95
-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:99
-msgid "Dump the uninterpreted contents of SECTION, by number or name"
-msgstr ""
-
-#: src/readelf.c:101
-msgid "Print string contents of sections"
-msgstr ""
-
-#: src/readelf.c:104
-msgid "Display the symbol index of an archive"
-msgstr ""
-
-#: src/readelf.c:106
-msgid "Output control:"
-msgstr ""
-
-#: src/readelf.c:108
-msgid "Do not find symbol names for addresses in DWARF data"
-msgstr ""
-
-#: src/readelf.c:114
-msgid "Print information from ELF file in human-readable form."
-msgstr ""
-
-#: src/readelf.c:401
-#, c-format
-msgid "Unknown DWARF debug section `%s'.\n"
-msgstr ""
-
-#: src/readelf.c:465
-#, c-format
-msgid "cannot generate Elf descriptor: %s"
-msgstr ""
-
-#: src/readelf.c:477
-#, c-format
-msgid "'%s' is not an archive, cannot print archive index"
-msgstr ""
-
-#: src/readelf.c:482
-#, c-format
-msgid "error while closing Elf descriptor: %s"
-msgstr ""
-
-#: src/readelf.c:574
-#, c-format
-msgid "cannot stat input file"
-msgstr ""
-
-#: src/readelf.c:576
-#, c-format
-msgid "input file is empty"
-msgstr ""
-
-#: src/readelf.c:578
-#, c-format
-msgid "failed reading '%s': %s"
-msgstr ""
-
-#: src/readelf.c:614
-#, c-format
-msgid "cannot read ELF header: %s"
-msgstr ""
-
-#: src/readelf.c:622
-#, c-format
-msgid "cannot create EBL handle"
-msgstr ""
-
-#: src/readelf.c:635
-#, c-format
-msgid "cannot determine number of program headers: %s"
-msgstr ""
-
-#: src/readelf.c:721
-msgid "NONE (None)"
-msgstr ""
-
-#: src/readelf.c:722
-msgid "REL (Relocatable file)"
-msgstr ""
-
-#: src/readelf.c:723
-msgid "EXEC (Executable file)"
-msgstr ""
-
-#: src/readelf.c:724
-msgid "DYN (Shared object file)"
-msgstr ""
-
-#: src/readelf.c:725
-msgid "CORE (Core file)"
-msgstr ""
-
-#: src/readelf.c:730
-#, c-format
-msgid "OS Specific: (%x)\n"
-msgstr ""
-
-#: src/readelf.c:732
-#, c-format
-msgid "Processor Specific: (%x)\n"
-msgstr ""
-
-#: src/readelf.c:742
-msgid ""
-"ELF Header:\n"
-"  Magic:  "
-msgstr ""
-
-#: src/readelf.c:746
-#, c-format
-msgid ""
-"\n"
-"  Class:                             %s\n"
-msgstr ""
-
-#: src/readelf.c:751
-#, c-format
-msgid "  Data:                              %s\n"
-msgstr ""
-
-#: src/readelf.c:757
-#, c-format
-msgid "  Ident Version:                     %hhd %s\n"
-msgstr ""
-
-#: src/readelf.c:759 src/readelf.c:776
-msgid "(current)"
-msgstr ""
-
-#: src/readelf.c:763
-#, c-format
-msgid "  OS/ABI:                            %s\n"
-msgstr ""
-
-#: src/readelf.c:766
-#, c-format
-msgid "  ABI Version:                       %hhd\n"
-msgstr ""
-
-#: src/readelf.c:769
-msgid "  Type:                              "
-msgstr ""
-
-#: src/readelf.c:772
-#, c-format
-msgid "  Machine:                           %s\n"
-msgstr ""
-
-#: src/readelf.c:774
-#, c-format
-msgid "  Version:                           %d %s\n"
-msgstr ""
-
-#: src/readelf.c:778
-#, c-format
-msgid "  Entry point address:               %#<PRIx64>\n"
-msgstr ""
-
-#: src/readelf.c:781
-#, c-format
-msgid "  Start of program headers:          %<PRId64> %s\n"
-msgstr ""
-
-#: src/readelf.c:782 src/readelf.c:785
-msgid "(bytes into file)"
-msgstr ""
-
-#: src/readelf.c:784
-#, c-format
-msgid "  Start of section headers:          %<PRId64> %s\n"
-msgstr ""
-
-#: src/readelf.c:787
-#, c-format
-msgid "  Flags:                             %s\n"
-msgstr ""
-
-#: src/readelf.c:790
-#, c-format
-msgid "  Size of this header:               %<PRId16> %s\n"
-msgstr ""
-
-#: src/readelf.c:791 src/readelf.c:794 src/readelf.c:811
-msgid "(bytes)"
-msgstr ""
-
-#: src/readelf.c:793
-#, c-format
-msgid "  Size of program header entries:    %<PRId16> %s\n"
-msgstr ""
-
-#: src/readelf.c:796
-#, c-format
-msgid "  Number of program headers entries: %<PRId16>"
-msgstr ""
-
-#: src/readelf.c:803
-#, c-format
-msgid " (%<PRIu32> in [0].sh_info)"
-msgstr ""
-
-#: src/readelf.c:806 src/readelf.c:823 src/readelf.c:837
-msgid " ([0] not available)"
-msgstr ""
-
-#: src/readelf.c:810
-#, c-format
-msgid "  Size of section header entries:    %<PRId16> %s\n"
-msgstr ""
-
-#: src/readelf.c:813
-#, c-format
-msgid "  Number of section headers entries: %<PRId16>"
-msgstr ""
-
-#: src/readelf.c:820
-#, c-format
-msgid " (%<PRIu32> in [0].sh_size)"
-msgstr ""
-
-#: src/readelf.c:833
-#, c-format
-msgid " (%<PRIu32> in [0].sh_link)"
-msgstr ""
-
-#: src/readelf.c:841
-#, c-format
-msgid ""
-"  Section header string table index: XINDEX%s\n"
-"\n"
-msgstr ""
-
-#: src/readelf.c:845
-#, c-format
-msgid ""
-"  Section header string table index: %<PRId16>\n"
-"\n"
-msgstr ""
-
-#: src/readelf.c:877
-#, c-format
-msgid ""
-"There are %d section headers, starting at offset %#<PRIx64>:\n"
-"\n"
-msgstr ""
-
-#: src/readelf.c:887
-msgid "Section Headers:"
-msgstr ""
-
-#: src/readelf.c:890
-msgid ""
-"[Nr] Name                 Type         Addr     Off    Size   ES Flags Lk "
-"Inf Al"
-msgstr ""
-
-#: src/readelf.c:892
-msgid ""
-"[Nr] Name                 Type         Addr             Off      Size     ES "
-"Flags Lk Inf Al"
-msgstr ""
-
-#: src/readelf.c:899 src/readelf.c:1052
-#, c-format
-msgid "cannot get section: %s"
-msgstr ""
-
-#: src/readelf.c:906 src/readelf.c:1060 src/readelf.c:7554 src/unstrip.c:353
-#: src/unstrip.c:377 src/unstrip.c:427 src/unstrip.c:536 src/unstrip.c:553
-#: src/unstrip.c:591 src/unstrip.c:789 src/unstrip.c:1057 src/unstrip.c:1244
-#: src/unstrip.c:1305 src/unstrip.c:1427 src/unstrip.c:1480 src/unstrip.c:1588
-#: src/unstrip.c:1778
-#, c-format
-msgid "cannot get section header: %s"
-msgstr ""
-
-#: src/readelf.c:964
-msgid "Program Headers:"
-msgstr ""
-
-#: src/readelf.c:966
-msgid ""
-"  Type           Offset   VirtAddr   PhysAddr   FileSiz  MemSiz   Flg Align"
-msgstr ""
-
-#: src/readelf.c:969
-msgid ""
-"  Type           Offset   VirtAddr           PhysAddr           FileSiz  "
-"MemSiz   Flg Align"
-msgstr ""
-
-#: src/readelf.c:1009
-#, c-format
-msgid "\t[Requesting program interpreter: %s]\n"
-msgstr ""
-
-#: src/readelf.c:1030
-msgid ""
-"\n"
-" Section to Segment mapping:\n"
-"  Segment Sections..."
-msgstr ""
-
-#: src/readelf.c:1041 src/unstrip.c:1824 src/unstrip.c:1863 src/unstrip.c:1870
-#, c-format
-msgid "cannot get program header: %s"
-msgstr ""
-
-#: src/readelf.c:1175
-#, 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:1180
-#, 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:1188
-msgid "<INVALID SYMBOL>"
-msgstr ""
-
-#: src/readelf.c:1202
-msgid "<INVALID SECTION>"
-msgstr ""
-
-#: src/readelf.c:1353
-#, 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:1365
-msgid "  Type              Value\n"
-msgstr ""
-
-#: src/readelf.c:1389
-#, c-format
-msgid "Shared library: [%s]\n"
-msgstr ""
-
-#: src/readelf.c:1394
-#, c-format
-msgid "Library soname: [%s]\n"
-msgstr ""
-
-#: src/readelf.c:1399
-#, c-format
-msgid "Library rpath: [%s]\n"
-msgstr ""
-
-#: src/readelf.c:1404
-#, c-format
-msgid "Library runpath: [%s]\n"
-msgstr ""
-
-#: src/readelf.c:1424
-#, c-format
-msgid "%<PRId64> (bytes)\n"
-msgstr ""
-
-#: src/readelf.c:1534 src/readelf.c:1720
-#, c-format
-msgid ""
-"\n"
-"Invalid symbol table at offset %#0<PRIx64>\n"
-msgstr ""
-
-#: src/readelf.c:1552 src/readelf.c:1737
-#, 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] ""
-
-#: src/readelf.c:1567
-#, 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:1577
-msgid "  Offset      Type                 Value       Name\n"
-msgstr ""
-
-#: src/readelf.c:1579
-msgid "  Offset              Type                 Value               Name\n"
-msgstr ""
-
-#: src/readelf.c:1632 src/readelf.c:1643 src/readelf.c:1656 src/readelf.c:1674
-#: src/readelf.c:1686 src/readelf.c:1805 src/readelf.c:1817 src/readelf.c:1831
-#: src/readelf.c:1850 src/readelf.c:1863
-msgid "<INVALID RELOC>"
-msgstr ""
-
-#: src/readelf.c:1749
-msgid "  Offset      Type            Value       Addend Name\n"
-msgstr ""
-
-#: src/readelf.c:1751
-msgid "  Offset              Type            Value               Addend Name\n"
-msgstr ""
-
-#: src/readelf.c:1952
-#, 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:1958
-#, 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:1968
-msgid "  Num:    Value   Size Type    Bind   Vis          Ndx Name\n"
-msgstr ""
-
-#: src/readelf.c:1970
-msgid "  Num:            Value   Size Type    Bind   Vis          Ndx Name\n"
-msgstr ""
-
-#: src/readelf.c:1990
-#, c-format
-msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
-msgstr ""
-
-#: src/readelf.c:2078
-#, c-format
-msgid "bad dynamic symbol"
-msgstr ""
-
-#: src/readelf.c:2160
-msgid "none"
-msgstr ""
-
-#: src/readelf.c:2177
-msgid "| <unknown>"
-msgstr ""
-
-#: src/readelf.c:2202
-#, 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:2225
-#, c-format
-msgid "  %#06x: Version: %hu  File: %s  Cnt: %hu\n"
-msgstr ""
-
-#: src/readelf.c:2238
-#, c-format
-msgid "  %#06x: Name: %s  Flags: %s  Version: %hu\n"
-msgstr ""
-
-#: src/readelf.c:2269
-#, 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:2299
-#, c-format
-msgid "  %#06x: Version: %hd  Flags: %s  Index: %hd  Cnt: %hd  Name: %s\n"
-msgstr ""
-
-#: src/readelf.c:2314
-#, c-format
-msgid "  %#06x: Parent %d: %s\n"
-msgstr ""
-
-#: src/readelf.c:2546
-#, 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:2576
-msgid "   0 *local*                     "
-msgstr ""
-
-#: src/readelf.c:2581
-msgid "   1 *global*                    "
-msgstr ""
-
-#: src/readelf.c:2612
-#, 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:2636
-#, no-c-format
-msgid " Length  Number  % of total  Coverage\n"
-msgstr ""
-
-#: src/readelf.c:2638
-#, c-format
-msgid "      0  %6<PRIu32>      %5.1f%%\n"
-msgstr ""
-
-#: src/readelf.c:2645
-#, c-format
-msgid "%7d  %6<PRIu32>      %5.1f%%    %5.1f%%\n"
-msgstr ""
-
-#: src/readelf.c:2658
-#, c-format
-msgid ""
-" Average number of tests:   successful lookup: %f\n"
-"                          unsuccessful lookup: %f\n"
-msgstr ""
-
-#: src/readelf.c:2676 src/readelf.c:2718 src/readelf.c:2759
-#, c-format
-msgid "cannot get data for section %d: %s"
-msgstr ""
-
-#: src/readelf.c:2813
-#, c-format
-msgid ""
-" Symbol Bias: %u\n"
-" Bitmask Size: %zu bytes  %<PRIuFAST32>%% bits set  2nd hash shift: %u\n"
-msgstr ""
-
-#: src/readelf.c:2887
-#, 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:2901
-msgid ""
-"       Library                       Time Stamp          Checksum Version "
-"Flags"
-msgstr ""
-
-#: src/readelf.c:2951
-#, c-format
-msgid ""
-"\n"
-"Object attributes section [%2zu] '%s' of %<PRIu64> bytes at offset %"
-"#0<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:2967
-msgid "  Owner          Size\n"
-msgstr ""
-
-#: src/readelf.c:2993
-#, c-format
-msgid "  %-13s  %4<PRIu32>\n"
-msgstr ""
-
-#: src/readelf.c:3025
-#, c-format
-msgid "    %-4u %12<PRIu32>\n"
-msgstr ""
-
-#: src/readelf.c:3030
-#, c-format
-msgid "    File: %11<PRIu32>\n"
-msgstr ""
-
-#: src/readelf.c:3065
-#, c-format
-msgid "      %s: %<PRId64>, %s\n"
-msgstr ""
-
-#: src/readelf.c:3068
-#, c-format
-msgid "      %s: %<PRId64>\n"
-msgstr ""
-
-#: src/readelf.c:3071
-#, c-format
-msgid "      %s: %s\n"
-msgstr ""
-
-#: src/readelf.c:3078
-#, c-format
-msgid "      %u: %<PRId64>\n"
-msgstr ""
-
-#: src/readelf.c:3081
-#, c-format
-msgid "      %u: %s\n"
-msgstr ""
-
-#: src/readelf.c:3117
-#, c-format
-msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>"
-msgstr ""
-
-#: src/readelf.c:3120
-#, c-format
-msgid "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
-msgstr ""
-
-#: src/readelf.c:3125
-#, c-format
-msgid "%#<PRIx64> <%s+%#<PRIx64>>"
-msgstr ""
-
-#: src/readelf.c:3128
-#, c-format
-msgid "%#0*<PRIx64> <%s+%#<PRIx64>>"
-msgstr ""
-
-#: src/readelf.c:3134
-#, c-format
-msgid "%s+%#<PRIx64> <%s>"
-msgstr ""
-
-#: src/readelf.c:3137
-#, c-format
-msgid "%s+%#0*<PRIx64> <%s>"
-msgstr ""
-
-#: src/readelf.c:3141
-#, c-format
-msgid "%#<PRIx64> <%s>"
-msgstr ""
-
-#: src/readelf.c:3144
-#, c-format
-msgid "%#0*<PRIx64> <%s>"
-msgstr ""
-
-#: src/readelf.c:3149
-#, c-format
-msgid "%s+%#<PRIx64>"
-msgstr ""
-
-#: src/readelf.c:3152
-#, c-format
-msgid "%s+%#0*<PRIx64>"
-msgstr ""
-
-#: src/readelf.c:3260
-#, c-format
-msgid "unknown tag %hx"
-msgstr ""
-
-#: src/readelf.c:3262
-#, c-format
-msgid "unknown user tag %hx"
-msgstr ""
-
-#: src/readelf.c:3480
-#, c-format
-msgid "unknown attribute %hx"
-msgstr ""
-
-#: src/readelf.c:3483
-#, c-format
-msgid "unknown user attribute %hx"
-msgstr ""
-
-#: src/readelf.c:3529
-#, c-format
-msgid "unknown form %<PRIx64>"
-msgstr ""
-
-#: src/readelf.c:3763
-msgid "empty block"
-msgstr ""
-
-#: src/readelf.c:3766
-#, c-format
-msgid "%zu byte block:"
-msgstr ""
-
-#: src/readelf.c:4175
-#, c-format
-msgid "%*s[%4<PRIuMAX>] %s  <TRUNCATED>\n"
-msgstr ""
-
-#: src/readelf.c:4188
-#, c-format
-msgid ""
-"\n"
-"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n"
-" [ Code]\n"
-msgstr ""
-
-#: src/readelf.c:4195
-#, c-format
-msgid ""
-"\n"
-"Abbreviation section at offset %<PRIu64>:\n"
-msgstr ""
-
-#: src/readelf.c:4208
-#, c-format
-msgid " *** error while reading abbreviation: %s\n"
-msgstr ""
-
-#: src/readelf.c:4224
-#, c-format
-msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
-msgstr ""
-
-#: src/readelf.c:4227
-msgid "yes"
-msgstr ""
-
-#: src/readelf.c:4227
-msgid "no"
-msgstr ""
-
-#: src/readelf.c:4263
-#, c-format
-msgid "cannot get .debug_aranges content: %s"
-msgstr ""
-
-#: src/readelf.c:4268
-#, 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:4298
-#, c-format
-msgid " [%*zu] ???\n"
-msgstr ""
-
-#: src/readelf.c:4300
-#, c-format
-msgid ""
-" [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
-msgstr ""
-
-#: src/readelf.c:4319
-#, c-format
-msgid "cannot get .debug_ranges content: %s"
-msgstr ""
-
-#: src/readelf.c:4324 src/readelf.c:4810 src/readelf.c:5452 src/readelf.c:5897
-#: src/readelf.c:5992 src/readelf.c:6164
-#, c-format
-msgid ""
-"\n"
-"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:4338 src/readelf.c:5911
-#, c-format
-msgid " [%6tx]  <INVALID DATA>\n"
-msgstr ""
-
-#: src/readelf.c:4360 src/readelf.c:5933
-#, c-format
-msgid " [%6tx]  base address %s\n"
-msgstr ""
-
-#: src/readelf.c:4371
-#, c-format
-msgid " [%6tx]  %s..%s\n"
-msgstr ""
-
-#: src/readelf.c:4373
-#, c-format
-msgid "           %s..%s\n"
-msgstr ""
-
-#: src/readelf.c:4799 src/readelf.c:6230 src/readelf.c:6332
-#, c-format
-msgid "cannot get %s content: %s"
-msgstr ""
-
-#: src/readelf.c:4806
-#, c-format
-msgid ""
-"\n"
-"Call frame information section [%2zu] '%s' at offset %#<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:4833 src/readelf.c:5486
-#, c-format
-msgid "invalid data in section [%zu] '%s'"
-msgstr ""
-
-#: src/readelf.c:4855
-#, c-format
-msgid ""
-"\n"
-" [%6tx] Zero terminator\n"
-msgstr ""
-
-#: src/readelf.c:4924
-#, c-format
-msgid "invalid augmentation length"
-msgstr ""
-
-#: src/readelf.c:4936
-msgid "FDE address encoding: "
-msgstr ""
-
-#: src/readelf.c:4942
-msgid "LSDA pointer encoding: "
-msgstr ""
-
-#: src/readelf.c:5034
-#, c-format
-msgid " (offset: %#<PRIx64>)"
-msgstr ""
-
-#: src/readelf.c:5041
-#, c-format
-msgid " (end offset: %#<PRIx64>)"
-msgstr ""
-
-#: src/readelf.c:5068
-#, c-format
-msgid "   %-26sLSDA pointer: %#<PRIx64>\n"
-msgstr ""
-
-#: src/readelf.c:5114
-#, c-format
-msgid "cannot get attribute code: %s"
-msgstr ""
-
-#: src/readelf.c:5122
-#, c-format
-msgid "cannot get attribute form: %s"
-msgstr ""
-
-#: src/readelf.c:5135
-#, c-format
-msgid "cannot get attribute value: %s"
-msgstr ""
-
-#: src/readelf.c:5331
-#, c-format
-msgid ""
-"\n"
-"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n"
-" [Offset]\n"
-msgstr ""
-
-#: src/readelf.c:5356
-#, 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:5374
-#, c-format
-msgid "cannot get DIE at offset %<PRIu64> in section '%s': %s"
-msgstr ""
-
-#: src/readelf.c:5385
-#, c-format
-msgid "cannot get DIE offset: %s"
-msgstr ""
-
-#: src/readelf.c:5393
-#, c-format
-msgid "cannot get tag of DIE at offset %<PRIu64> in section '%s': %s"
-msgstr ""
-
-#: src/readelf.c:5422
-#, c-format
-msgid "cannot get next DIE: %s\n"
-msgstr ""
-
-#: src/readelf.c:5429
-#, c-format
-msgid "cannot get next DIE: %s"
-msgstr ""
-
-#: src/readelf.c:5464
-#, c-format
-msgid "cannot get line data section data: %s"
-msgstr ""
-
-#: src/readelf.c:5477
-#, c-format
-msgid ""
-"\n"
-"Table at offset %Zu:\n"
-msgstr ""
-
-#: src/readelf.c:5529
-#, 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:5548
-#, c-format
-msgid "invalid data at offset %tu in section [%zu] '%s'"
-msgstr ""
-
-#: src/readelf.c:5563
-#, c-format
-msgid "  [%*<PRIuFAST8>]  %hhu argument\n"
-msgid_plural "  [%*<PRIuFAST8>]  %hhu arguments\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: src/readelf.c:5571
-msgid ""
-"\n"
-"Directory table:"
-msgstr ""
-
-#: src/readelf.c:5587
-msgid ""
-"\n"
-"File name table:\n"
-" Entry Dir   Time      Size      Name"
-msgstr ""
-
-#: src/readelf.c:5616
-msgid ""
-"\n"
-"Line number statements:"
-msgstr ""
-
-#: src/readelf.c:5677
-#, c-format
-msgid " special opcode %u: address+%u = %s, line%+d = %zu\n"
-msgstr ""
-
-#: src/readelf.c:5697
-#, c-format
-msgid " extended opcode %u: "
-msgstr ""
-
-#: src/readelf.c:5702
-msgid "end of sequence"
-msgstr ""
-
-#: src/readelf.c:5717
-#, c-format
-msgid "set address to %s\n"
-msgstr ""
-
-#: src/readelf.c:5738
-#, c-format
-msgid "define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
-msgstr ""
-
-#: src/readelf.c:5747
-msgid "unknown opcode"
-msgstr ""
-
-#: src/readelf.c:5759
-msgid " copy"
-msgstr ""
-
-#: src/readelf.c:5769
-#, c-format
-msgid "advance address by %u to %s\n"
-msgstr ""
-
-#: src/readelf.c:5780
-#, c-format
-msgid " advance line by constant %d to %<PRId64>\n"
-msgstr ""
-
-#: src/readelf.c:5788
-#, c-format
-msgid " set file to %<PRIu64>\n"
-msgstr ""
-
-#: src/readelf.c:5798
-#, c-format
-msgid " set column to %<PRIu64>\n"
-msgstr ""
-
-#: src/readelf.c:5805
-#, c-format
-msgid " set '%s' to %<PRIuFAST8>\n"
-msgstr ""
-
-#: src/readelf.c:5811
-msgid " set basic block flag"
-msgstr ""
-
-#: src/readelf.c:5821
-#, c-format
-msgid "advance address by constant %u to %s\n"
-msgstr ""
-
-#: src/readelf.c:5837
-#, c-format
-msgid "advance address by fixed value %u to %s\n"
-msgstr ""
-
-#: src/readelf.c:5846
-msgid " set prologue end flag"
-msgstr ""
-
-#: src/readelf.c:5851
-msgid " set epilogue begin flag"
-msgstr ""
-
-#: src/readelf.c:5860
-#, c-format
-msgid " unknown opcode with %<PRIu8> parameter:"
-msgid_plural " unknown opcode with %<PRIu8> parameters:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: src/readelf.c:5892
-#, c-format
-msgid "cannot get .debug_loc content: %s"
-msgstr ""
-
-#: src/readelf.c:5947
-#, c-format
-msgid " [%6tx]  %s..%s"
-msgstr ""
-
-#: src/readelf.c:5949
-#, c-format
-msgid "           %s..%s"
-msgstr ""
-
-#: src/readelf.c:6002
-#, c-format
-msgid "cannot get macro information section data: %s"
-msgstr ""
-
-#: src/readelf.c:6081
-#, c-format
-msgid "%*s*** non-terminated string at end of section"
-msgstr ""
-
-#: src/readelf.c:6149
-#, c-format
-msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
-msgstr ""
-
-#: src/readelf.c:6188
-#, c-format
-msgid ""
-"\n"
-"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n"
-" %*s  String\n"
-msgstr ""
-
-#: src/readelf.c:6202
-#, c-format
-msgid " *** error while reading strings: %s\n"
-msgstr ""
-
-#: src/readelf.c:6222
-#, c-format
-msgid ""
-"\n"
-"Call frame search table section [%2zu] '.eh_frame_hdr':\n"
-msgstr ""
-
-#: src/readelf.c:6324
-#, c-format
-msgid ""
-"\n"
-"Exception handling table section [%2zu] '.gcc_except_table':\n"
-msgstr ""
-
-#: src/readelf.c:6347
-#, c-format
-msgid " LPStart encoding:    %#x "
-msgstr ""
-
-#: src/readelf.c:6359
-#, c-format
-msgid " TType encoding:      %#x "
-msgstr ""
-
-#: src/readelf.c:6373
-#, c-format
-msgid " Call site encoding:  %#x "
-msgstr ""
-
-#: src/readelf.c:6386
-msgid ""
-"\n"
-" Call site table:"
-msgstr ""
-
-#: src/readelf.c:6400
-#, 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:6460
-#, c-format
-msgid "invalid TType encoding"
-msgstr ""
-
-#: src/readelf.c:6484
-#, c-format
-msgid "cannot get debug context descriptor: %s"
-msgstr ""
-
-#: src/readelf.c:6620 src/readelf.c:7221
-#, c-format
-msgid "cannot convert core note data: %s"
-msgstr ""
-
-#: src/readelf.c:6961
-#, c-format
-msgid ""
-"\n"
-"%*s... <repeats %u more times> ..."
-msgstr ""
-
-#: src/readelf.c:7320
-msgid "  Owner          Data size  Type\n"
-msgstr ""
-
-#: src/readelf.c:7338
-#, c-format
-msgid "  %-13.*s  %9<PRId32>  %s\n"
-msgstr ""
-
-#: src/readelf.c:7372
-#, c-format
-msgid "cannot get content of note section: %s"
-msgstr ""
-
-#: src/readelf.c:7399
-#, c-format
-msgid ""
-"\n"
-"Note section [%2zu] '%s' of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:7422
-#, c-format
-msgid ""
-"\n"
-"Note segment of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:7468
-#, c-format
-msgid ""
-"\n"
-"Section [%Zu] '%s' has no data to dump.\n"
-msgstr ""
-
-#: src/readelf.c:7474 src/readelf.c:7497
-#, c-format
-msgid "cannot get data for section [%Zu] '%s': %s"
-msgstr ""
-
-#: src/readelf.c:7478
-#, c-format
-msgid ""
-"\n"
-"Hex dump of section [%Zu] '%s', %<PRIu64> bytes at offset %#0<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:7491
-#, c-format
-msgid ""
-"\n"
-"Section [%Zu] '%s' has no strings to dump.\n"
-msgstr ""
-
-#: src/readelf.c:7501
-#, c-format
-msgid ""
-"\n"
-"String section [%Zu] '%s' contains %<PRIu64> bytes at offset %#0<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:7549
-#, c-format
-msgid ""
-"\n"
-"section [%lu] does not exist"
-msgstr ""
-
-#: src/readelf.c:7576
-#, c-format
-msgid ""
-"\n"
-"section '%s' does not exist"
-msgstr ""
-
-#: src/readelf.c:7637
-#, c-format
-msgid "cannot get symbol index of archive '%s': %s"
-msgstr ""
-
-#: src/readelf.c:7640
-#, c-format
-msgid ""
-"\n"
-"Archive '%s' has no symbol index\n"
-msgstr ""
-
-#: src/readelf.c:7644
-#, c-format
-msgid ""
-"\n"
-"Index of archive '%s' has %Zu entries:\n"
-msgstr ""
-
-#: src/readelf.c:7662
-#, c-format
-msgid "cannot extract member at offset %Zu in '%s': %s"
-msgstr ""
-
-#: src/readelf.c:7667
-#, 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 ""
-
-#: 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/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 ""
-
-#: 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/strip.c:74
-msgid "Place stripped output into FILE"
-msgstr ""
-
-#: src/strip.c:75
-msgid "Extract the removed sections into FILE"
-msgstr ""
-
-#: src/strip.c:76
-msgid "Embed name FILE instead of -f argument"
-msgstr ""
-
-#: src/strip.c:80
-msgid "Remove all debugging symbols"
-msgstr ""
-
-#: src/strip.c:84
-msgid "Copy modified/access timestamps to the output"
-msgstr ""
-
-#: src/strip.c:86
-msgid "Remove .comment section"
-msgstr ""
-
-#: src/strip.c:89
-msgid "Relax a few rules to handle slightly broken ELF files"
-msgstr ""
-
-#: src/strip.c:94
-msgid "Discard symbols from object files."
-msgstr ""
-
-#: src/strip.c:186
-#, c-format
-msgid "Only one input file allowed together with '-o' and '-f'"
-msgstr ""
-
-#: src/strip.c:222
-#, c-format
-msgid "-f option specified twice"
-msgstr ""
-
-#: src/strip.c:231
-#, c-format
-msgid "-F option specified twice"
-msgstr ""
-
-#: src/strip.c:240 src/unstrip.c:125
-#, c-format
-msgid "-o option specified twice"
-msgstr ""
-
-#: src/strip.c:260
-#, c-format
-msgid "-R option supports only .comment section"
-msgstr ""
-
-#: src/strip.c:298 src/strip.c:322
-#, c-format
-msgid "cannot stat input file '%s'"
-msgstr ""
-
-#: src/strip.c:312
-#, c-format
-msgid "while opening '%s'"
-msgstr ""
-
-#: src/strip.c:350
-#, c-format
-msgid "%s: cannot use -o or -f when stripping archive"
-msgstr ""
-
-#: src/strip.c:448
-#, c-format
-msgid "cannot open EBL backend"
-msgstr ""
-
-#: src/strip.c:498 src/strip.c:522
-#, c-format
-msgid "cannot create new file '%s': %s"
-msgstr ""
-
-#: src/strip.c:582
-#, c-format
-msgid "illformed file '%s'"
-msgstr ""
-
-#: src/strip.c:869 src/strip.c:956
-#, c-format
-msgid "while generating output file: %s"
-msgstr ""
-
-#: src/strip.c:929 src/strip.c:1668
-#, c-format
-msgid "%s: error while creating ELF header: %s"
-msgstr ""
-
-#: src/strip.c:943
-#, c-format
-msgid "while preparing output for '%s'"
-msgstr ""
-
-#: src/strip.c:994 src/strip.c:1050
-#, c-format
-msgid "while create section header section: %s"
-msgstr ""
-
-#: src/strip.c:1000
-#, c-format
-msgid "cannot allocate section data: %s"
-msgstr ""
-
-#: src/strip.c:1059
-#, c-format
-msgid "while create section header string table: %s"
-msgstr ""
-
-#: src/strip.c:1593 src/strip.c:1690
-#, c-format
-msgid "while writing '%s': %s"
-msgstr ""
-
-#: src/strip.c:1604
-#, c-format
-msgid "while creating '%s'"
-msgstr ""
-
-#: src/strip.c:1616
-#, c-format
-msgid "while computing checksum for debug information"
-msgstr ""
-
-#: src/strip.c:1676
-#, c-format
-msgid "%s: error while reading the file: %s"
-msgstr ""
-
-#: src/strip.c:1722 src/strip.c:1729
-#, c-format
-msgid "error while finishing '%s': %s"
-msgstr ""
-
-#: src/strip.c:1752 src/strip.c:1809
-#, c-format
-msgid "cannot set access and modification date of '%s'"
-msgstr ""
-
-#: src/unstrip.c:78
-msgid "Match MODULE against file names, not module names"
-msgstr ""
-
-#: src/unstrip.c:79
-msgid "Silently skip unfindable files"
-msgstr ""
-
-#: src/unstrip.c:82
-msgid "Place output into FILE"
-msgstr ""
-
-#: src/unstrip.c:84
-msgid "Create multiple output files under DIRECTORY"
-msgstr ""
-
-#: src/unstrip.c:85
-msgid "Use module rather than file names"
-msgstr ""
-
-#: src/unstrip.c:87
-msgid "Create output for modules that have no separate debug information"
-msgstr ""
-
-#: src/unstrip.c:90
-msgid "Apply relocations to section contents in ET_REL files"
-msgstr ""
-
-#: src/unstrip.c:92
-msgid "Only list module and file names, build IDs"
-msgstr ""
-
-#: src/unstrip.c:134
-#, c-format
-msgid "-d option specified twice"
-msgstr ""
-
-#: src/unstrip.c:166
-#, c-format
-msgid "only one of -o or -d allowed"
-msgstr ""
-
-#: src/unstrip.c:175
-#, c-format
-msgid "-n cannot be used with explicit files or -o or -d"
-msgstr ""
-
-#: src/unstrip.c:190
-#, c-format
-msgid "output directory '%s'"
-msgstr ""
-
-#: src/unstrip.c:199
-#, c-format
-msgid "exactly two file arguments are required"
-msgstr ""
-
-#: src/unstrip.c:205
-#, c-format
-msgid "-m, -a, -R, and -i options not allowed with explicit files"
-msgstr ""
-
-#: src/unstrip.c:218
-#, c-format
-msgid "-o or -d is required when using implicit files"
-msgstr ""
-
-#: src/unstrip.c:254
-#, c-format
-msgid "cannot create ELF header: %s"
-msgstr ""
-
-#: src/unstrip.c:259
-#, c-format
-msgid "cannot copy ELF header: %s"
-msgstr ""
-
-#: src/unstrip.c:264 src/unstrip.c:1817
-#, c-format
-msgid "cannot create program headers: %s"
-msgstr ""
-
-#: src/unstrip.c:270
-#, c-format
-msgid "cannot copy program header: %s"
-msgstr ""
-
-#: src/unstrip.c:280
-#, c-format
-msgid "cannot copy section header: %s"
-msgstr ""
-
-#: src/unstrip.c:283 src/unstrip.c:1505
-#, c-format
-msgid "cannot get section data: %s"
-msgstr ""
-
-#: src/unstrip.c:285 src/unstrip.c:1507
-#, c-format
-msgid "cannot copy section data: %s"
-msgstr ""
-
-#: src/unstrip.c:309
-#, c-format
-msgid "cannot create directory '%s'"
-msgstr ""
-
-#: src/unstrip.c:349 src/unstrip.c:763 src/unstrip.c:1540
-#, c-format
-msgid "cannot get symbol table entry: %s"
-msgstr ""
-
-#: src/unstrip.c:365 src/unstrip.c:580 src/unstrip.c:601 src/unstrip.c:613
-#: src/unstrip.c:1561 src/unstrip.c:1691 src/unstrip.c:1715
-#, c-format
-msgid "cannot update symbol table: %s"
-msgstr ""
-
-#: src/unstrip.c:382 src/unstrip.c:432 src/unstrip.c:562 src/unstrip.c:1209
-#: src/unstrip.c:1525 src/unstrip.c:1720 src/unstrip.c:1791
-#, c-format
-msgid "cannot update section header: %s"
-msgstr ""
-
-#: src/unstrip.c:408 src/unstrip.c:419
-#, c-format
-msgid "cannot update relocation: %s"
-msgstr ""
-
-#: src/unstrip.c:507
-#, c-format
-msgid "cannot get symbol version: %s"
-msgstr ""
-
-#: src/unstrip.c:519
-#, c-format
-msgid "unexpected section type in [%Zu] with sh_link to symtab"
-msgstr ""
-
-#: src/unstrip.c:769
-#, c-format
-msgid "invalid string offset in symbol [%Zu]"
-msgstr ""
-
-#: src/unstrip.c:911 src/unstrip.c:1248
-#, c-format
-msgid "cannot read section [%Zu] name: %s"
-msgstr ""
-
-#: src/unstrip.c:952 src/unstrip.c:971 src/unstrip.c:1004
-#, c-format
-msgid "cannot read '.gnu.prelink_undo' section: %s"
-msgstr ""
-
-#: src/unstrip.c:992
-#, c-format
-msgid "invalid contents in '%s' section"
-msgstr ""
-
-#: src/unstrip.c:1047 src/unstrip.c:1370
-#, c-format
-msgid "cannot find matching section for [%Zu] '%s'"
-msgstr ""
-
-#: src/unstrip.c:1171 src/unstrip.c:1186 src/unstrip.c:1451
-#, c-format
-msgid "cannot add section name to string table: %s"
-msgstr ""
-
-#: src/unstrip.c:1195
-#, c-format
-msgid "cannot update section header string table data: %s"
-msgstr ""
-
-#: src/unstrip.c:1223 src/unstrip.c:1227
-#, c-format
-msgid "cannot get section header string table section index: %s"
-msgstr ""
-
-#: src/unstrip.c:1231 src/unstrip.c:1235 src/unstrip.c:1466
-#, c-format
-msgid "cannot get section count: %s"
-msgstr ""
-
-#: src/unstrip.c:1293 src/unstrip.c:1385
-#, c-format
-msgid "cannot read section header string table: %s"
-msgstr ""
-
-#: src/unstrip.c:1445
-#, c-format
-msgid "cannot add new section: %s"
-msgstr ""
-
-#: src/unstrip.c:1548
-#, c-format
-msgid "symbol [%Zu] has invalid section index"
-msgstr ""
-
-#: src/unstrip.c:1800
-#, c-format
-msgid "cannot get ELF header: %s"
-msgstr ""
-
-#: src/unstrip.c:1827
-#, c-format
-msgid "cannot update program header: %s"
-msgstr ""
-
-#: src/unstrip.c:1832 src/unstrip.c:1911
-#, c-format
-msgid "cannot write output file: %s"
-msgstr ""
-
-#: src/unstrip.c:1880
-#, c-format
-msgid "DWARF data not adjusted for prelinking bias; consider prelink -u"
-msgstr ""
-
-#: src/unstrip.c:1883
-#, c-format
-msgid ""
-"DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u"
-msgstr ""
-
-#: src/unstrip.c:1902 src/unstrip.c:1942 src/unstrip.c:1954 src/unstrip.c:2034
-#, c-format
-msgid "cannot create ELF descriptor: %s"
-msgstr ""
-
-#: src/unstrip.c:1960
-#, c-format
-msgid "'%s' and '%s' do not seem to match"
-msgstr ""
-
-#: src/unstrip.c:1991
-#, c-format
-msgid "cannot find stripped file for module '%s': %s"
-msgstr ""
-
-#: src/unstrip.c:1995
-#, c-format
-msgid "cannot open stripped file '%s' for module '%s': %s"
-msgstr ""
-
-#: src/unstrip.c:2010
-#, c-format
-msgid "cannot find debug file for module '%s': %s"
-msgstr ""
-
-#: src/unstrip.c:2014
-#, c-format
-msgid "cannot open debug file '%s' for module '%s': %s"
-msgstr ""
-
-#: src/unstrip.c:2027
-#, c-format
-msgid "module '%s' file '%s' is not stripped"
-msgstr ""
-
-#: src/unstrip.c:2058
-#, c-format
-msgid "cannot cache section addresses for module '%s': %s"
-msgstr ""
-
-#: src/unstrip.c:2191
-#, c-format
-msgid "no matching modules found"
-msgstr ""
-
-#: src/unstrip.c:2200
-#, c-format
-msgid "matched more than one module"
-msgstr ""
-
-#: src/unstrip.c:2247
-msgid ""
-"STRIPPED-FILE DEBUG-FILE\n"
-"[MODULE...]"
-msgstr ""
-
-#: src/unstrip.c:2248
-msgid ""
-"Combine stripped files with separate symbols and debug information.\n\nThe "
-"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 ""
diff --git a/po/ja.po b/po/ja.po
index cd53f22..9fe007c 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: ja\n"
 "Report-Msgid-Bugs-To: https://sourceware.org/bugzilla/\n"
-"POT-Creation-Date: 2019-11-26 09:48+0100\n"
+"POT-Creation-Date: 2021-02-05 21:10+0100\n"
 "PO-Revision-Date: 2009-09-20 15:32+0900\n"
 "Last-Translator: Hyu_gabaru Ryu_ichi <hyu_gabaru@yahoo.co.jp>\n"
 "Language-Team: Japanese <jp@li.org>\n"
@@ -50,8 +50,8 @@
 "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"
 
-#: lib/xmalloc.c:52 lib/xmalloc.c:65 lib/xmalloc.c:77 src/readelf.c:3449
-#: src/readelf.c:11398 src/unstrip.c:2393 src/unstrip.c:2599
+#: lib/xmalloc.c:48 lib/xmalloc.c:61 lib/xmalloc.c:73 src/readelf.c:3453
+#: src/readelf.c:11501 src/unstrip.c:312 src/unstrip.c:2398 src/unstrip.c:2603
 #, c-format
 msgid "memory exhausted"
 msgstr "メモリー消費済み"
@@ -214,7 +214,7 @@
 msgid "invalid directory index"
 msgstr "不当なディレクトリー索引"
 
-#: libdw/dwarf_error.c:87 libdwfl/libdwflP.h:72
+#: libdw/dwarf_error.c:87 libdwfl/libdwflP.h:73
 msgid "address out of range"
 msgstr "アドレスが範囲外です"
 
@@ -245,7 +245,7 @@
 msgid "invalid address range index"
 msgstr "不当なアドレス範囲索引"
 
-#: libdw/dwarf_error.c:94 libdwfl/libdwflP.h:73
+#: libdw/dwarf_error.c:94 libdwfl/libdwflP.h:74
 msgid "no matching address range"
 msgstr "アドレス範囲に対応しません"
 
@@ -293,23 +293,23 @@
 msgid ".debug_addr section missing"
 msgstr ".debug_ranges セクションがありません"
 
-#: libdwfl/argp-std.c:50 src/stack.c:638 src/unstrip.c:2540
+#: libdwfl/argp-std.c:47 src/stack.c:643 src/unstrip.c:2544
 msgid "Input selection options:"
 msgstr "選択オプションを入力してください:"
 
-#: libdwfl/argp-std.c:51
+#: libdwfl/argp-std.c:48
 msgid "Find addresses in FILE"
 msgstr "ふぁいる 中のアドレスを探す"
 
-#: libdwfl/argp-std.c:53
+#: libdwfl/argp-std.c:50
 msgid "Find addresses from signatures found in COREFILE"
 msgstr "COREFILE 中で見つかった署名からアドレスを探す"
 
-#: libdwfl/argp-std.c:55
+#: libdwfl/argp-std.c:52
 msgid "Find addresses in files mapped into process PID"
 msgstr "プロセス PID に対応するファイル中のアドレスを探す"
 
-#: libdwfl/argp-std.c:57
+#: libdwfl/argp-std.c:54
 msgid ""
 "Find addresses in files mapped as read from FILE in Linux /proc/PID/maps "
 "format"
@@ -317,46 +317,46 @@
 "Linux の /proc/PID/maps 形式の ふぁいる から読み込んだものに対応するファイル"
 "のアドレスを探す"
 
-#: libdwfl/argp-std.c:59
+#: libdwfl/argp-std.c:56
 msgid "Find addresses in the running kernel"
 msgstr "実行中のカーネルのアドレスを探す"
 
-#: libdwfl/argp-std.c:61
+#: libdwfl/argp-std.c:58
 msgid "Kernel with all modules"
 msgstr "全てのモジュール付きのカーネル"
 
-#: libdwfl/argp-std.c:63 src/stack.c:645
+#: libdwfl/argp-std.c:60 src/stack.c:650
 msgid "Search path for separate debuginfo files"
 msgstr "分離した debuginfo ファイルべきパスを探す"
 
-#: libdwfl/argp-std.c:164
+#: libdwfl/argp-std.c:161
 msgid "only one of -e, -p, -k, -K, or --core allowed"
 msgstr "-e か、-p、-k、-K、--core のひとつだけが認められます"
 
-#: libdwfl/argp-std.c:237
+#: libdwfl/argp-std.c:234
 msgid "cannot load kernel symbols"
 msgstr "カーネルシンボルをロードできません"
 
 #. Non-fatal to have no modules since we do have the kernel.
-#: libdwfl/argp-std.c:241
+#: libdwfl/argp-std.c:238
 msgid "cannot find kernel modules"
 msgstr "カーネルモジュールを見つけられません"
 
-#: libdwfl/argp-std.c:258
+#: libdwfl/argp-std.c:255
 msgid "cannot find kernel or modules"
 msgstr "カーネルかモジュールを見つけられません"
 
-#: libdwfl/argp-std.c:297
+#: libdwfl/argp-std.c:294
 #, c-format
 msgid "cannot read ELF core file: %s"
 msgstr "ELF コアファイルを読めません: %s"
 
-#: libdwfl/argp-std.c:320
+#: libdwfl/argp-std.c:317
 #, fuzzy
 msgid "Not enough memory"
 msgstr "メモリー不足"
 
-#: libdwfl/argp-std.c:330
+#: libdwfl/argp-std.c:327
 msgid "No modules recognized in core file"
 msgstr "コアファイルの中にモジュールを認識できません"
 
@@ -389,136 +389,140 @@
 msgstr ""
 
 #: libdwfl/libdwflP.h:61
-msgid "no support library found for machine"
+msgid "zstd decompression failed"
 msgstr ""
 
 #: libdwfl/libdwflP.h:62
-msgid "Callbacks missing for ET_REL file"
+msgid "no support library found for machine"
 msgstr ""
 
 #: libdwfl/libdwflP.h:63
-msgid "Unsupported relocation type"
+msgid "Callbacks missing for ET_REL file"
 msgstr ""
 
 #: libdwfl/libdwflP.h:64
+msgid "Unsupported relocation type"
+msgstr ""
+
+#: libdwfl/libdwflP.h:65
 msgid "r_offset is bogus"
 msgstr ""
 
-#: libdwfl/libdwflP.h:65 libelf/elf_error.c:115 libelf/elf_error.c:175
+#: libdwfl/libdwflP.h:66 libelf/elf_error.c:115 libelf/elf_error.c:175
 msgid "offset out of range"
 msgstr "オフセットが範囲を越えている"
 
-#: libdwfl/libdwflP.h:66
+#: libdwfl/libdwflP.h:67
 #, fuzzy
 msgid "relocation refers to undefined symbol"
 msgstr "定義されたシンボルの印刷サイズ"
 
-#: libdwfl/libdwflP.h:67
+#: libdwfl/libdwflP.h:68
 msgid "Callback returned failure"
 msgstr ""
 
-#: libdwfl/libdwflP.h:68
+#: libdwfl/libdwflP.h:69
 #, fuzzy
 msgid "No DWARF information found"
 msgstr "DWARF 情報がありません"
 
-#: libdwfl/libdwflP.h:69
+#: libdwfl/libdwflP.h:70
 msgid "No symbol table found"
 msgstr ""
 
-#: libdwfl/libdwflP.h:70
+#: libdwfl/libdwflP.h:71
 #, fuzzy
 msgid "No ELF program headers"
 msgstr "プログラムヘッダーを得られません: %s"
 
-#: libdwfl/libdwflP.h:71
+#: libdwfl/libdwflP.h:72
 msgid "address range overlaps an existing module"
 msgstr ""
 
-#: libdwfl/libdwflP.h:74
+#: libdwfl/libdwflP.h:75
 msgid "image truncated"
 msgstr ""
 
-#: libdwfl/libdwflP.h:75
+#: libdwfl/libdwflP.h:76
 #, fuzzy
 msgid "ELF file opened"
 msgstr "ファイルのオープンを追跡します。"
 
-#: libdwfl/libdwflP.h:76
+#: libdwfl/libdwflP.h:77
 #, fuzzy
 msgid "not a valid ELF file"
 msgstr "不当な ELF ファイル"
 
-#: libdwfl/libdwflP.h:77
+#: libdwfl/libdwflP.h:78
 #, fuzzy
 msgid "cannot handle DWARF type description"
 msgstr "Elf 記述子を生成できません: %s"
 
-#: libdwfl/libdwflP.h:78
+#: libdwfl/libdwflP.h:79
 msgid "ELF file does not match build ID"
 msgstr ""
 
-#: libdwfl/libdwflP.h:79
+#: libdwfl/libdwflP.h:80
 #, fuzzy
 msgid "corrupt .gnu.prelink_undo section data"
 msgstr "ラインデータセクションデータを得られません: %s"
 
-#: libdwfl/libdwflP.h:80
+#: libdwfl/libdwflP.h:81
 msgid "Internal error due to ebl"
 msgstr ""
 
-#: libdwfl/libdwflP.h:81
+#: libdwfl/libdwflP.h:82
 msgid "Missing data in core file"
 msgstr ""
 
-#: libdwfl/libdwflP.h:82
+#: libdwfl/libdwflP.h:83
 #, fuzzy
 msgid "Invalid register"
 msgstr "不当なパラメーター"
 
-#: libdwfl/libdwflP.h:83
+#: libdwfl/libdwflP.h:84
 msgid "Error reading process memory"
 msgstr ""
 
-#: libdwfl/libdwflP.h:84
+#: libdwfl/libdwflP.h:85
 msgid "Couldn't find architecture of any ELF"
 msgstr ""
 
-#: libdwfl/libdwflP.h:85
+#: libdwfl/libdwflP.h:86
 msgid "Error parsing /proc filesystem"
 msgstr ""
 
-#: libdwfl/libdwflP.h:86
+#: libdwfl/libdwflP.h:87
 #, fuzzy
 msgid "Invalid DWARF"
 msgstr "不当な DWARF"
 
-#: libdwfl/libdwflP.h:87
+#: libdwfl/libdwflP.h:88
 msgid "Unsupported DWARF"
 msgstr ""
 
-#: libdwfl/libdwflP.h:88
+#: libdwfl/libdwflP.h:89
 msgid "Unable to find more threads"
 msgstr ""
 
-#: libdwfl/libdwflP.h:89
+#: libdwfl/libdwflP.h:90
 msgid "Dwfl already has attached state"
 msgstr ""
 
-#: libdwfl/libdwflP.h:90
+#: libdwfl/libdwflP.h:91
 msgid "Dwfl has no attached state"
 msgstr ""
 
-#: libdwfl/libdwflP.h:91
+#: libdwfl/libdwflP.h:92
 msgid "Unwinding not supported for this architecture"
 msgstr ""
 
-#: libdwfl/libdwflP.h:92
+#: libdwfl/libdwflP.h:93
 #, fuzzy
 msgid "Invalid argument"
 msgstr "不当なパラメーター"
 
-#: libdwfl/libdwflP.h:93
+#: libdwfl/libdwflP.h:94
 #, fuzzy
 msgid "Not an ET_CORE ELF file"
 msgstr "不当な ELF ファイル"
@@ -530,7 +534,7 @@
 #: libebl/eblcorenotetypename.c:100 libebl/eblobjnotetypename.c:77
 #: libebl/eblobjnotetypename.c:109 libebl/eblobjnotetypename.c:130
 #: libebl/eblosabiname.c:73 libebl/eblsectionname.c:83
-#: libebl/eblsectiontypename.c:115 libebl/eblsegmenttypename.c:79
+#: libebl/eblsectiontypename.c:115 libebl/eblsegmenttypename.c:81
 msgid "<unknown>"
 msgstr "<不明>"
 
@@ -590,7 +594,7 @@
 msgid "    Linker version: %.*s\n"
 msgstr ""
 
-#: libebl/eblobjnote.c:571
+#: libebl/eblobjnote.c:638
 #, c-format
 msgid "    OS: %s, ABI: "
 msgstr "    OS: %s、ABI: "
@@ -624,7 +628,7 @@
 msgid "invalid size of destination operand"
 msgstr "宛先演算子の大きさが無効"
 
-#: libelf/elf_error.c:87 src/readelf.c:6166
+#: libelf/elf_error.c:87 src/readelf.c:6209
 #, c-format
 msgid "invalid encoding"
 msgstr "無効なエンコード"
@@ -711,8 +715,8 @@
 msgid "invalid section header"
 msgstr "不当なセクションヘッダー"
 
-#: libelf/elf_error.c:191 src/readelf.c:9914 src/readelf.c:10514
-#: src/readelf.c:10615 src/readelf.c:10797
+#: libelf/elf_error.c:191 src/readelf.c:10012 src/readelf.c:10612
+#: src/readelf.c:10713 src/readelf.c:10895
 #, c-format
 msgid "invalid data"
 msgstr "不当なデータ"
@@ -872,12 +876,12 @@
 msgid "offset %#<PRIxMAX> lies outside section '%s'"
 msgstr ""
 
-#: src/addr2line.c:632
+#: src/addr2line.c:652
 #, c-format
 msgid "cannot find symbol '%s'"
 msgstr ""
 
-#: src/addr2line.c:637
+#: src/addr2line.c:657
 #, c-format
 msgid "offset %#<PRIxMAX> lies outside contents of '%s'"
 msgstr ""
@@ -1046,12 +1050,12 @@
 msgid "no entry %s in archive\n"
 msgstr "アーカイブに項目 %s がありません\n"
 
-#: src/ar.c:472 src/ar.c:923 src/ar.c:1127
+#: src/ar.c:472 src/ar.c:927 src/ar.c:1134
 #, c-format
 msgid "cannot create hash table"
 msgstr "ハッシュテーブルを生成できません"
 
-#: src/ar.c:479 src/ar.c:930 src/ar.c:1136
+#: src/ar.c:479 src/ar.c:934 src/ar.c:1143
 #, c-format
 msgid "cannot insert into hash table"
 msgstr "ハッシュに挿入できません"
@@ -1091,67 +1095,67 @@
 msgid "cannot rename temporary file to %.*s"
 msgstr "一時ファイルを %.*s に名前変更できません"
 
-#: src/ar.c:764 src/ar.c:1015 src/ar.c:1416 src/ranlib.c:222
+#: src/ar.c:764 src/ar.c:1019 src/ar.c:1423 src/ranlib.c:222
 #, c-format
 msgid "cannot create new file"
 msgstr "新しいファイルを生成できません"
 
-#: src/ar.c:1218
+#: src/ar.c:1225
 #, c-format
 msgid "position member %s not found"
 msgstr "位置メンバー %s が見つかりません"
 
-#: src/ar.c:1228
+#: src/ar.c:1235
 #, c-format
 msgid "%s: no entry %s in archive!\n"
 msgstr "%s: 項目 %s がアーカイブにありません!\n"
 
-#: src/ar.c:1257 src/objdump.c:241
+#: src/ar.c:1264 src/objdump.c:241
 #, c-format
 msgid "cannot open %s"
 msgstr "%s を開けません"
 
-#: src/ar.c:1262
+#: src/ar.c:1269
 #, c-format
 msgid "cannot stat %s"
 msgstr "%s を stat できません"
 
-#: src/ar.c:1268
+#: src/ar.c:1275
 #, c-format
 msgid "%s is no regular file"
 msgstr "%s は一般ファイルではありません"
 
-#: src/ar.c:1281
+#: src/ar.c:1288
 #, c-format
 msgid "cannot get ELF descriptor for %s: %s\n"
 msgstr "%s の ELF 記述子を得られません: %s\n"
 
-#: src/ar.c:1301
+#: src/ar.c:1308
 #, c-format
 msgid "cannot read %s: %s"
 msgstr "%s を読みません: %s"
 
-#: src/ar.c:1476
+#: src/ar.c:1483
 #, fuzzy, c-format
 msgid "cannot represent ar_date"
 msgstr "セクションデータを割り当てられません: %s"
 
-#: src/ar.c:1482
+#: src/ar.c:1489
 #, fuzzy, c-format
 msgid "cannot represent ar_uid"
 msgstr "セクションデータを割り当てられません: %s"
 
-#: src/ar.c:1488
+#: src/ar.c:1495
 #, fuzzy, c-format
 msgid "cannot represent ar_gid"
 msgstr "セクションデータを割り当てられません: %s"
 
-#: src/ar.c:1494
+#: src/ar.c:1501
 #, fuzzy, c-format
 msgid "cannot represent ar_mode"
 msgstr "セクションを得られません: %s"
 
-#: src/ar.c:1500
+#: src/ar.c:1507
 #, fuzzy, c-format
 msgid "cannot represent ar_size"
 msgstr "%s を開けません"
@@ -1164,7 +1168,7 @@
 msgid "Use actual uid, gid, and date in archive members."
 msgstr ""
 
-#: src/arlib-argp.c:65
+#: src/arlib-argp.c:63
 #, c-format
 msgid "%s (default)"
 msgstr ""
@@ -1373,8 +1377,8 @@
 msgstr ""
 
 #: src/elfcmp.c:734 src/findtextrel.c:205 src/nm.c:364 src/ranlib.c:141
-#: src/size.c:272 src/strings.c:185 src/strip.c:984 src/strip.c:1021
-#: src/unstrip.c:2189 src/unstrip.c:2218
+#: src/size.c:272 src/strings.c:185 src/strip.c:1030 src/strip.c:1067
+#: src/unstrip.c:2194 src/unstrip.c:2223
 #, c-format
 msgid "cannot open '%s'"
 msgstr "'%s' を開けません"
@@ -1404,7 +1408,7 @@
 msgid "cannot get relocation: %s"
 msgstr ""
 
-#: src/elfcompress.c:115 src/strip.c:308 src/unstrip.c:121
+#: src/elfcompress.c:115 src/strip.c:308 src/unstrip.c:117
 #, c-format
 msgid "-o option specified twice"
 msgstr "-o オプションが 2 回指定されています"
@@ -1519,7 +1523,7 @@
 msgid "No errors"
 msgstr "エラーはありません"
 
-#: src/elflint.c:219 src/readelf.c:575
+#: src/elflint.c:219 src/readelf.c:577
 msgid "Missing file name.\n"
 msgstr "ファイル名がありません。\n"
 
@@ -1677,14 +1681,14 @@
 "セクション [%2d] '%s': セクショングループ [%2zu] '%s' がグループメンバーを継"
 "続していません\n"
 
-#: src/elflint.c:610 src/elflint.c:1494 src/elflint.c:1545 src/elflint.c:1651
-#: src/elflint.c:1987 src/elflint.c:2313 src/elflint.c:2932 src/elflint.c:3095
-#: src/elflint.c:3243 src/elflint.c:3433 src/elflint.c:4431
+#: src/elflint.c:610 src/elflint.c:1498 src/elflint.c:1549 src/elflint.c:1655
+#: src/elflint.c:1991 src/elflint.c:2317 src/elflint.c:2943 src/elflint.c:3106
+#: src/elflint.c:3254 src/elflint.c:3444 src/elflint.c:4456
 #, c-format
 msgid "section [%2d] '%s': cannot get section data\n"
 msgstr "セクション [%2d] '%s': セクションデータを得られません\n"
 
-#: src/elflint.c:623 src/elflint.c:1658
+#: src/elflint.c:623 src/elflint.c:1662
 #, c-format
 msgid ""
 "section [%2d] '%s': referenced as string table for section [%2d] '%s' but "
@@ -1707,178 +1711,188 @@
 msgid "section [%2u] '%s': entry size is does not match ElfXX_Sym\n"
 msgstr "セクション [%2u] '%s': 項目サイズが ElfXX_Sym と一致しません\n"
 
-#: src/elflint.c:667
+#: src/elflint.c:662
+#, c-format
+msgid ""
+"section [%2u] '%s': number of local entries in 'st_info' larger than table "
+"size\n"
+msgstr ""
+
+#: src/elflint.c:671
 #, c-format
 msgid "section [%2d] '%s': cannot get symbol %d: %s\n"
 msgstr "セクション [%2d] '%s': シンボル %d を得られません: %s\n"
 
-#: src/elflint.c:672 src/elflint.c:675 src/elflint.c:678 src/elflint.c:681
-#: src/elflint.c:684 src/elflint.c:687
+#: src/elflint.c:676 src/elflint.c:679 src/elflint.c:682 src/elflint.c:685
+#: src/elflint.c:688 src/elflint.c:691
 #, c-format
 msgid "section [%2d] '%s': '%s' in zeroth entry not zero\n"
 msgstr "セクション [%2d] '%s': 0番目の項目にある '%s' ゼロではありません\n"
 
-#: src/elflint.c:690
+#: src/elflint.c:694
 #, c-format
 msgid "section [%2d] '%s': XINDEX for zeroth entry not zero\n"
 msgstr "セクション [%2d] '%s': 0番目の項目用の XINDEX がゼロではありません\n"
 
-#: src/elflint.c:700
+#: src/elflint.c:704
 #, c-format
 msgid "section [%2d] '%s': cannot get symbol %zu: %s\n"
 msgstr "セクション [%2d] '%s': シンボル %zu を得られません: %s\n"
 
-#: src/elflint.c:709
+#: src/elflint.c:713
 #, c-format
 msgid "section [%2d] '%s': symbol %zu: invalid name value\n"
 msgstr "セクション [%2d] '%s': シンボル %zu: 不当な名前の値\n"
 
-#: src/elflint.c:724
-#, c-format
+#: src/elflint.c:728
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: too large section index but no extended "
+"section [%2d] '%s': symbol %zu (%s): too large section index but no extended "
 "section index section\n"
 msgstr ""
 "セクション [%2d] '%s': シンボル %zu: 大きすぎるセクションインデックスだが、拡"
 "張セクションインデックスセクションがありません\n"
 
-#: src/elflint.c:730
-#, c-format
+#: src/elflint.c:734
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: XINDEX used for index which would fit in "
-"st_shndx (%<PRIu32>)\n"
+"section [%2d] '%s': symbol %zu (%s): XINDEX used for index which would fit "
+"in st_shndx (%<PRIu32>)\n"
 msgstr ""
 "セクション [%2d] '%s': シンボル %zu: st_shndx (%<PRIu32>) に適合するインデッ"
 "クス用に使われる XINDEX\n"
 
 #. || sym->st_shndx > SHN_HIRESERVE  always false
-#: src/elflint.c:742
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: invalid section index\n"
+#: src/elflint.c:746
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): invalid section index\n"
 msgstr "セクション [%2d] '%s': シンボル %zu: 不当なセクションインデックス\n"
 
-#: src/elflint.c:750
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown type\n"
+#: src/elflint.c:754
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): unknown type\n"
 msgstr "セクション [%2d] '%s': シンボル %zu: 不明なタイプ\n"
 
-#: src/elflint.c:756
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown symbol binding\n"
+#: src/elflint.c:760
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): unknown symbol binding\n"
 msgstr "セクション [%2d] '%s': シンボル %zu: 不明なシンボルバインディング\n"
 
-#: src/elflint.c:761
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unique symbol not of object type\n"
+#: src/elflint.c:765
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): unique symbol not of object type\n"
 msgstr ""
 "セクション [%2d] '%s': シンボル %zu: オブジェクトタイプと異なる固有のシンボ"
 "ル\n"
 
-#: src/elflint.c:769
-#, c-format
+#: src/elflint.c:773
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: COMMON only allowed in relocatable files\n"
+"section [%2d] '%s': symbol %zu (%s): COMMON only allowed in relocatable "
+"files\n"
 msgstr ""
 "セクション [%2d] '%s': シンボル %zu: COMMON はリロケータブルファイル内のみで"
 "許されます\n"
 
-#: src/elflint.c:773
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: local COMMON symbols are nonsense\n"
+#: src/elflint.c:777
+#, fuzzy, c-format
+msgid ""
+"section [%2d] '%s': symbol %zu (%s): local COMMON symbols are nonsense\n"
 msgstr ""
 "セクション [%2d] '%s': シンボル %zu: ローカルな COMMON シンボルは意味がありま"
 "せん\n"
 
-#: src/elflint.c:777
-#, c-format
+#: src/elflint.c:781
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: function in COMMON section is nonsense\n"
+"section [%2d] '%s': symbol %zu (%s): function in COMMON section is nonsense\n"
 msgstr ""
 "セクション [%2d] '%s': シンボル %zu: COMMON セクションの機能は意味がありませ"
 "ん\n"
 
-#: src/elflint.c:828
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: st_value out of bounds\n"
+#: src/elflint.c:832
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): st_value out of bounds\n"
 msgstr "セクション [%2d] '%s': シンボル %zu: st_value 境界外\n"
 
-#: src/elflint.c:834 src/elflint.c:859 src/elflint.c:908
-#, c-format
+#: src/elflint.c:838 src/elflint.c:863 src/elflint.c:912
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu does not fit completely in referenced section "
-"[%2d] '%s'\n"
+"section [%2d] '%s': symbol %zu (%s) does not fit completely in referenced "
+"section [%2d] '%s'\n"
 msgstr ""
 "セクション [%2d] '%s': シンボル %zu は参照されるセクション [%2d] '%s' とは完"
 "全に一致しません\n"
 
-#: src/elflint.c:843
-#, c-format
+#: src/elflint.c:847
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: referenced section [%2d] '%s' does not have "
-"SHF_TLS flag set\n"
+"section [%2d] '%s': symbol %zu (%s): referenced section [%2d] '%s' does not "
+"have SHF_TLS flag set\n"
 msgstr ""
 "セクション [%2d] '%s': シンボル %zu: 参照されるセクション [%2d] '%s' は "
 "SHF_TLS フラグが設定されていません\n"
 
-#: src/elflint.c:853 src/elflint.c:901
-#, c-format
+#: src/elflint.c:857 src/elflint.c:905
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: st_value out of bounds of referenced section "
-"[%2d] '%s'\n"
+"section [%2d] '%s': symbol %zu (%s): st_value out of bounds of referenced "
+"section [%2d] '%s'\n"
 msgstr ""
 "セクション [%2d] '%s': シンボル %zu: st_value 参照されるセクション [%2d] "
 "'%s' の境界外\n"
 
-#: src/elflint.c:880
-#, c-format
+#: src/elflint.c:884
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: TLS symbol but no TLS program header entry\n"
+"section [%2d] '%s': symbol %zu (%s): TLS symbol but no TLS program header "
+"entry\n"
 msgstr ""
 "セクション [%2d] '%s': シンボル %zu: TLS プログラムヘッダー項目がない TLS シ"
 "ンボル\n"
 
-#: src/elflint.c:886
+#: src/elflint.c:890
 #, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: TLS symbol but couldn't get TLS program "
+"section [%2d] '%s': symbol %zu (%s): TLS symbol but couldn't get TLS program "
 "header entry\n"
 msgstr ""
 "セクション [%2d] '%s': シンボル %zu: TLS プログラムヘッダー項目がない TLS シ"
 "ンボル\n"
 
-#: src/elflint.c:894
-#, c-format
+#: src/elflint.c:898
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: st_value short of referenced section [%2d] "
-"'%s'\n"
+"section [%2d] '%s': symbol %zu (%s): st_value short of referenced section "
+"[%2d] '%s'\n"
 msgstr ""
 "セクション [%2d] '%s': シンボル %zu: 参照されるセクション [%2d] '%s' の"
 "st_value 不足\n"
 
-#: src/elflint.c:921
-#, c-format
+#: src/elflint.c:925
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: local symbol outside range described in "
+"section [%2d] '%s': symbol %zu (%s): local symbol outside range described in "
 "sh_info\n"
 msgstr ""
 "セクション [%2d] '%s': シンボル %zu: sh_info に記述された範囲外のローカルシン"
 "ボル\n"
 
-#: src/elflint.c:928
-#, c-format
+#: src/elflint.c:932
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: non-local symbol outside range described in "
-"sh_info\n"
+"section [%2d] '%s': symbol %zu (%s): non-local symbol outside range "
+"described in sh_info\n"
 msgstr ""
 "セクション [%2d] '%s': シンボル %zu: sh_info に記述された範囲外の非ローカルシ"
 "ンボル\n"
 
-#: src/elflint.c:935
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: non-local section symbol\n"
+#: src/elflint.c:939
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): non-local section symbol\n"
 msgstr "セクション [%2d] '%s': シンボル %zu: 非ローカルセクションシンボル\n"
 
-#: src/elflint.c:985
+#: src/elflint.c:989
 #, c-format
 msgid ""
 "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to bad section "
@@ -1887,7 +1901,7 @@
 "セクション [%2d] '%s': _GLOBAL_OFFSET_TABLE_ シンボルが間違ったセクション "
 "[%2d] を参照しています\n"
 
-#: src/elflint.c:992
+#: src/elflint.c:996
 #, c-format
 msgid ""
 "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to section [%2d] "
@@ -1899,7 +1913,7 @@
 #. 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:1008
+#: src/elflint.c:1012
 #, c-format
 msgid ""
 "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol value %#<PRIx64> does not "
@@ -1908,7 +1922,7 @@
 "セクション [%2d] '%s': _GLOBAL_OFFSET_TABLE_ シンボル値 %#<PRIx64> は %s のセ"
 "クションアドレス %#<PRIx64> と一致しません\n"
 
-#: src/elflint.c:1015
+#: src/elflint.c:1019
 #, c-format
 msgid ""
 "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol size %<PRIu64> does not "
@@ -1917,7 +1931,7 @@
 "セクション [%2d] '%s': _GLOBAL_OFFSET_TABLE_ シンボルサイズ %<PRIu64> は %s "
 "のセクションサイズ %<PRIu64> と一致しません\n"
 
-#: src/elflint.c:1023
+#: src/elflint.c:1027
 #, c-format
 msgid ""
 "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol present, but no .got "
@@ -1926,7 +1940,7 @@
 "セクション [%2d] '%s': _GLOBAL_OFFSET_TABLE_ シンボルはありますが、.got セク"
 "ションがありません\n"
 
-#: src/elflint.c:1039
+#: src/elflint.c:1043
 #, c-format
 msgid ""
 "section [%2d] '%s': _DYNAMIC_ symbol value %#<PRIx64> does not match dynamic "
@@ -1935,7 +1949,7 @@
 "セクション [%2d] '%s': _DYNAMIC_ シンボル値 %#<PRIx64> は動的セグメントアドレ"
 "ス %#<PRIx64> と一致しません\n"
 
-#: src/elflint.c:1046
+#: src/elflint.c:1050
 #, c-format
 msgid ""
 "section [%2d] '%s': _DYNAMIC symbol size %<PRIu64> does not match dynamic "
@@ -1944,38 +1958,38 @@
 "セクション [%2d] '%s': _DYNAMIC シンボルサイズ %<PRIu64> は動的セグメントサイ"
 "ズ %<PRIu64> と一致しません\n"
 
-#: src/elflint.c:1059
-#, c-format
+#: src/elflint.c:1063
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: symbol in dynamic symbol table with non-"
+"section [%2d] '%s': symbol %zu (%s): symbol in dynamic symbol table with non-"
 "default visibility\n"
 msgstr ""
 "セクション [%2d] '%s': シンボル %zu: 省略以外の可視性を持った動的シンボルテー"
 "ブル中のシンボル\n"
 
-#: src/elflint.c:1063
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown bit set in st_other\n"
+#: src/elflint.c:1067
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): unknown bit set in st_other\n"
 msgstr ""
 "セクション [%2d] '%s': シンボル %zu: st_other 中に設定された不明なビット\n"
 
-#: src/elflint.c:1101
+#: src/elflint.c:1105
 #, fuzzy, c-format
 msgid "section [%2d] '%s': cannot get section data.\n"
 msgstr "セクション [%2d] '%s': セクションデータを得られません\n"
 
-#: src/elflint.c:1117
+#: src/elflint.c:1121
 #, c-format
 msgid "section [%2d] '%s': DT_RELCOUNT used for this RELA section\n"
 msgstr "セクション [%2d] '%s': この RELA セクション用に使われる DT_RELCOUNT\n"
 
-#: src/elflint.c:1128 src/elflint.c:1181
+#: src/elflint.c:1132 src/elflint.c:1185
 #, c-format
 msgid "section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"
 msgstr ""
 "セクション [%2d] '%s': このセクション用には高すぎる DT_RELCOUNT 値 %d\n"
 
-#: src/elflint.c:1153 src/elflint.c:1206
+#: src/elflint.c:1157 src/elflint.c:1210
 #, c-format
 msgid ""
 "section [%2d] '%s': relative relocations after index %d as specified by "
@@ -1984,7 +1998,7 @@
 "セクション [%2d] '%s': UT_RELOCOUNT で指定されたインデックス %d 後の相対リロ"
 "ケーション\n"
 
-#: src/elflint.c:1159 src/elflint.c:1212
+#: src/elflint.c:1163 src/elflint.c:1216
 #, c-format
 msgid ""
 "section [%2d] '%s': non-relative relocation at index %zu; DT_RELCOUNT "
@@ -1993,52 +2007,52 @@
 "セクション [%2d] '%s': インデックス %zu での非相対リロケーション;  %d 相対リ"
 "ロケーションで指定された DT_RELCOUNT\n"
 
-#: src/elflint.c:1171
+#: src/elflint.c:1175
 #, c-format
 msgid "section [%2d] '%s': DT_RELACOUNT used for this REL section\n"
 msgstr "セクション [%2d] '%s': この REL セクション用に使われる DT_RELACOUNT\n"
 
-#: src/elflint.c:1254
+#: src/elflint.c:1258
 #, c-format
 msgid "section [%2d] '%s': invalid destination section index\n"
 msgstr "セクション [%2d] '%s': 不当な宛先セクションインデックス\n"
 
-#: src/elflint.c:1266
+#: src/elflint.c:1270
 #, c-format
 msgid "section [%2d] '%s': invalid destination section type\n"
 msgstr "セクション [%2d] '%s': 不当な宛先セクションタイプ\n"
 
-#: src/elflint.c:1274
+#: src/elflint.c:1278
 #, c-format
 msgid "section [%2d] '%s': sh_info should be zero\n"
 msgstr "セクション [%2d] '%s': sh_info はゼロでなければなりません\n"
 
-#: src/elflint.c:1282
+#: src/elflint.c:1286
 #, fuzzy, c-format
 msgid ""
 "section [%2d] '%s': no relocations for merge-able string sections possible\n"
 msgstr ""
 "セクション [%2d] '%s': マージできるセクションのリロケーションは不可能です\n"
 
-#: src/elflint.c:1290
+#: src/elflint.c:1294
 #, c-format
 msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n"
 msgstr ""
 "セクション [%2d] '%s': セクション項目サイズが ElfXX_Rela と一致しません\n"
 
-#: src/elflint.c:1350
+#: src/elflint.c:1354
 #, c-format
 msgid "text relocation flag set but there is no read-only segment\n"
 msgstr ""
 "テキストリロケーションフラグが設定されていますが、読込み専用セグメントがあり"
 "ません\n"
 
-#: src/elflint.c:1377
+#: src/elflint.c:1381
 #, c-format
 msgid "section [%2d] '%s': relocation %zu: invalid type\n"
 msgstr "セクション [%2d] '%s': リロケーション %zu: 不当なタイプ\n"
 
-#: src/elflint.c:1385
+#: src/elflint.c:1389
 #, c-format
 msgid ""
 "section [%2d] '%s': relocation %zu: relocation type invalid for the file "
@@ -2047,13 +2061,13 @@
 "セクション [%2d] '%s': リロケーション %zu: このファイル用のリロケーションタイ"
 "プは不当です\n"
 
-#: src/elflint.c:1393
+#: src/elflint.c:1397
 #, c-format
 msgid "section [%2d] '%s': relocation %zu: invalid symbol index\n"
 msgstr ""
 "セクション [%2d] '%s': リロケーション %zu: 不当なシンボルインデックス\n"
 
-#: src/elflint.c:1411
+#: src/elflint.c:1415
 #, c-format
 msgid ""
 "section [%2d] '%s': relocation %zu: only symbol '_GLOBAL_OFFSET_TABLE_' can "
@@ -2062,12 +2076,12 @@
 "セクション [%2d] '%s': リロケーション %zu: シンボル '_GLOBAL_OFFSET_TABLE_' "
 "のみが %s と一緒に使用できます\n"
 
-#: src/elflint.c:1428
+#: src/elflint.c:1432
 #, c-format
 msgid "section [%2d] '%s': relocation %zu: offset out of bounds\n"
 msgstr "セクション [%2d] '%s': リロケーション %zu: オフセット境界外\n"
 
-#: src/elflint.c:1443
+#: src/elflint.c:1447
 #, c-format
 msgid ""
 "section [%2d] '%s': relocation %zu: copy relocation against symbol of type "
@@ -2076,7 +2090,7 @@
 "セクション [%2d] '%s': リロケーション %zu: タイプ %s のシンボルに対するコピー"
 "リロケーション\n"
 
-#: src/elflint.c:1464
+#: src/elflint.c:1468
 #, c-format
 msgid ""
 "section [%2d] '%s': relocation %zu: read-only section modified but text "
@@ -2085,24 +2099,24 @@
 "セクション [%2d] '%s': リロケーション %zu: 読込み専用セクションが変更されまし"
 "たが、テキストリロケーションフラグが設定されていません\n"
 
-#: src/elflint.c:1479
+#: src/elflint.c:1483
 #, c-format
 msgid "section [%2d] '%s': relocations are against loaded and unloaded data\n"
 msgstr ""
 "セクション [%2d] '%s': リロケーションがロードされたデータとロードされなかった"
 "データに対してです\n"
 
-#: src/elflint.c:1519 src/elflint.c:1570
+#: src/elflint.c:1523 src/elflint.c:1574
 #, c-format
 msgid "section [%2d] '%s': cannot get relocation %zu: %s\n"
 msgstr ""
 
-#: src/elflint.c:1646
+#: src/elflint.c:1650
 #, c-format
 msgid "more than one dynamic section present\n"
 msgstr ""
 
-#: src/elflint.c:1664
+#: src/elflint.c:1668
 #, fuzzy, c-format
 msgid ""
 "section [%2d]: referenced as string table for section [%2d] '%s' but section "
@@ -2111,427 +2125,427 @@
 "セクション [%2d] '%s': セクション [%2d] '%s' 用の文字列テーブルとして参照され"
 "ていますが、タイプが SHT_STRTAB ではありません\n"
 
-#: src/elflint.c:1672
+#: src/elflint.c:1676
 #, c-format
 msgid "section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"
 msgstr ""
 
-#: src/elflint.c:1677 src/elflint.c:1966
+#: src/elflint.c:1681 src/elflint.c:1970
 #, c-format
 msgid "section [%2d] '%s': sh_info not zero\n"
 msgstr ""
 
-#: src/elflint.c:1687
+#: src/elflint.c:1691
 #, c-format
 msgid "section [%2d] '%s': cannot get dynamic section entry %zu: %s\n"
 msgstr ""
 
-#: src/elflint.c:1695
+#: src/elflint.c:1699
 #, c-format
 msgid "section [%2d] '%s': non-DT_NULL entries follow DT_NULL entry\n"
 msgstr ""
 
-#: src/elflint.c:1702
+#: src/elflint.c:1706
 #, c-format
 msgid "section [%2d] '%s': entry %zu: unknown tag\n"
 msgstr ""
 
-#: src/elflint.c:1713
+#: src/elflint.c:1717
 #, c-format
 msgid "section [%2d] '%s': entry %zu: more than one entry with tag %s\n"
 msgstr ""
 
-#: src/elflint.c:1723
+#: src/elflint.c:1727
 #, c-format
 msgid "section [%2d] '%s': entry %zu: level 2 tag %s used\n"
 msgstr ""
 
-#: src/elflint.c:1741
+#: src/elflint.c:1745
 #, c-format
 msgid ""
 "section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n"
 msgstr ""
 
-#: src/elflint.c:1754
+#: src/elflint.c:1758
 #, 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:1797
+#: src/elflint.c:1801
 #, c-format
 msgid ""
 "section [%2d] '%s': entry %zu: %s value must point into loaded segment\n"
 msgstr ""
 
-#: src/elflint.c:1812
+#: src/elflint.c:1816
 #, c-format
 msgid ""
 "section [%2d] '%s': entry %zu: %s value must be valid offset in section "
 "[%2d] '%s'\n"
 msgstr ""
 
-#: src/elflint.c:1832 src/elflint.c:1860
+#: src/elflint.c:1836 src/elflint.c:1864
 #, c-format
 msgid "section [%2d] '%s': contains %s entry but not %s\n"
 msgstr ""
 
-#: src/elflint.c:1844
+#: src/elflint.c:1848
 #, c-format
 msgid "section [%2d] '%s': mandatory tag %s not present\n"
 msgstr ""
 
-#: src/elflint.c:1853
+#: src/elflint.c:1857
 #, c-format
 msgid "section [%2d] '%s': no hash section present\n"
 msgstr ""
 
-#: src/elflint.c:1868 src/elflint.c:1875
+#: src/elflint.c:1872 src/elflint.c:1879
 #, c-format
 msgid "section [%2d] '%s': not all of %s, %s, and %s are present\n"
 msgstr ""
 
-#: src/elflint.c:1885 src/elflint.c:1889
+#: src/elflint.c:1889 src/elflint.c:1893
 #, c-format
 msgid "section [%2d] '%s': %s tag missing in DSO marked during prelinking\n"
 msgstr ""
 
-#: src/elflint.c:1895
+#: src/elflint.c:1899
 #, c-format
 msgid "section [%2d] '%s': non-DSO file marked as dependency during prelink\n"
 msgstr ""
 
-#: src/elflint.c:1906 src/elflint.c:1910 src/elflint.c:1914 src/elflint.c:1918
+#: src/elflint.c:1910 src/elflint.c:1914 src/elflint.c:1918 src/elflint.c:1922
 #, c-format
 msgid "section [%2d] '%s': %s tag missing in prelinked executable\n"
 msgstr ""
 
-#: src/elflint.c:1930
+#: src/elflint.c:1934
 #, c-format
 msgid ""
 "section [%2d] '%s': only relocatable files can have extended section index\n"
 msgstr ""
 
-#: src/elflint.c:1940
+#: src/elflint.c:1944
 #, c-format
 msgid ""
 "section [%2d] '%s': extended section index section not for symbol table\n"
 msgstr ""
 
-#: src/elflint.c:1944
+#: src/elflint.c:1948
 #, fuzzy, c-format
 msgid "section [%2d] '%s': sh_link extended section index [%2d] is invalid\n"
 msgstr "セクション [%2d] '%s': 不当な宛先セクションインデックス\n"
 
-#: src/elflint.c:1949
+#: src/elflint.c:1953
 #, c-format
 msgid "cannot get data for symbol section\n"
 msgstr ""
 
-#: src/elflint.c:1952
+#: src/elflint.c:1956
 #, c-format
 msgid "section [%2d] '%s': entry size does not match Elf32_Word\n"
 msgstr ""
 
-#: src/elflint.c:1961
+#: src/elflint.c:1965
 #, c-format
 msgid "section [%2d] '%s': extended index table too small for symbol table\n"
 msgstr ""
 
-#: src/elflint.c:1976
+#: src/elflint.c:1980
 #, c-format
 msgid ""
 "section [%2d] '%s': extended section index in section [%2zu] '%s' refers to "
 "same symbol table\n"
 msgstr ""
 
-#: src/elflint.c:1994
+#: src/elflint.c:1998
 #, c-format
 msgid "symbol 0 should have zero extended section index\n"
 msgstr ""
 
-#: src/elflint.c:2006
+#: src/elflint.c:2010
 #, c-format
 msgid "cannot get data for symbol %zu\n"
 msgstr ""
 
-#: src/elflint.c:2011
+#: src/elflint.c:2015
 #, c-format
 msgid "extended section index is %<PRIu32> but symbol index is not XINDEX\n"
 msgstr ""
 
-#: src/elflint.c:2028 src/elflint.c:2085
+#: src/elflint.c:2032 src/elflint.c:2089
 #, c-format
 msgid ""
 "section [%2d] '%s': hash table section is too small (is %ld, expected %ld)\n"
 msgstr ""
 
-#: src/elflint.c:2042 src/elflint.c:2099
+#: src/elflint.c:2046 src/elflint.c:2103
 #, c-format
 msgid "section [%2d] '%s': chain array too large\n"
 msgstr ""
 
-#: src/elflint.c:2056 src/elflint.c:2113
+#: src/elflint.c:2060 src/elflint.c:2117
 #, c-format
 msgid "section [%2d] '%s': hash bucket reference %zu out of bounds\n"
 msgstr ""
 
-#: src/elflint.c:2066
+#: src/elflint.c:2070
 #, c-format
 msgid "section [%2d] '%s': hash chain reference %zu out of bounds\n"
 msgstr ""
 
-#: src/elflint.c:2123
+#: src/elflint.c:2127
 #, c-format
 msgid "section [%2d] '%s': hash chain reference %<PRIu64> out of bounds\n"
 msgstr ""
 
-#: src/elflint.c:2136
+#: src/elflint.c:2140
 #, fuzzy, c-format
 msgid "section [%2d] '%s': not enough data\n"
 msgstr "セクション [%2d] '%s': セクションデータを得られません\n"
 
-#: src/elflint.c:2148
+#: src/elflint.c:2152
 #, fuzzy, c-format
 msgid "section [%2d] '%s': bitmask size zero or not power of 2: %u\n"
 msgstr "セクション [%2d] '%s': 0番目の項目にある '%s' ゼロではありません\n"
 
-#: src/elflint.c:2164
+#: src/elflint.c:2168
 #, c-format
 msgid ""
 "section [%2d] '%s': hash table section is too small (is %ld, expected at "
 "least %ld)\n"
 msgstr ""
 
-#: src/elflint.c:2173
+#: src/elflint.c:2177
 #, c-format
 msgid "section [%2d] '%s': 2nd hash function shift too big: %u\n"
 msgstr ""
 
-#: src/elflint.c:2207
+#: src/elflint.c:2211
 #, c-format
 msgid ""
 "section [%2d] '%s': hash chain for bucket %zu lower than symbol index bias\n"
 msgstr ""
 
-#: src/elflint.c:2228
+#: src/elflint.c:2232
 #, c-format
 msgid ""
 "section [%2d] '%s': symbol %u referenced in chain for bucket %zu is "
 "undefined\n"
 msgstr ""
 
-#: src/elflint.c:2241
+#: src/elflint.c:2245
 #, c-format
 msgid ""
 "section [%2d] '%s': hash value for symbol %u in chain for bucket %zu wrong\n"
 msgstr ""
 
-#: src/elflint.c:2250
+#: src/elflint.c:2254
 #, fuzzy, c-format
 msgid ""
 "section [%2d] '%s': mask index for symbol %u in chain for bucket %zu wrong\n"
 msgstr "セクション [%2d] '%s': セクションデータを得られません\n"
 
-#: src/elflint.c:2280
+#: src/elflint.c:2284
 #, c-format
 msgid "section [%2d] '%s': hash chain for bucket %zu out of bounds\n"
 msgstr ""
 
-#: src/elflint.c:2285
+#: src/elflint.c:2289
 #, c-format
 msgid ""
 "section [%2d] '%s': symbol reference in chain for bucket %zu out of bounds\n"
 msgstr ""
 
-#: src/elflint.c:2291
+#: src/elflint.c:2295
 #, c-format
 msgid "section [%2d] '%s': bitmask does not match names in the hash table\n"
 msgstr ""
 
-#: src/elflint.c:2304
+#: src/elflint.c:2308
 #, c-format
 msgid "section [%2d] '%s': relocatable files cannot have hash tables\n"
 msgstr ""
 
-#: src/elflint.c:2322
+#: src/elflint.c:2326
 #, c-format
 msgid "section [%2d] '%s': hash table not for dynamic symbol table\n"
 msgstr ""
 
-#: src/elflint.c:2326
+#: src/elflint.c:2330
 #, fuzzy, c-format
 msgid "section [%2d] '%s': invalid sh_link symbol table section index [%2d]\n"
 msgstr "セクション [%2d] '%s': 不当な宛先セクションインデックス\n"
 
-#: src/elflint.c:2336
+#: src/elflint.c:2340
 #, c-format
 msgid "section [%2d] '%s': hash table entry size incorrect\n"
 msgstr ""
 
-#: src/elflint.c:2341
+#: src/elflint.c:2345
 #, c-format
 msgid "section [%2d] '%s': not marked to be allocated\n"
 msgstr ""
 
-#: src/elflint.c:2346
+#: src/elflint.c:2350
 #, c-format
 msgid ""
 "section [%2d] '%s': hash table has not even room for initial administrative "
 "entries\n"
 msgstr ""
 
-#: src/elflint.c:2395
+#: src/elflint.c:2399
 #, c-format
 msgid "sh_link in hash sections [%2zu] '%s' and [%2zu] '%s' not identical\n"
 msgstr ""
 
-#: src/elflint.c:2419 src/elflint.c:2484 src/elflint.c:2519
+#: src/elflint.c:2423 src/elflint.c:2488 src/elflint.c:2523
 #, fuzzy, c-format
 msgid "hash section [%2zu] '%s' does not contain enough data\n"
 msgstr "セクション [%2d] '%s': セクションデータを得られません\n"
 
-#: src/elflint.c:2440
+#: src/elflint.c:2444
 #, fuzzy, c-format
 msgid "hash section [%2zu] '%s' has zero bit mask words\n"
 msgstr ""
 "\n"
 "セクション [%Zu] '%s' にはダンプすべきデータがありません。\n"
 
-#: src/elflint.c:2451 src/elflint.c:2495 src/elflint.c:2532
+#: src/elflint.c:2455 src/elflint.c:2499 src/elflint.c:2536
 #, fuzzy, c-format
 msgid "hash section [%2zu] '%s' uses too much data\n"
 msgstr "セクション [%2d] '%s': セクションデータを得られません\n"
 
-#: src/elflint.c:2466
+#: src/elflint.c:2470
 #, c-format
 msgid ""
 "hash section [%2zu] '%s' invalid symbol index %<PRIu32> (max_nsyms: "
 "%<PRIu32>, nentries: %<PRIu32>\n"
 msgstr ""
 
-#: src/elflint.c:2553
+#: src/elflint.c:2557
 #, fuzzy, c-format
 msgid "hash section [%2zu] '%s' invalid sh_entsize\n"
 msgstr "セクション [%2d] '%s': 不当な宛先セクションタイプ\n"
 
-#: src/elflint.c:2563 src/elflint.c:2567
+#: src/elflint.c:2567 src/elflint.c:2571
 #, c-format
 msgid "section [%2zu] '%s': reference to symbol index 0\n"
 msgstr ""
 
-#: src/elflint.c:2574
+#: src/elflint.c:2578
 #, 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:2586
+#: src/elflint.c:2590
 #, 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:2602
+#: src/elflint.c:2606
 #, c-format
 msgid "section [%2d] '%s': nonzero sh_%s for NULL section\n"
 msgstr ""
 
-#: src/elflint.c:2622
+#: src/elflint.c:2626
 #, c-format
 msgid ""
 "section [%2d] '%s': section groups only allowed in relocatable object files\n"
 msgstr ""
 
-#: src/elflint.c:2633
+#: src/elflint.c:2637
 #, c-format
 msgid "section [%2d] '%s': cannot get symbol table: %s\n"
 msgstr ""
 
-#: src/elflint.c:2638
+#: src/elflint.c:2642
 #, c-format
 msgid "section [%2d] '%s': section reference in sh_link is no symbol table\n"
 msgstr ""
 
-#: src/elflint.c:2644
+#: src/elflint.c:2648
 #, c-format
 msgid "section [%2d] '%s': invalid symbol index in sh_info\n"
 msgstr ""
 
-#: src/elflint.c:2649
+#: src/elflint.c:2653
 #, c-format
 msgid "section [%2d] '%s': sh_flags not zero\n"
 msgstr ""
 
-#: src/elflint.c:2656
+#: src/elflint.c:2660
 #, c-format
 msgid "section [%2d] '%s': cannot get symbol for signature\n"
 msgstr ""
 
-#: src/elflint.c:2660
+#: src/elflint.c:2664
 #, fuzzy, c-format
 msgid "section [%2d] '%s': cannot get symbol name for signature\n"
 msgstr "セクション [%2d] '%s': シンボル %d を得られません: %s\n"
 
-#: src/elflint.c:2665
+#: src/elflint.c:2669
 #, fuzzy, c-format
 msgid "section [%2d] '%s': signature symbol cannot be empty string\n"
 msgstr "セクション [%2d] '%s': セクションデータを得られません\n"
 
-#: src/elflint.c:2671
+#: src/elflint.c:2675
 #, c-format
 msgid "section [%2d] '%s': sh_flags not set correctly\n"
 msgstr ""
 
-#: src/elflint.c:2677
+#: src/elflint.c:2681
 #, c-format
 msgid "section [%2d] '%s': cannot get data: %s\n"
 msgstr ""
 
-#: src/elflint.c:2686
+#: src/elflint.c:2690
 #, c-format
 msgid "section [%2d] '%s': section size not multiple of sizeof(Elf32_Word)\n"
 msgstr ""
 
-#: src/elflint.c:2692
+#: src/elflint.c:2696
 #, c-format
 msgid "section [%2d] '%s': section group without flags word\n"
 msgstr ""
 
-#: src/elflint.c:2700
+#: src/elflint.c:2704
 #, c-format
 msgid "section [%2d] '%s': section group without member\n"
 msgstr ""
 
-#: src/elflint.c:2704
+#: src/elflint.c:2708
 #, c-format
 msgid "section [%2d] '%s': section group with only one member\n"
 msgstr ""
 
-#: src/elflint.c:2715
+#: src/elflint.c:2719
 #, c-format
 msgid "section [%2d] '%s': unknown section group flags\n"
 msgstr ""
 
-#: src/elflint.c:2727
+#: src/elflint.c:2731
 #, fuzzy, c-format
 msgid "section [%2d] '%s': section index %zu out of range\n"
 msgstr "セクション [%2d] '%s': リロケーション %zu: オフセット境界外\n"
 
-#: src/elflint.c:2736
+#: src/elflint.c:2740
 #, c-format
 msgid "section [%2d] '%s': cannot get section header for element %zu: %s\n"
 msgstr ""
 
-#: src/elflint.c:2743
+#: src/elflint.c:2747
 #, c-format
 msgid "section [%2d] '%s': section group contains another group [%2d] '%s'\n"
 msgstr ""
 
-#: src/elflint.c:2749
+#: src/elflint.c:2753
 #, fuzzy, c-format
 msgid ""
 "section [%2d] '%s': element %zu references section [%2d] '%s' without "
@@ -2540,765 +2554,770 @@
 "セクション [%2d] '%s': シンボル %zu: 参照されるセクション [%2d] '%s' は "
 "SHF_TLS フラグが設定されていません\n"
 
-#: src/elflint.c:2756
+#: src/elflint.c:2760
 #, c-format
 msgid "section [%2d] '%s' is contained in more than one section group\n"
 msgstr ""
 
-#: src/elflint.c:2946
+#: src/elflint.c:2957
 #, 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:2958
+#: src/elflint.c:2969
 #, c-format
 msgid ""
 "section [%2d] '%s' has different number of entries than symbol table [%2d] "
 "'%s'\n"
 msgstr ""
 
-#: src/elflint.c:2974
+#: src/elflint.c:2985
 #, c-format
 msgid "section [%2d] '%s': symbol %d: cannot read version data\n"
 msgstr ""
 
-#: src/elflint.c:2990
+#: src/elflint.c:3001
 #, c-format
 msgid "section [%2d] '%s': symbol %d: local symbol with global scope\n"
 msgstr ""
 
-#: src/elflint.c:2998
+#: src/elflint.c:3009
 #, c-format
 msgid "section [%2d] '%s': symbol %d: local symbol with version\n"
 msgstr ""
 
-#: src/elflint.c:3012
+#: src/elflint.c:3023
 #, c-format
 msgid "section [%2d] '%s': symbol %d: invalid version index %d\n"
 msgstr ""
 
-#: src/elflint.c:3017
+#: src/elflint.c:3028
 #, c-format
 msgid ""
 "section [%2d] '%s': symbol %d: version index %d is for defined version\n"
 msgstr ""
 
-#: src/elflint.c:3027
+#: src/elflint.c:3038
 #, c-format
 msgid ""
 "section [%2d] '%s': symbol %d: version index %d is for requested version\n"
 msgstr ""
 
-#: src/elflint.c:3080
+#: src/elflint.c:3091
 #, c-format
 msgid "more than one version reference section present\n"
 msgstr ""
 
-#: src/elflint.c:3088 src/elflint.c:3235
+#: src/elflint.c:3099 src/elflint.c:3246
 #, c-format
 msgid "section [%2d] '%s': sh_link does not link to string table\n"
 msgstr ""
 
-#: src/elflint.c:3113 src/elflint.c:3289
+#: src/elflint.c:3124 src/elflint.c:3300
 #, c-format
 msgid "section [%2d] '%s': entry %d has wrong version %d\n"
 msgstr ""
 
-#: src/elflint.c:3120 src/elflint.c:3296
+#: src/elflint.c:3131 src/elflint.c:3307
 #, c-format
 msgid "section [%2d] '%s': entry %d has wrong offset of auxiliary data\n"
 msgstr ""
 
-#: src/elflint.c:3130
+#: src/elflint.c:3141
 #, c-format
 msgid "section [%2d] '%s': entry %d has invalid file reference\n"
 msgstr ""
 
-#: src/elflint.c:3138
+#: src/elflint.c:3149
 #, c-format
 msgid "section [%2d] '%s': entry %d references unknown dependency\n"
 msgstr ""
 
-#: src/elflint.c:3150
+#: src/elflint.c:3161
 #, c-format
 msgid "section [%2d] '%s': auxiliary entry %d of entry %d has unknown flag\n"
 msgstr ""
 
-#: src/elflint.c:3158
+#: src/elflint.c:3169
 #, c-format
 msgid ""
 "section [%2d] '%s': auxiliary entry %d of entry %d has invalid name "
 "reference\n"
 msgstr ""
 
-#: src/elflint.c:3167
+#: src/elflint.c:3178
 #, c-format
 msgid ""
 "section [%2d] '%s': auxiliary entry %d of entry %d has wrong hash value: "
 "%#x, expected %#x\n"
 msgstr ""
 
-#: src/elflint.c:3176
+#: src/elflint.c:3187
 #, c-format
 msgid ""
 "section [%2d] '%s': auxiliary entry %d of entry %d has duplicate version "
 "name '%s'\n"
 msgstr ""
 
-#: src/elflint.c:3187
+#: src/elflint.c:3198
 #, c-format
 msgid ""
 "section [%2d] '%s': auxiliary entry %d of entry %d has wrong next field\n"
 msgstr ""
 
-#: src/elflint.c:3204 src/elflint.c:3380
+#: src/elflint.c:3215 src/elflint.c:3391
 #, c-format
 msgid "section [%2d] '%s': entry %d has invalid offset to next entry\n"
 msgstr ""
 
-#: src/elflint.c:3212 src/elflint.c:3388
+#: src/elflint.c:3223 src/elflint.c:3399
 #, c-format
 msgid ""
 "section [%2d] '%s': entry %d has zero offset to next entry, but sh_info says "
 "there are more entries\n"
 msgstr ""
 
-#: src/elflint.c:3227
+#: src/elflint.c:3238
 #, c-format
 msgid "more than one version definition section present\n"
 msgstr ""
 
-#: src/elflint.c:3274
+#: src/elflint.c:3285
 #, c-format
 msgid "section [%2d] '%s': more than one BASE definition\n"
 msgstr ""
 
-#: src/elflint.c:3278
+#: src/elflint.c:3289
 #, c-format
 msgid "section [%2d] '%s': BASE definition must have index VER_NDX_GLOBAL\n"
 msgstr ""
 
-#: src/elflint.c:3284
+#: src/elflint.c:3295
 #, c-format
 msgid "section [%2d] '%s': entry %d has unknown flag\n"
 msgstr ""
 
-#: src/elflint.c:3311
+#: src/elflint.c:3322
 #, c-format
 msgid "section [%2d] '%s': entry %d has invalid name reference\n"
 msgstr ""
 
-#: src/elflint.c:3318
+#: src/elflint.c:3329
 #, c-format
 msgid "section [%2d] '%s': entry %d has wrong hash value: %#x, expected %#x\n"
 msgstr ""
 
-#: src/elflint.c:3326
+#: src/elflint.c:3337
 #, c-format
 msgid "section [%2d] '%s': entry %d has duplicate version name '%s'\n"
 msgstr ""
 
-#: src/elflint.c:3346
+#: src/elflint.c:3357
 #, c-format
 msgid ""
 "section [%2d] '%s': entry %d has invalid name reference in auxiliary data\n"
 msgstr ""
 
-#: src/elflint.c:3363
+#: src/elflint.c:3374
 #, c-format
 msgid "section [%2d] '%s': entry %d has wrong next field in auxiliary data\n"
 msgstr ""
 
-#: src/elflint.c:3396
+#: src/elflint.c:3407
 #, c-format
 msgid "section [%2d] '%s': no BASE definition\n"
 msgstr ""
 
-#: src/elflint.c:3412
+#: src/elflint.c:3423
 #, c-format
 msgid "section [%2d] '%s': unknown parent version '%s'\n"
 msgstr ""
 
-#: src/elflint.c:3425
+#: src/elflint.c:3436
 #, c-format
 msgid "section [%2d] '%s': empty object attributes section\n"
 msgstr ""
 
-#: src/elflint.c:3446
+#: src/elflint.c:3457
 #, c-format
 msgid "section [%2d] '%s': unrecognized attribute format\n"
 msgstr ""
 
-#: src/elflint.c:3462
+#: src/elflint.c:3473
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: zero length field in attribute section\n"
 msgstr ""
 
-#: src/elflint.c:3471
+#: src/elflint.c:3482
 #, c-format
 msgid "section [%2d] '%s': offset %zu: invalid length in attribute section\n"
 msgstr ""
 
-#: src/elflint.c:3483
+#: src/elflint.c:3494
 #, c-format
 msgid "section [%2d] '%s': offset %zu: unterminated vendor name string\n"
 msgstr ""
 
-#: src/elflint.c:3500
+#: src/elflint.c:3511
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: endless ULEB128 in attribute subsection tag\n"
 msgstr ""
 
-#: src/elflint.c:3509
+#: src/elflint.c:3520
 #, c-format
 msgid "section [%2d] '%s': offset %zu: truncated attribute section\n"
 msgstr ""
 
-#: src/elflint.c:3518
+#: src/elflint.c:3529
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: zero length field in attribute subsection\n"
 msgstr ""
 
-#: src/elflint.c:3533
+#: src/elflint.c:3544
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: invalid length in attribute subsection\n"
 msgstr ""
 
 #. Tag_File
-#: src/elflint.c:3544
+#: src/elflint.c:3555
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: attribute subsection has unexpected tag %u\n"
 msgstr ""
 
-#: src/elflint.c:3562
+#: src/elflint.c:3573
 #, c-format
 msgid "section [%2d] '%s': offset %zu: endless ULEB128 in attribute tag\n"
 msgstr ""
 
-#: src/elflint.c:3573
+#: src/elflint.c:3584
 #, c-format
 msgid "section [%2d] '%s': offset %zu: unterminated string in attribute\n"
 msgstr ""
 
-#: src/elflint.c:3586
+#: src/elflint.c:3597
 #, c-format
 msgid "section [%2d] '%s': offset %zu: unrecognized attribute tag %u\n"
 msgstr ""
 
-#: src/elflint.c:3590
+#: src/elflint.c:3601
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: unrecognized %s attribute value %<PRIu64>\n"
 msgstr ""
 
-#: src/elflint.c:3600
+#: src/elflint.c:3611
 #, c-format
 msgid "section [%2d] '%s': offset %zu: vendor '%s' unknown\n"
 msgstr ""
 
-#: src/elflint.c:3606
+#: src/elflint.c:3617
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: extra bytes after last attribute section\n"
 msgstr ""
 
-#: src/elflint.c:3695
+#: src/elflint.c:3714
 #, c-format
 msgid "cannot get section header of zeroth section\n"
 msgstr ""
 
-#: src/elflint.c:3699
+#: src/elflint.c:3718
 #, c-format
 msgid "zeroth section has nonzero name\n"
 msgstr ""
 
-#: src/elflint.c:3701
+#: src/elflint.c:3720
 #, c-format
 msgid "zeroth section has nonzero type\n"
 msgstr ""
 
-#: src/elflint.c:3703
+#: src/elflint.c:3722
 #, c-format
 msgid "zeroth section has nonzero flags\n"
 msgstr ""
 
-#: src/elflint.c:3705
+#: src/elflint.c:3724
 #, c-format
 msgid "zeroth section has nonzero address\n"
 msgstr ""
 
-#: src/elflint.c:3707
+#: src/elflint.c:3726
 #, c-format
 msgid "zeroth section has nonzero offset\n"
 msgstr ""
 
-#: src/elflint.c:3709
+#: src/elflint.c:3728
 #, c-format
 msgid "zeroth section has nonzero align value\n"
 msgstr ""
 
-#: src/elflint.c:3711
+#: src/elflint.c:3730
 #, c-format
 msgid "zeroth section has nonzero entry size value\n"
 msgstr ""
 
-#: src/elflint.c:3714
+#: src/elflint.c:3733
 #, c-format
 msgid ""
 "zeroth section has nonzero size value while ELF header has nonzero shnum "
 "value\n"
 msgstr ""
 
-#: src/elflint.c:3718
+#: src/elflint.c:3737
 #, c-format
 msgid ""
 "zeroth section has nonzero link value while ELF header does not signal "
 "overflow in shstrndx\n"
 msgstr ""
 
-#: src/elflint.c:3722
+#: src/elflint.c:3741
 #, c-format
 msgid ""
 "zeroth section has nonzero link value while ELF header does not signal "
 "overflow in phnum\n"
 msgstr ""
 
-#: src/elflint.c:3740
+#: src/elflint.c:3759
 #, c-format
 msgid "cannot get section header for section [%2zu] '%s': %s\n"
 msgstr ""
 
-#: src/elflint.c:3749
+#: src/elflint.c:3768
 #, c-format
 msgid "section [%2zu]: invalid name\n"
 msgstr ""
 
-#: src/elflint.c:3776
+#: src/elflint.c:3795
 #, c-format
 msgid "section [%2d] '%s' has wrong type: expected %s, is %s\n"
 msgstr ""
 
-#: src/elflint.c:3794
+#: src/elflint.c:3812
 #, c-format
 msgid "section [%2zu] '%s' has wrong flags: expected %s, is %s\n"
 msgstr ""
 
-#: src/elflint.c:3812
+#: src/elflint.c:3830
 #, c-format
 msgid ""
 "section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n"
 msgstr ""
 
-#: src/elflint.c:3830
+#: src/elflint.c:3847
 #, c-format
 msgid "section [%2zu] '%s' present in object file\n"
 msgstr ""
 
-#: src/elflint.c:3836 src/elflint.c:3868
+#: src/elflint.c:3853 src/elflint.c:3885
 #, c-format
 msgid ""
 "section [%2zu] '%s' has SHF_ALLOC flag set but there is no loadable segment\n"
 msgstr ""
 
-#: src/elflint.c:3841 src/elflint.c:3873
+#: src/elflint.c:3858 src/elflint.c:3890
 #, c-format
 msgid ""
 "section [%2zu] '%s' has SHF_ALLOC flag not set but there are loadable "
 "segments\n"
 msgstr ""
 
-#: src/elflint.c:3849
+#: src/elflint.c:3866
 #, c-format
 msgid ""
 "section [%2zu] '%s' is extension section index table in non-object file\n"
 msgstr ""
 
-#: src/elflint.c:3892
+#: src/elflint.c:3909
 #, c-format
 msgid "section [%2zu] '%s': size not multiple of entry size\n"
 msgstr ""
 
-#: src/elflint.c:3897
+#: src/elflint.c:3914
 #, c-format
 msgid "cannot get section header\n"
 msgstr ""
 
-#: src/elflint.c:3907
+#: src/elflint.c:3924
 #, c-format
 msgid "section [%2zu] '%s' has unsupported type %d\n"
 msgstr ""
 
-#: src/elflint.c:3922
+#: src/elflint.c:3944
 #, c-format
 msgid ""
 "section [%2zu] '%s' contains invalid processor-specific flag(s) %#<PRIx64>\n"
 msgstr ""
 
-#: src/elflint.c:3929
+#: src/elflint.c:3954
 #, c-format
 msgid "section [%2zu] '%s' contains unknown flag(s) %#<PRIx64>\n"
 msgstr ""
 
-#: src/elflint.c:3937
+#: src/elflint.c:3962
 #, c-format
 msgid "section [%2zu] '%s': thread-local data sections address not zero\n"
 msgstr ""
 
-#: src/elflint.c:3947
+#: src/elflint.c:3972
 #, fuzzy, c-format
 msgid "section [%2zu] '%s': allocated section cannot be compressed\n"
 msgstr "セクション [%2d] '%s': セクションデータを得られません\n"
 
-#: src/elflint.c:3952
+#: src/elflint.c:3977
 #, fuzzy, c-format
 msgid "section [%2zu] '%s': nobits section cannot be compressed\n"
 msgstr "セクション [%2d] '%s': セクションデータを得られません\n"
 
-#: src/elflint.c:3958
+#: src/elflint.c:3983
 #, c-format
 msgid ""
 "section [%2zu] '%s': compressed section with no compression header: %s\n"
 msgstr ""
 
-#: src/elflint.c:3964
+#: src/elflint.c:3989
 #, c-format
 msgid "section [%2zu] '%s': invalid section reference in link value\n"
 msgstr ""
 
-#: src/elflint.c:3969
+#: src/elflint.c:3994
 #, c-format
 msgid "section [%2zu] '%s': invalid section reference in info value\n"
 msgstr ""
 
-#: src/elflint.c:3976
+#: src/elflint.c:4001
 #, c-format
 msgid "section [%2zu] '%s': strings flag set without merge flag\n"
 msgstr ""
 
-#: src/elflint.c:3981
+#: src/elflint.c:4006
 #, c-format
 msgid "section [%2zu] '%s': merge flag set but entry size is zero\n"
 msgstr ""
 
-#: src/elflint.c:4000
+#: src/elflint.c:4025
 #, c-format
 msgid "section [%2zu] '%s' has unexpected type %d for an executable section\n"
 msgstr ""
 
-#: src/elflint.c:4009
+#: src/elflint.c:4034
 #, c-format
 msgid "section [%2zu] '%s' must be of type NOBITS in debuginfo files\n"
 msgstr ""
 
-#: src/elflint.c:4016
+#: src/elflint.c:4041
 #, c-format
 msgid "section [%2zu] '%s' is both executable and writable\n"
 msgstr ""
 
-#: src/elflint.c:4047
+#: src/elflint.c:4072
 #, c-format
 msgid ""
 "section [%2zu] '%s' not fully contained in segment of program header entry "
 "%d\n"
 msgstr ""
 
-#: src/elflint.c:4057
+#: src/elflint.c:4082
 #, 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:4083
+#: src/elflint.c:4108
 #, c-format
 msgid ""
 "section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
 "program header entry %d and file contents is non-zero\n"
 msgstr ""
 
-#: src/elflint.c:4094
+#: src/elflint.c:4119
 #, 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:4105
+#: src/elflint.c:4130
 #, c-format
 msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n"
 msgstr ""
 
-#: src/elflint.c:4115
+#: src/elflint.c:4140
 #, c-format
 msgid "section [%2zu] '%s' is writable in unwritable segment %d\n"
 msgstr ""
 
-#: src/elflint.c:4125
+#: src/elflint.c:4150
 #, c-format
 msgid ""
 "section [%2zu] '%s': alloc flag set but section not in any loaded segment\n"
 msgstr ""
 
-#: src/elflint.c:4131
+#: src/elflint.c:4156
 #, 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:4139
+#: src/elflint.c:4164
 #, c-format
 msgid ""
 "section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n"
 msgstr ""
 
-#: src/elflint.c:4190
+#: src/elflint.c:4215
 #, c-format
 msgid "more than one version symbol table present\n"
 msgstr ""
 
-#: src/elflint.c:4213
+#: src/elflint.c:4238
 #, c-format
 msgid "INTERP program header entry but no .interp section\n"
 msgstr ""
 
-#: src/elflint.c:4224
+#: src/elflint.c:4249
 #, c-format
 msgid ""
 "loadable segment [%u] is executable but contains no executable sections\n"
 msgstr ""
 
-#: src/elflint.c:4230
+#: src/elflint.c:4255
 #, c-format
 msgid "loadable segment [%u] is writable but contains no writable sections\n"
 msgstr ""
 
-#: src/elflint.c:4241
+#: src/elflint.c:4266
 #, c-format
 msgid ""
 "no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section "
 "exist\n"
 msgstr ""
 
-#: src/elflint.c:4254
+#: src/elflint.c:4279
 #, c-format
 msgid "duplicate version index %d\n"
 msgstr ""
 
-#: src/elflint.c:4268
+#: src/elflint.c:4293
 #, c-format
 msgid ".gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n"
 msgstr ""
 
-#: src/elflint.c:4317
+#: src/elflint.c:4342
 #, c-format
 msgid "phdr[%d]: unknown core file note type %<PRIu32> at offset %<PRIu64>\n"
 msgstr ""
 
-#: src/elflint.c:4321
+#: src/elflint.c:4346
 #, c-format
 msgid ""
 "section [%2d] '%s': unknown core file note type %<PRIu32> at offset %zu\n"
 msgstr ""
 
-#: src/elflint.c:4370
+#: src/elflint.c:4395
 #, c-format
 msgid ""
 "phdr[%d]: unknown object file note type %<PRIu32> with owner name '%s' at "
 "offset %zu\n"
 msgstr ""
 
-#: src/elflint.c:4375
+#: src/elflint.c:4400
 #, c-format
 msgid ""
 "section [%2d] '%s': unknown object file note type %<PRIu32> with owner name "
 "'%s' at offset %zu\n"
 msgstr ""
 
-#: src/elflint.c:4394
+#: src/elflint.c:4419
 #, c-format
 msgid "phdr[%d]: no note entries defined for the type of file\n"
 msgstr ""
 
-#: src/elflint.c:4414
+#: src/elflint.c:4439
 #, c-format
 msgid "phdr[%d]: cannot get content of note section: %s\n"
 msgstr ""
 
-#: src/elflint.c:4417
+#: src/elflint.c:4442
 #, c-format
 msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n"
 msgstr ""
 
-#: src/elflint.c:4438
+#: src/elflint.c:4463
 #, c-format
 msgid "section [%2d] '%s': no note entries defined for the type of file\n"
 msgstr ""
 
-#: src/elflint.c:4445
+#: src/elflint.c:4470
 #, c-format
 msgid "section [%2d] '%s': cannot get content of note section\n"
 msgstr ""
 
-#: src/elflint.c:4448
+#: src/elflint.c:4473
 #, c-format
 msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n"
 msgstr ""
 
-#: src/elflint.c:4466
+#: src/elflint.c:4491
 #, c-format
 msgid ""
 "only executables, shared objects, and core files can have program headers\n"
 msgstr ""
 
-#: src/elflint.c:4481
+#: src/elflint.c:4506
 #, c-format
 msgid "cannot get program header entry %d: %s\n"
 msgstr ""
 
-#: src/elflint.c:4490
+#: src/elflint.c:4516
 #, c-format
 msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n"
 msgstr ""
 
-#: src/elflint.c:4501
+#: src/elflint.c:4527
 #, c-format
 msgid "more than one INTERP entry in program header\n"
 msgstr ""
 
-#: src/elflint.c:4509
+#: src/elflint.c:4535
 #, c-format
 msgid "more than one TLS entry in program header\n"
 msgstr ""
 
-#: src/elflint.c:4516
+#: src/elflint.c:4542
 #, c-format
 msgid "static executable cannot have dynamic sections\n"
 msgstr ""
 
-#: src/elflint.c:4530
+#: src/elflint.c:4556
 #, c-format
 msgid "dynamic section reference in program header has wrong offset\n"
 msgstr ""
 
-#: src/elflint.c:4533
+#: src/elflint.c:4559
 #, c-format
 msgid "dynamic section size mismatch in program and section header\n"
 msgstr ""
 
-#: src/elflint.c:4543
+#: src/elflint.c:4569
 #, c-format
 msgid "more than one GNU_RELRO entry in program header\n"
 msgstr ""
 
-#: src/elflint.c:4564
+#: src/elflint.c:4590
 #, c-format
 msgid "loadable segment GNU_RELRO applies to is not writable\n"
 msgstr ""
 
-#: src/elflint.c:4575
+#: src/elflint.c:4601
 #, c-format
 msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n"
 msgstr ""
 
-#: src/elflint.c:4582
+#: src/elflint.c:4608
 #, c-format
 msgid ""
 "GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n"
 msgstr ""
 
-#: src/elflint.c:4591 src/elflint.c:4614
+#: src/elflint.c:4617 src/elflint.c:4640
 #, c-format
 msgid "%s segment not contained in a loaded segment\n"
 msgstr ""
 
-#: src/elflint.c:4620
+#: src/elflint.c:4646
 #, c-format
 msgid "program header offset in ELF header and PHDR entry do not match"
 msgstr ""
 
-#: src/elflint.c:4647
+#: src/elflint.c:4673
 #, c-format
 msgid "call frame search table reference in program header has wrong offset\n"
 msgstr ""
 
-#: src/elflint.c:4650
+#: src/elflint.c:4676
 #, c-format
 msgid "call frame search table size mismatch in program and section header\n"
 msgstr ""
 
-#: src/elflint.c:4663
+#: src/elflint.c:4689
 #, c-format
 msgid "PT_GNU_EH_FRAME present but no .eh_frame_hdr section\n"
 msgstr ""
 
-#: src/elflint.c:4671
+#: src/elflint.c:4697
 #, c-format
 msgid "call frame search table must be allocated\n"
 msgstr ""
 
-#: src/elflint.c:4674
+#: src/elflint.c:4700
 #, c-format
 msgid "section [%2zu] '%s' must be allocated\n"
 msgstr ""
 
-#: src/elflint.c:4678
+#: src/elflint.c:4704
 #, c-format
 msgid "call frame search table must not be writable\n"
 msgstr ""
 
-#: src/elflint.c:4681
+#: src/elflint.c:4707
 #, c-format
 msgid "section [%2zu] '%s' must not be writable\n"
 msgstr ""
 
-#: src/elflint.c:4686
+#: src/elflint.c:4712
 #, c-format
 msgid "call frame search table must not be executable\n"
 msgstr ""
 
-#: src/elflint.c:4689
+#: src/elflint.c:4715
 #, c-format
 msgid "section [%2zu] '%s' must not be executable\n"
 msgstr ""
 
-#: src/elflint.c:4700
+#: src/elflint.c:4726
 #, c-format
 msgid "program header entry %d: file size greater than memory size\n"
 msgstr ""
 
-#: src/elflint.c:4707
+#: src/elflint.c:4733
 #, c-format
 msgid "program header entry %d: alignment not a power of 2\n"
 msgstr ""
 
-#: src/elflint.c:4710
+#: src/elflint.c:4736
 #, c-format
 msgid ""
 "program header entry %d: file offset and virtual address not module of "
 "alignment\n"
 msgstr ""
 
-#: src/elflint.c:4723
+#: src/elflint.c:4749
 #, 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:4757
+#: src/elflint.c:4783
 #, c-format
 msgid "cannot read ELF header: %s\n"
 msgstr ""
 
-#: src/elflint.c:4783
+#: src/elflint.c:4795
+#, fuzzy, c-format
+msgid "cannot create backend for ELF file\n"
+msgstr "新しいファイルを生成できません"
+
+#: src/elflint.c:4816
 #, c-format
 msgid "text relocation flag set but not needed\n"
 msgstr ""
@@ -3472,7 +3491,7 @@
 msgid "Print size of defined symbols"
 msgstr "定義されたシンボルの印刷サイズ"
 
-#: src/nm.c:91 src/size.c:68 src/strip.c:75 src/unstrip.c:73
+#: src/nm.c:91 src/size.c:68 src/strip.c:75 src/unstrip.c:69
 msgid "Output options:"
 msgstr "出力オプション:"
 
@@ -3508,12 +3527,12 @@
 msgstr "%s: 内部エラー %d (%s-%s): %s"
 
 #: src/nm.c:381 src/nm.c:393 src/size.c:288 src/size.c:297 src/size.c:308
-#: src/strip.c:2748
+#: src/strip.c:2763
 #, c-format
 msgid "while closing '%s'"
 msgstr "'%s' を閉じている最中"
 
-#: src/nm.c:403 src/objdump.c:280 src/strip.c:797
+#: src/nm.c:403 src/objdump.c:280 src/strip.c:818
 #, c-format
 msgid "%s: File format not recognized"
 msgstr "%s: ファイル形式を認識できませんでした"
@@ -3553,13 +3572,13 @@
 msgid "cannot create search tree"
 msgstr "検索ツリーを生成できません"
 
-#: src/nm.c:746 src/nm.c:1205 src/objdump.c:779 src/readelf.c:635
-#: src/readelf.c:1447 src/readelf.c:1598 src/readelf.c:1799 src/readelf.c:2005
-#: src/readelf.c:2195 src/readelf.c:2373 src/readelf.c:2449 src/readelf.c:2707
-#: src/readelf.c:2783 src/readelf.c:2870 src/readelf.c:3468 src/readelf.c:3518
-#: src/readelf.c:3581 src/readelf.c:11230 src/readelf.c:12415
-#: src/readelf.c:12626 src/readelf.c:12695 src/size.c:398 src/size.c:470
-#: src/strip.c:1038
+#: src/nm.c:746 src/nm.c:1239 src/objdump.c:782 src/readelf.c:637
+#: src/readelf.c:1451 src/readelf.c:1602 src/readelf.c:1803 src/readelf.c:2009
+#: src/readelf.c:2199 src/readelf.c:2377 src/readelf.c:2453 src/readelf.c:2711
+#: src/readelf.c:2787 src/readelf.c:2874 src/readelf.c:3472 src/readelf.c:3522
+#: src/readelf.c:3592 src/readelf.c:11328 src/readelf.c:12523
+#: src/readelf.c:12734 src/readelf.c:12803 src/size.c:398 src/size.c:470
+#: src/strip.c:1084
 #, c-format
 msgid "cannot get section header string table index"
 msgstr "セクションヘッダー文字列テーブル索引が得られません"
@@ -3588,28 +3607,28 @@
 "%*s%-*s %-*s クラス タイプ   %-*s %*s セクション\n"
 "\n"
 
-#: src/nm.c:1216
+#: src/nm.c:1250
 #, fuzzy, c-format
 msgid "%s: entry size in section %zd `%s' is not what we expect"
 msgstr "%s: セクションの項目の大きさ `%s' は予期したものとは異なります"
 
-#: src/nm.c:1221
+#: src/nm.c:1255
 #, fuzzy, c-format
 msgid "%s: size of section %zd `%s' is not multiple of entry size"
 msgstr "%s: セクション `%s' の大きさは項目の大きさの整数倍ではありません"
 
-#: src/nm.c:1300
+#: src/nm.c:1334
 #, fuzzy, c-format
 msgid "%s: entries (%zd) in section %zd `%s' is too large"
 msgstr "%s: セクションの項目の大きさ `%s' は予期したものとは異なります"
 
 #. XXX Add machine specific object file types.
-#: src/nm.c:1527
+#: src/nm.c:1570
 #, c-format
 msgid "%s%s%s%s: Invalid operation"
 msgstr "%s%s%s%s: 不当な操作"
 
-#: src/nm.c:1584
+#: src/nm.c:1620
 #, c-format
 msgid "%s%s%s: no symbols"
 msgstr "%s%s%s: シンボルがありません"
@@ -3644,7 +3663,7 @@
 msgid "Show information from FILEs (a.out by default)."
 msgstr ""
 
-#: src/objdump.c:218 src/readelf.c:580
+#: src/objdump.c:218 src/readelf.c:582
 msgid "No operation specified.\n"
 msgstr "操作が指定されていません。\n"
 
@@ -3653,11 +3672,11 @@
 msgid "while close `%s'"
 msgstr ""
 
-#: src/objdump.c:363 src/readelf.c:2100 src/readelf.c:2292
+#: src/objdump.c:363 src/readelf.c:2104 src/readelf.c:2296
 msgid "INVALID SYMBOL"
 msgstr "不当なシンボル"
 
-#: src/objdump.c:378 src/readelf.c:2134 src/readelf.c:2328
+#: src/objdump.c:378 src/readelf.c:2138 src/readelf.c:2332
 msgid "INVALID SECTION"
 msgstr "不当なセクション"
 
@@ -3683,6 +3702,11 @@
 msgid "cannot disassemble"
 msgstr ""
 
+#: src/objdump.c:760
+#, fuzzy, c-format
+msgid "cannot create backend for elf file"
+msgstr "新しいファイルを生成できません"
+
 #. Short description of program.
 #: src/ranlib.c:63
 msgid "Generate an index to speed access to archives."
@@ -3856,143 +3880,143 @@
 msgid "no"
 msgstr "いいえ"
 
-#: src/readelf.c:548
+#: src/readelf.c:550
 #, c-format
 msgid "Unknown DWARF debug section `%s'.\n"
 msgstr "不明な DWARF デバッグセクション `%s'.\n"
 
-#: src/readelf.c:619 src/readelf.c:730
+#: src/readelf.c:621 src/readelf.c:732
 #, c-format
 msgid "cannot generate Elf descriptor: %s"
 msgstr "Elf 記述子を生成できません: %s"
 
-#: src/readelf.c:626 src/readelf.c:953 src/strip.c:1133
+#: src/readelf.c:628 src/readelf.c:955 src/strip.c:1179
 #, c-format
 msgid "cannot determine number of sections: %s"
 msgstr "セクション数を決定できません: %s"
 
-#: src/readelf.c:644 src/readelf.c:1263 src/readelf.c:1471
+#: src/readelf.c:646 src/readelf.c:1265 src/readelf.c:1475
 #, c-format
 msgid "cannot get section: %s"
 msgstr "セクションを得られません: %s"
 
-#: src/readelf.c:653 src/readelf.c:1270 src/readelf.c:1479 src/readelf.c:12646
-#: src/unstrip.c:395 src/unstrip.c:426 src/unstrip.c:485 src/unstrip.c:604
-#: src/unstrip.c:625 src/unstrip.c:665 src/unstrip.c:881 src/unstrip.c:1212
-#: src/unstrip.c:1339 src/unstrip.c:1363 src/unstrip.c:1419 src/unstrip.c:1483
-#: src/unstrip.c:1658 src/unstrip.c:1809 src/unstrip.c:1952 src/unstrip.c:2051
+#: src/readelf.c:655 src/readelf.c:1272 src/readelf.c:1483 src/readelf.c:12754
+#: src/unstrip.c:397 src/unstrip.c:428 src/unstrip.c:487 src/unstrip.c:608
+#: src/unstrip.c:629 src/unstrip.c:669 src/unstrip.c:885 src/unstrip.c:1216
+#: src/unstrip.c:1343 src/unstrip.c:1367 src/unstrip.c:1423 src/unstrip.c:1487
+#: src/unstrip.c:1662 src/unstrip.c:1813 src/unstrip.c:1956 src/unstrip.c:2055
 #, c-format
 msgid "cannot get section header: %s"
 msgstr "セクションヘッダーを得られません: %s"
 
-#: src/readelf.c:661
+#: src/readelf.c:663
 #, fuzzy, c-format
 msgid "cannot get section name"
 msgstr "セクションを得られません: %s"
 
-#: src/readelf.c:670 src/readelf.c:6576 src/readelf.c:10502 src/readelf.c:10604
-#: src/readelf.c:10782
+#: src/readelf.c:672 src/readelf.c:6628 src/readelf.c:10600 src/readelf.c:10702
+#: src/readelf.c:10880
 #, c-format
 msgid "cannot get %s content: %s"
 msgstr "%s の内容を得られません: %s"
 
-#: src/readelf.c:686
+#: src/readelf.c:688
 #, fuzzy, c-format
 msgid "cannot create temp file '%s'"
 msgstr "新しいファイル '%s' を生成できません: %s"
 
-#: src/readelf.c:695
+#: src/readelf.c:697
 #, fuzzy, c-format
 msgid "cannot write section data"
 msgstr "セクションデータを割り当てられません: %s"
 
-#: src/readelf.c:701 src/readelf.c:718 src/readelf.c:747
+#: src/readelf.c:703 src/readelf.c:720 src/readelf.c:749
 #, c-format
 msgid "error while closing Elf descriptor: %s"
 msgstr "Elf 記述子を閉じている時にエラー: %s"
 
-#: src/readelf.c:708
+#: src/readelf.c:710
 #, fuzzy, c-format
 msgid "error while rewinding file descriptor"
 msgstr "Elf 記述子を閉じている時にエラー: %s"
 
-#: src/readelf.c:742
+#: src/readelf.c:744
 #, c-format
 msgid "'%s' is not an archive, cannot print archive index"
 msgstr "'%s' はアーカイブではなく、アーカイブ索引を印刷できません"
 
-#: src/readelf.c:846
+#: src/readelf.c:848
 #, c-format
 msgid "cannot stat input file"
 msgstr "入力ファイルを stat できません"
 
-#: src/readelf.c:848
+#: src/readelf.c:850
 #, c-format
 msgid "input file is empty"
 msgstr "入力ファイルが空です"
 
-#: src/readelf.c:850
+#: src/readelf.c:852
 #, c-format
 msgid "failed reading '%s': %s"
 msgstr "'%s' の読込みに失敗: %s"
 
-#: src/readelf.c:879
+#: src/readelf.c:881
 #, fuzzy, c-format
 msgid "No such section '%s' in '%s'"
 msgstr "セクション [%Zu] '%s' からデータが得られません: %s"
 
-#: src/readelf.c:938
+#: src/readelf.c:940
 #, c-format
 msgid "cannot read ELF header: %s"
 msgstr "ELF ヘッダーが読めません: %s"
 
-#: src/readelf.c:946
+#: src/readelf.c:948
 #, c-format
 msgid "cannot create EBL handle"
 msgstr "EBL ヘッダーを生成できません"
 
-#: src/readelf.c:959
+#: src/readelf.c:961
 #, fuzzy, c-format
 msgid "cannot determine number of program headers: %s"
 msgstr "セクション数を決定できません: %s"
 
-#: src/readelf.c:991
+#: src/readelf.c:993
 #, fuzzy, c-format
 msgid "cannot read ELF: %s"
 msgstr "%s を読みません: %s"
 
-#: src/readelf.c:1052
+#: src/readelf.c:1054
 msgid "NONE (None)"
 msgstr "なし (なし)"
 
-#: src/readelf.c:1053
+#: src/readelf.c:1055
 msgid "REL (Relocatable file)"
 msgstr "REL (リロケータブルファイル)"
 
-#: src/readelf.c:1054
+#: src/readelf.c:1056
 msgid "EXEC (Executable file)"
 msgstr "(EXEC (実行ファイル)"
 
-#: src/readelf.c:1055
+#: src/readelf.c:1057
 msgid "DYN (Shared object file)"
 msgstr "DYN (共用オブジェクトファイル)"
 
-#: src/readelf.c:1056
+#: src/readelf.c:1058
 msgid "CORE (Core file)"
 msgstr "CORE (コアファイル)"
 
-#: src/readelf.c:1061
+#: src/readelf.c:1063
 #, c-format
 msgid "OS Specific: (%x)\n"
 msgstr "OS 固有: (%x)\n"
 
 #. && e_type <= ET_HIPROC always true
-#: src/readelf.c:1063
+#: src/readelf.c:1065
 #, c-format
 msgid "Processor Specific: (%x)\n"
 msgstr "プロセッサー固有: (%x)\n"
 
-#: src/readelf.c:1073
+#: src/readelf.c:1075
 msgid ""
 "ELF Header:\n"
 "  Magic:  "
@@ -4000,7 +4024,7 @@
 "ELF ヘッダー:\n"
 " マジック: "
 
-#: src/readelf.c:1077
+#: src/readelf.c:1079
 #, c-format
 msgid ""
 "\n"
@@ -4009,123 +4033,123 @@
 "\n"
 "  クラス:                            %s\n"
 
-#: src/readelf.c:1082
+#: src/readelf.c:1084
 #, c-format
 msgid "  Data:                              %s\n"
 msgstr "  データ:                            %s\n"
 
-#: src/readelf.c:1088
+#: src/readelf.c:1090
 #, c-format
 msgid "  Ident Version:                     %hhd %s\n"
 msgstr "  識別バージョン:                    %hhd %s\n"
 
-#: src/readelf.c:1090 src/readelf.c:1112
+#: src/readelf.c:1092 src/readelf.c:1114
 msgid "(current)"
 msgstr "(現在)"
 
-#: src/readelf.c:1094
+#: src/readelf.c:1096
 #, c-format
 msgid "  OS/ABI:                            %s\n"
 msgstr "  OS/ABI:                            %s\n"
 
-#: src/readelf.c:1097
+#: src/readelf.c:1099
 #, c-format
 msgid "  ABI Version:                       %hhd\n"
 msgstr "  ABI バージョン:                    %hhd\n"
 
-#: src/readelf.c:1100
+#: src/readelf.c:1102
 msgid "  Type:                              "
 msgstr "  タイプ:                            "
 
-#: src/readelf.c:1105
+#: src/readelf.c:1107
 #, c-format
 msgid "  Machine:                           %s\n"
 msgstr "  マシン :                           %s\n"
 
-#: src/readelf.c:1107
+#: src/readelf.c:1109
 #, fuzzy, c-format
 msgid "  Machine:                           <unknown>: 0x%x\n"
 msgstr "  マシン :                           %s\n"
 
-#: src/readelf.c:1110
+#: src/readelf.c:1112
 #, c-format
 msgid "  Version:                           %d %s\n"
 msgstr "  バージョン:                        %d %s\n"
 
-#: src/readelf.c:1114
+#: src/readelf.c:1116
 #, c-format
 msgid "  Entry point address:               %#<PRIx64>\n"
 msgstr "  入口点アドレス     :               %#<PRIx64>\n"
 
-#: src/readelf.c:1117
+#: src/readelf.c:1119
 #, c-format
 msgid "  Start of program headers:          %<PRId64> %s\n"
 msgstr "  プログラムヘッダーの開始:          %<PRId64> %s\n"
 
-#: src/readelf.c:1118 src/readelf.c:1121
+#: src/readelf.c:1120 src/readelf.c:1123
 msgid "(bytes into file)"
 msgstr "(ファイルへのバイト数)"
 
-#: src/readelf.c:1120
+#: src/readelf.c:1122
 #, c-format
 msgid "  Start of section headers:          %<PRId64> %s\n"
 msgstr "  セクションヘッダーの開始:          %<PRId64> %s\n"
 
-#: src/readelf.c:1123
+#: src/readelf.c:1125
 #, c-format
 msgid "  Flags:                             %s\n"
 msgstr "  フラグ:                            %s\n"
 
-#: src/readelf.c:1126
+#: src/readelf.c:1128
 #, c-format
 msgid "  Size of this header:               %<PRId16> %s\n"
 msgstr "  このヘッダーの大きさ:              %<PRId16> %s\n"
 
-#: src/readelf.c:1127 src/readelf.c:1130 src/readelf.c:1147
+#: src/readelf.c:1129 src/readelf.c:1132 src/readelf.c:1149
 msgid "(bytes)"
 msgstr "(バイト)"
 
-#: src/readelf.c:1129
+#: src/readelf.c:1131
 #, c-format
 msgid "  Size of program header entries:    %<PRId16> %s\n"
 msgstr "  プログラムヘッダー項目の大きさ:%<PRId16> %s\n"
 
-#: src/readelf.c:1132
+#: src/readelf.c:1134
 #, fuzzy, c-format
 msgid "  Number of program headers entries: %<PRId16>"
 msgstr "  プログラムヘッダー項目の数 : %<PRId16>\n"
 
-#: src/readelf.c:1139
+#: src/readelf.c:1141
 #, fuzzy, c-format
 msgid " (%<PRIu32> in [0].sh_info)"
 msgstr "([0].sh_link の %<PRIu32>)"
 
-#: src/readelf.c:1142 src/readelf.c:1159 src/readelf.c:1173
+#: src/readelf.c:1144 src/readelf.c:1161 src/readelf.c:1175
 msgid " ([0] not available)"
 msgstr "([0]は使えません)"
 
-#: src/readelf.c:1146
+#: src/readelf.c:1148
 #, c-format
 msgid "  Size of section header entries:    %<PRId16> %s\n"
 msgstr "  セクションヘッダー項目の大きさ:%<PRId16> %s\n"
 
-#: src/readelf.c:1149
+#: src/readelf.c:1151
 #, c-format
 msgid "  Number of section headers entries: %<PRId16>"
 msgstr "  セクションヘッダー項目の数 : %<PRId16>"
 
-#: src/readelf.c:1156
+#: src/readelf.c:1158
 #, c-format
 msgid " (%<PRIu32> in [0].sh_size)"
 msgstr " ([0].sh_size の %<PRIu32>)"
 
 #. We managed to get the zeroth section.
-#: src/readelf.c:1169
+#: src/readelf.c:1171
 #, c-format
 msgid " (%<PRIu32> in [0].sh_link)"
 msgstr "([0].sh_link の %<PRIu32>)"
 
-#: src/readelf.c:1177
+#: src/readelf.c:1179
 #, c-format
 msgid ""
 "  Section header string table index: XINDEX%s\n"
@@ -4134,7 +4158,7 @@
 "  セクションヘッダー文字列テーブル索引: XINDEX%s\n"
 "\n"
 
-#: src/readelf.c:1181
+#: src/readelf.c:1183
 #, c-format
 msgid ""
 "  Section header string table index: %<PRId16>\n"
@@ -4143,12 +4167,12 @@
 "  セクションヘッダー文字列テーブル索引: %<PRId16>\n"
 "\n"
 
-#: src/readelf.c:1228 src/readelf.c:1436
+#: src/readelf.c:1230 src/readelf.c:1440
 #, fuzzy, c-format
 msgid "cannot get number of sections: %s"
 msgstr "セクション数を決定できません: %s"
 
-#: src/readelf.c:1231
+#: src/readelf.c:1233
 #, fuzzy, c-format
 msgid ""
 "There are %zd section headers, starting at offset %#<PRIx64>:\n"
@@ -4157,16 +4181,16 @@
 "オフセット %2$#<PRIx64> から始まる %1$d 個のセクションヘッダーがあります:\n"
 "\n"
 
-#: src/readelf.c:1240
+#: src/readelf.c:1242
 #, fuzzy, c-format
 msgid "cannot get section header string table index: %s"
 msgstr "セクションヘッダー文字列テーブル索引が得られません"
 
-#: src/readelf.c:1243
+#: src/readelf.c:1245
 msgid "Section Headers:"
 msgstr "セクションヘッダー:"
 
-#: src/readelf.c:1246
+#: src/readelf.c:1248
 msgid ""
 "[Nr] Name                 Type         Addr     Off    Size   ES Flags Lk "
 "Inf Al"
@@ -4174,7 +4198,7 @@
 "[番] 名前                 タイプ       アドレス オフセ 大きさ ES フラグLk "
 "Inf Al"
 
-#: src/readelf.c:1248
+#: src/readelf.c:1250
 msgid ""
 "[Nr] Name                 Type         Addr             Off      Size     ES "
 "Flags Lk Inf Al"
@@ -4182,35 +4206,35 @@
 "[番] 名前                 タイプ       アドレス         オフセ   大きさ   ES "
 "フラグLk Inf Al"
 
-#: src/readelf.c:1253
+#: src/readelf.c:1255
 msgid "     [Compression  Size   Al]"
 msgstr ""
 
-#: src/readelf.c:1255
+#: src/readelf.c:1257
 msgid "     [Compression  Size     Al]"
 msgstr ""
 
-#: src/readelf.c:1331
+#: src/readelf.c:1335
 #, fuzzy, c-format
 msgid "bad compression header for section %zd: %s"
 msgstr "セクションヘッダー文字列セクションを生成できません: %s"
 
-#: src/readelf.c:1342
+#: src/readelf.c:1346
 #, fuzzy, c-format
 msgid "bad gnu compressed size for section %zd: %s"
 msgstr "セクションからデータを得られません %d: %s"
 
-#: src/readelf.c:1360
+#: src/readelf.c:1364
 msgid "Program Headers:"
 msgstr "プログラムヘッダー:"
 
-#: src/readelf.c:1362
+#: src/readelf.c:1366
 msgid ""
 "  Type           Offset   VirtAddr   PhysAddr   FileSiz  MemSiz   Flg Align"
 msgstr ""
 "  タイプ         オフセ   仮アドレス 物アドレス ファイ量 メモ量   Flg 調整 "
 
-#: src/readelf.c:1365
+#: src/readelf.c:1369
 msgid ""
 "  Type           Offset   VirtAddr           PhysAddr           FileSiz  "
 "MemSiz   Flg Align"
@@ -4218,12 +4242,12 @@
 "  タイプ         オフセ   仮想アドレス       物理アドレス      ファイル量メモ"
 "量   Flg 調整 "
 
-#: src/readelf.c:1422
+#: src/readelf.c:1426
 #, c-format
 msgid "\t[Requesting program interpreter: %s]\n"
 msgstr "\t[プログラム割込みを要求: %s]\n"
 
-#: src/readelf.c:1449
+#: src/readelf.c:1453
 msgid ""
 "\n"
 " Section to Segment mapping:\n"
@@ -4233,12 +4257,12 @@
 " セクションからセグメントへのマッビング:\n"
 "  セグメント セクション..."
 
-#: src/readelf.c:1460 src/unstrip.c:2110 src/unstrip.c:2152 src/unstrip.c:2159
+#: src/readelf.c:1464 src/unstrip.c:2114 src/unstrip.c:2156 src/unstrip.c:2163
 #, c-format
 msgid "cannot get program header: %s"
 msgstr "プログラムヘッダーを得られません: %s"
 
-#: src/readelf.c:1606
+#: src/readelf.c:1610
 #, c-format
 msgid ""
 "\n"
@@ -4251,7 +4275,7 @@
 "署名 '%3$s' を持つ COMDAT セクショングループ [%1$2zu] '%2$s' には %4$zu 個の"
 "項目があります:\n"
 
-#: src/readelf.c:1611
+#: src/readelf.c:1615
 #, c-format
 msgid ""
 "\n"
@@ -4264,31 +4288,31 @@
 "署名 '%3$s' を持つセクショングループ [%1$2zu] '%2$s' には %4$zu 個の項目があ"
 "ります:\n"
 
-#: src/readelf.c:1619
+#: src/readelf.c:1623
 msgid "<INVALID SYMBOL>"
 msgstr "<不当なシンボル>"
 
-#: src/readelf.c:1633
+#: src/readelf.c:1637
 msgid "<INVALID SECTION>"
 msgstr "<不当なセクション>"
 
-#: src/readelf.c:1656 src/readelf.c:2383 src/readelf.c:3484 src/readelf.c:12517
-#: src/readelf.c:12524 src/readelf.c:12568 src/readelf.c:12575
+#: src/readelf.c:1660 src/readelf.c:2387 src/readelf.c:3488 src/readelf.c:12625
+#: src/readelf.c:12632 src/readelf.c:12676 src/readelf.c:12683
 msgid "Couldn't uncompress section"
 msgstr ""
 
-#: src/readelf.c:1661 src/readelf.c:2388 src/readelf.c:3489
+#: src/readelf.c:1665 src/readelf.c:2392 src/readelf.c:3493
 #, fuzzy, c-format
 msgid "cannot get section [%zd] header: %s"
 msgstr "セクションヘッダーを得られません: %s"
 
-#: src/readelf.c:1805 src/readelf.c:2455 src/readelf.c:2713 src/readelf.c:2789
-#: src/readelf.c:3093 src/readelf.c:3167 src/readelf.c:5364
+#: src/readelf.c:1809 src/readelf.c:2459 src/readelf.c:2717 src/readelf.c:2793
+#: src/readelf.c:3097 src/readelf.c:3171 src/readelf.c:5401
 #, fuzzy, c-format
 msgid "invalid sh_link value in section %zu"
 msgstr "不当な .debug_line セクション"
 
-#: src/readelf.c:1808
+#: src/readelf.c:1812
 #, c-format
 msgid ""
 "\n"
@@ -4304,36 +4328,36 @@
 " アドレス: %#0*<PRIx64>  オフセット: %#08<PRIx64>  セクションへのリンク: "
 "[%2u] '%s'\n"
 
-#: src/readelf.c:1818
+#: src/readelf.c:1822
 msgid "  Type              Value\n"
 msgstr "  タイプ            値\n"
 
-#: src/readelf.c:1842
+#: src/readelf.c:1846
 #, c-format
 msgid "Shared library: [%s]\n"
 msgstr "共用ライブラリー: [%s]\n"
 
-#: src/readelf.c:1847
+#: src/readelf.c:1851
 #, c-format
 msgid "Library soname: [%s]\n"
 msgstr "ライブラリー so 名: [%s]\n"
 
-#: src/readelf.c:1852
+#: src/readelf.c:1856
 #, c-format
 msgid "Library rpath: [%s]\n"
 msgstr "ライブラリー rパス: [%s]\n"
 
-#: src/readelf.c:1857
+#: src/readelf.c:1861
 #, c-format
 msgid "Library runpath: [%s]\n"
 msgstr "ライブラリー run パス: [%s]\n"
 
-#: src/readelf.c:1877
+#: src/readelf.c:1881
 #, c-format
 msgid "%<PRId64> (bytes)\n"
 msgstr "%<PRId64> (バイト)\n"
 
-#: src/readelf.c:1990 src/readelf.c:2180
+#: src/readelf.c:1994 src/readelf.c:2184
 #, c-format
 msgid ""
 "\n"
@@ -4342,7 +4366,7 @@
 "\n"
 "オフセット %#0<PRIx64> に不当なシンボルテーブル\n"
 
-#: src/readelf.c:2008 src/readelf.c:2198
+#: src/readelf.c:2012 src/readelf.c:2202
 #, c-format
 msgid ""
 "\n"
@@ -4363,7 +4387,7 @@
 #. The .rela.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:2023 src/readelf.c:2213
+#: src/readelf.c:2027 src/readelf.c:2217
 #, c-format
 msgid ""
 "\n"
@@ -4376,29 +4400,29 @@
 "オフセット %3$#0<PRIx64> のリロケーションセクション [%1$2u] '%2$s' には %4$d "
 "個の項目があります:\n"
 
-#: src/readelf.c:2033
+#: src/readelf.c:2037
 msgid "  Offset      Type                 Value       Name\n"
 msgstr "  オフセット  タイプ               値          名前\n"
 
-#: src/readelf.c:2035
+#: src/readelf.c:2039
 msgid "  Offset              Type                 Value               Name\n"
 msgstr "  オフセット          タイプ               値                  名前\n"
 
-#: src/readelf.c:2088 src/readelf.c:2099 src/readelf.c:2112 src/readelf.c:2133
-#: src/readelf.c:2145 src/readelf.c:2279 src/readelf.c:2291 src/readelf.c:2305
-#: src/readelf.c:2327 src/readelf.c:2340
+#: src/readelf.c:2092 src/readelf.c:2103 src/readelf.c:2116 src/readelf.c:2137
+#: src/readelf.c:2149 src/readelf.c:2283 src/readelf.c:2295 src/readelf.c:2309
+#: src/readelf.c:2331 src/readelf.c:2344
 msgid "<INVALID RELOC>"
 msgstr "<不当なRELOC>"
 
-#: src/readelf.c:2223
+#: src/readelf.c:2227
 msgid "  Offset      Type            Value       Addend Name\n"
 msgstr "  オフセット  タイプ          値          付加名\n"
 
-#: src/readelf.c:2225
+#: src/readelf.c:2229
 msgid "  Offset              Type            Value               Addend Name\n"
 msgstr "  オフセット          タイプ          値                  付加名\n"
 
-#: src/readelf.c:2463
+#: src/readelf.c:2467
 #, c-format
 msgid ""
 "\n"
@@ -4410,39 +4434,39 @@
 "\n"
 "シンボルテーブル [%2u] '%s' には %u 個の項目があります:\n"
 
-#: src/readelf.c:2468
+#: src/readelf.c:2472
 #, c-format
 msgid " %lu local symbol  String table: [%2u] '%s'\n"
 msgid_plural " %lu local symbols  String table: [%2u] '%s'\n"
 msgstr[0] " %lu ローカルシンボル文字列テーブル: [%2u] '%s'\n"
 
-#: src/readelf.c:2476
+#: src/readelf.c:2480
 msgid "  Num:    Value   Size Type    Bind   Vis          Ndx Name\n"
 msgstr "  数 :    値      大き タイプ  Bind   Vis          Ndx 名前\n"
 
-#: src/readelf.c:2478
+#: src/readelf.c:2482
 msgid "  Num:            Value   Size Type    Bind   Vis          Ndx Name\n"
 msgstr "  数 :            値      大き タイプ  Bind   Vis          Ndx 名前\n"
 
-#: src/readelf.c:2498
+#: src/readelf.c:2502
 #, c-format
 msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
 msgstr "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
 
-#: src/readelf.c:2586
+#: src/readelf.c:2590
 #, c-format
 msgid "bad dynamic symbol"
 msgstr "不正な動的シンボル"
 
-#: src/readelf.c:2668
+#: src/readelf.c:2672
 msgid "none"
 msgstr "なし"
 
-#: src/readelf.c:2685
+#: src/readelf.c:2689
 msgid "| <unknown>"
 msgstr "| <不明>"
 
-#: src/readelf.c:2716
+#: src/readelf.c:2720
 #, c-format
 msgid ""
 "\n"
@@ -4458,17 +4482,17 @@
 " アドレス: %#0*<PRIx64>  オフセット: %#08<PRIx64>  セクションへのリンク: "
 "[%2u] '%s'\n"
 
-#: src/readelf.c:2737
+#: src/readelf.c:2741
 #, c-format
 msgid "  %#06x: Version: %hu  File: %s  Cnt: %hu\n"
 msgstr "  %#06x: バージョン: %hu  ファイル: %s  数: %hu\n"
 
-#: src/readelf.c:2750
+#: src/readelf.c:2754
 #, c-format
 msgid "  %#06x: Name: %s  Flags: %s  Version: %hu\n"
 msgstr "  %#06x: 名前: %s  フラグ: %s  バージョン: %hu\n"
 
-#: src/readelf.c:2793
+#: src/readelf.c:2797
 #, c-format
 msgid ""
 "\n"
@@ -4484,18 +4508,18 @@
 " アドレス: %#0*<PRIx64>  オフセット: %#08<PRIx64>  セクションへのリンク: "
 "[%2u] '%s'\n"
 
-#: src/readelf.c:2821
+#: src/readelf.c:2825
 #, c-format
 msgid "  %#06x: Version: %hd  Flags: %s  Index: %hd  Cnt: %hd  Name: %s\n"
 msgstr "  %#06x: バージョン: %hd  フラグ: %s  索引: %hd  数: %hd  名前: %s\n"
 
-#: src/readelf.c:2836
+#: src/readelf.c:2840
 #, c-format
 msgid "  %#06x: Parent %d: %s\n"
 msgstr "  %#06x: 親 %d: %s\n"
 
 #. Print the header.
-#: src/readelf.c:3097
+#: src/readelf.c:3101
 #, c-format
 msgid ""
 "\n"
@@ -4511,15 +4535,15 @@
 " アドレス: %#0*<PRIx64>  オフセット: %#08<PRIx64>  セクションへのリンク: "
 "[%2u] '%s'"
 
-#: src/readelf.c:3125
+#: src/readelf.c:3129
 msgid "   0 *local*                     "
 msgstr "   0 *ローカル*                  "
 
-#: src/readelf.c:3130
+#: src/readelf.c:3134
 msgid "   1 *global*                    "
 msgstr "   1 *グローバル*                "
 
-#: src/readelf.c:3172
+#: src/readelf.c:3176
 #, c-format
 msgid ""
 "\n"
@@ -4537,22 +4561,22 @@
 " アドレス: %#0*<PRIx64>  オフセット: %#08<PRIx64>  セクションへのリンク: "
 "[%2u] '%s'\n"
 
-#: src/readelf.c:3194
+#: src/readelf.c:3198
 #, fuzzy, no-c-format
 msgid " Length  Number  % of total  Coverage\n"
 msgstr " 長さ    数      全体の%     範囲    \n"
 
-#: src/readelf.c:3196
+#: src/readelf.c:3200
 #, c-format
 msgid "      0  %6<PRIu32>      %5.1f%%\n"
 msgstr "      0  %6<PRIu32>      %5.1f%%\n"
 
-#: src/readelf.c:3203
+#: src/readelf.c:3207
 #, c-format
 msgid "%7d  %6<PRIu32>      %5.1f%%    %5.1f%%\n"
 msgstr "%7d  %6<PRIu32>      %5.1f%%    %5.1f%%\n"
 
-#: src/readelf.c:3216
+#: src/readelf.c:3220
 #, fuzzy, c-format
 msgid ""
 " Average number of tests:   successful lookup: %f\n"
@@ -4561,37 +4585,37 @@
 " テストの平均数: 検索成功: %f\n"
 "                 検索失敗: %f\n"
 
-#: src/readelf.c:3234 src/readelf.c:3298 src/readelf.c:3364
+#: src/readelf.c:3238 src/readelf.c:3302 src/readelf.c:3368
 #, c-format
 msgid "cannot get data for section %d: %s"
 msgstr "セクションからデータを得られません %d: %s"
 
-#: src/readelf.c:3242
+#: src/readelf.c:3246
 #, fuzzy, c-format
 msgid "invalid data in sysv.hash section %d"
 msgstr "セクション [%zu] '%s' の不当なデータ"
 
-#: src/readelf.c:3271
+#: src/readelf.c:3275
 #, fuzzy, c-format
 msgid "invalid chain in sysv.hash section %d"
 msgstr "セクション [%zu] '%s' の不当なデータ"
 
-#: src/readelf.c:3306
+#: src/readelf.c:3310
 #, fuzzy, c-format
 msgid "invalid data in sysv.hash64 section %d"
 msgstr "セクション [%zu] '%s' の不当なデータ"
 
-#: src/readelf.c:3337
+#: src/readelf.c:3341
 #, fuzzy, c-format
 msgid "invalid chain in sysv.hash64 section %d"
 msgstr "セクション [%zu] '%s' の不当なデータ"
 
-#: src/readelf.c:3373
+#: src/readelf.c:3377
 #, fuzzy, c-format
 msgid "invalid data in gnu.hash section %d"
 msgstr "セクション [%zu] '%s' の不当なデータ"
 
-#: src/readelf.c:3440
+#: src/readelf.c:3444
 #, c-format
 msgid ""
 " Symbol Bias: %u\n"
@@ -4601,7 +4625,7 @@
 " ビットマスクの大きさ: %zu バイト  %<PRIuFAST32>%% ビット設定 第2ハッシュシフ"
 "ト: %u\n"
 
-#: src/readelf.c:3529
+#: src/readelf.c:3533
 #, c-format
 msgid ""
 "\n"
@@ -4614,7 +4638,7 @@
 "オフセット %3$#0<PRIx64> のライブラリー一覧セクション [%1$2zu] '%2$s' には "
 "%4$d 個の項目があります:\n"
 
-#: src/readelf.c:3543
+#: src/readelf.c:3547
 msgid ""
 "       Library                       Time Stamp          Checksum Version "
 "Flags"
@@ -4622,7 +4646,7 @@
 "       ライブラリー                  タイムスタンプ      チェックサム バー"
 "ジョン フラグ"
 
-#: src/readelf.c:3595
+#: src/readelf.c:3606
 #, c-format
 msgid ""
 "\n"
@@ -4633,102 +4657,102 @@
 "オフセット %4$#0<PRIx64> の %3$<PRIu64> バイトのオブジェクト属性セクション "
 "[%1$2zu] '%2$s':\n"
 
-#: src/readelf.c:3612
+#: src/readelf.c:3623
 msgid "  Owner          Size\n"
 msgstr "  所有者         大きさ\n"
 
-#: src/readelf.c:3641
+#: src/readelf.c:3647
 #, c-format
 msgid "  %-13s  %4<PRIu32>\n"
 msgstr "  %-13s  %4<PRIu32>\n"
 
 #. Unknown subsection, print and skip.
-#: src/readelf.c:3680
+#: src/readelf.c:3686
 #, c-format
 msgid "    %-4u %12<PRIu32>\n"
 msgstr "    %-4u %12<PRIu32>\n"
 
 #. Tag_File
-#: src/readelf.c:3685
+#: src/readelf.c:3691
 #, c-format
 msgid "    File: %11<PRIu32>\n"
 msgstr "    ファイル: %11<PRIu32>\n"
 
-#: src/readelf.c:3734
+#: src/readelf.c:3740
 #, c-format
 msgid "      %s: %<PRId64>, %s\n"
 msgstr "      %s: %<PRId64>、%s\n"
 
-#: src/readelf.c:3737
+#: src/readelf.c:3743
 #, c-format
 msgid "      %s: %<PRId64>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:3740
+#: src/readelf.c:3746
 #, c-format
 msgid "      %s: %s\n"
 msgstr "      %s: %s\n"
 
-#: src/readelf.c:3750
+#: src/readelf.c:3756
 #, c-format
 msgid "      %u: %<PRId64>\n"
 msgstr "      %u: %<PRId64>\n"
 
-#: src/readelf.c:3753
+#: src/readelf.c:3759
 #, c-format
 msgid "      %u: %s\n"
 msgstr "      %u: %s\n"
 
-#: src/readelf.c:3823
+#: src/readelf.c:3829
 #, c-format
 msgid "sprintf failure"
 msgstr ""
 
-#: src/readelf.c:4305
+#: src/readelf.c:4311
 msgid "empty block"
 msgstr "空ブロック"
 
-#: src/readelf.c:4308
+#: src/readelf.c:4314
 #, c-format
 msgid "%zu byte block:"
 msgstr "%zu バイトのブロック:"
 
-#: src/readelf.c:4786
+#: src/readelf.c:4792
 #, fuzzy, c-format
 msgid "%*s[%2<PRIuMAX>] %s  <TRUNCATED>\n"
 msgstr "%*s[%4<PRIuMAX>] %s  <TRUNCATED>\n"
 
-#: src/readelf.c:4850
+#: src/readelf.c:4859
 #, c-format
 msgid "%s %#<PRIx64> used with different address sizes"
 msgstr ""
 
-#: src/readelf.c:4857
+#: src/readelf.c:4866
 #, c-format
 msgid "%s %#<PRIx64> used with different offset sizes"
 msgstr ""
 
-#: src/readelf.c:4864
+#: src/readelf.c:4873
 #, c-format
 msgid "%s %#<PRIx64> used with different base addresses"
 msgstr ""
 
-#: src/readelf.c:4871
+#: src/readelf.c:4880
 #, c-format
 msgid "%s %#<PRIx64> used with different attribute %s and %s"
 msgstr ""
 
-#: src/readelf.c:4968
+#: src/readelf.c:4980
 #, c-format
 msgid " [%6tx]  <UNUSED GARBAGE IN REST OF SECTION>\n"
 msgstr ""
 
-#: src/readelf.c:4976
+#: src/readelf.c:4988
 #, c-format
 msgid " [%6tx]  <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
 msgstr ""
 
-#: src/readelf.c:5054
+#: src/readelf.c:5091
 #, c-format
 msgid ""
 "\n"
@@ -4739,7 +4763,7 @@
 "オフセット %3$#<PRIx64> の DWARF セクション [%1$2zu] '%2$s':\n"
 " [ コード]\n"
 
-#: src/readelf.c:5062
+#: src/readelf.c:5099
 #, c-format
 msgid ""
 "\n"
@@ -4748,20 +4772,20 @@
 "\n"
 "オフセット %<PRIu64> の略語セクション:\n"
 
-#: src/readelf.c:5075
+#: src/readelf.c:5112
 #, c-format
 msgid " *** error while reading abbreviation: %s\n"
 msgstr " *** 略語を読んでいる間にエラー: %s\n"
 
-#: src/readelf.c:5091
+#: src/readelf.c:5128
 #, c-format
 msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
 msgstr " [%5u] オフセット: %<PRId64>、子: %s、タグ: %s\n"
 
-#: src/readelf.c:5124 src/readelf.c:5433 src/readelf.c:5600 src/readelf.c:5985
-#: src/readelf.c:6586 src/readelf.c:8323 src/readelf.c:9009 src/readelf.c:9445
-#: src/readelf.c:9690 src/readelf.c:9856 src/readelf.c:10243
-#: src/readelf.c:10303
+#: src/readelf.c:5161 src/readelf.c:5470 src/readelf.c:5637 src/readelf.c:6022
+#: src/readelf.c:6638 src/readelf.c:8375 src/readelf.c:9064 src/readelf.c:9537
+#: src/readelf.c:9788 src/readelf.c:9954 src/readelf.c:10341
+#: src/readelf.c:10401
 #, c-format
 msgid ""
 "\n"
@@ -4770,52 +4794,52 @@
 "\n"
 "オフセット %3$#<PRIx64> の DWARF セクション [%1$2zu] '%2$s':\n"
 
-#: src/readelf.c:5137
+#: src/readelf.c:5174
 #, fuzzy, c-format
 msgid "cannot get .debug_addr section data: %s"
 msgstr "セクションデータを割り当てられません: %s"
 
-#: src/readelf.c:5237 src/readelf.c:5261 src/readelf.c:5645 src/readelf.c:9054
+#: src/readelf.c:5274 src/readelf.c:5298 src/readelf.c:5682 src/readelf.c:9109
 #, fuzzy, c-format
 msgid " Length:         %8<PRIu64>\n"
 msgstr " (オフセット: %#<PRIx64>)"
 
-#: src/readelf.c:5239 src/readelf.c:5276 src/readelf.c:5658 src/readelf.c:9067
+#: src/readelf.c:5276 src/readelf.c:5313 src/readelf.c:5695 src/readelf.c:9122
 #, fuzzy, c-format
 msgid " DWARF version:  %8<PRIu16>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:5240 src/readelf.c:5285 src/readelf.c:5667 src/readelf.c:9076
+#: src/readelf.c:5277 src/readelf.c:5322 src/readelf.c:5704 src/readelf.c:9131
 #, fuzzy, c-format
 msgid " Address size:   %8<PRIu64>\n"
 msgstr " (終了オフセット: %#<PRIx64>)"
 
-#: src/readelf.c:5242 src/readelf.c:5295 src/readelf.c:5677 src/readelf.c:9086
+#: src/readelf.c:5279 src/readelf.c:5332 src/readelf.c:5714 src/readelf.c:9141
 #, fuzzy, c-format
 msgid " Segment size:   %8<PRIu64>\n"
 msgstr " ファイルを %<PRIu64> に設定する\n"
 
-#: src/readelf.c:5280 src/readelf.c:5662 src/readelf.c:9071 src/readelf.c:10435
+#: src/readelf.c:5317 src/readelf.c:5699 src/readelf.c:9126 src/readelf.c:10533
 #, fuzzy, c-format
 msgid "Unknown version"
 msgstr "不明なバージョン"
 
-#: src/readelf.c:5290 src/readelf.c:5503 src/readelf.c:5672 src/readelf.c:9081
+#: src/readelf.c:5327 src/readelf.c:5540 src/readelf.c:5709 src/readelf.c:9136
 #, fuzzy, c-format
 msgid "unsupported address size"
 msgstr "アドレス値ではありません"
 
-#: src/readelf.c:5301 src/readelf.c:5514 src/readelf.c:5682 src/readelf.c:9091
+#: src/readelf.c:5338 src/readelf.c:5551 src/readelf.c:5719 src/readelf.c:9146
 #, c-format
 msgid "unsupported segment size"
 msgstr ""
 
-#: src/readelf.c:5354 src/readelf.c:5428
+#: src/readelf.c:5391 src/readelf.c:5465
 #, c-format
 msgid "cannot get .debug_aranges content: %s"
 msgstr ".debug_aragnes の内容を得られません: %s"
 
-#: src/readelf.c:5369
+#: src/readelf.c:5406
 #, c-format
 msgid ""
 "\n"
@@ -4828,19 +4852,19 @@
 "オフセット %3$#<PRIx64> の DWARF セクション [%1$2zu] '%2$s' には %4$zu 個の項"
 "目があります:\n"
 
-#: src/readelf.c:5400
+#: src/readelf.c:5437
 #, c-format
 msgid " [%*zu] ???\n"
 msgstr " [%*zu] ???\n"
 
-#: src/readelf.c:5402
+#: src/readelf.c:5439
 #, c-format
 msgid ""
 " [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
 msgstr ""
 " [%*zu] 開始: %0#*<PRIx64>、長さ: %5<PRIu64>、CU DIE オフセット: %6<PRId64>\n"
 
-#: src/readelf.c:5446 src/readelf.c:8350
+#: src/readelf.c:5483 src/readelf.c:8402
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -4849,154 +4873,152 @@
 "\n"
 "オフセット %Zu のテーブル:\n"
 
-#: src/readelf.c:5450 src/readelf.c:5626 src/readelf.c:6610 src/readelf.c:8361
-#: src/readelf.c:9035
+#: src/readelf.c:5487 src/readelf.c:5663 src/readelf.c:6662 src/readelf.c:8413
+#: src/readelf.c:9090
 #, c-format
 msgid "invalid data in section [%zu] '%s'"
 msgstr "セクション [%zu] '%s' の不当なデータ"
 
-#: src/readelf.c:5466
+#: src/readelf.c:5503
 #, fuzzy, c-format
 msgid ""
 "\n"
 " Length:        %6<PRIu64>\n"
 msgstr " (オフセット: %#<PRIx64>)"
 
-#: src/readelf.c:5478
+#: src/readelf.c:5515
 #, fuzzy, c-format
 msgid " DWARF version: %6<PRIuFAST16>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:5482
+#: src/readelf.c:5519
 #, c-format
 msgid "unsupported aranges version"
 msgstr ""
 
-#: src/readelf.c:5493
+#: src/readelf.c:5530
 #, fuzzy, c-format
 msgid " CU offset:     %6<PRIx64>\n"
 msgstr " (オフセット: %#<PRIx64>)"
 
-#: src/readelf.c:5499
+#: src/readelf.c:5536
 #, fuzzy, c-format
 msgid " Address size:  %6<PRIu64>\n"
 msgstr " (終了オフセット: %#<PRIx64>)"
 
-#: src/readelf.c:5510
+#: src/readelf.c:5547
 #, fuzzy, c-format
 msgid ""
 " Segment size:  %6<PRIu64>\n"
 "\n"
 msgstr " ファイルを %<PRIu64> に設定する\n"
 
-#: src/readelf.c:5565
+#: src/readelf.c:5602
 #, c-format
 msgid "   %zu padding bytes\n"
 msgstr ""
 
-#: src/readelf.c:5609
+#: src/readelf.c:5646
 #, fuzzy, c-format
 msgid "cannot get .debug_rnglists content: %s"
 msgstr ".degub_ranges の内容を得られません: %s"
 
-#: src/readelf.c:5632 src/readelf.c:9041
+#: src/readelf.c:5669 src/readelf.c:9096
 #, fuzzy, c-format
 msgid ""
 "Table at Offset 0x%<PRIx64>:\n"
 "\n"
 msgstr " (終了オフセット: %#<PRIx64>)"
 
-#: src/readelf.c:5687 src/readelf.c:9096
+#: src/readelf.c:5724 src/readelf.c:9151
 #, fuzzy, c-format
 msgid " Offset entries: %8<PRIu64>\n"
 msgstr " (オフセット: %#<PRIx64>)"
 
-#: src/readelf.c:5703 src/readelf.c:9112
+#: src/readelf.c:5740 src/readelf.c:9167
 #, c-format
 msgid " Unknown CU base: "
 msgstr ""
 
-#: src/readelf.c:5705 src/readelf.c:9114
+#: src/readelf.c:5742 src/readelf.c:9169
 #, c-format
 msgid " CU [%6<PRIx64>] base: "
 msgstr ""
 
-#: src/readelf.c:5711 src/readelf.c:9120
+#: src/readelf.c:5748 src/readelf.c:9175
 #, c-format
 msgid " Not associated with a CU.\n"
 msgstr ""
 
-#: src/readelf.c:5722 src/readelf.c:9131
+#: src/readelf.c:5759 src/readelf.c:9186
 #, c-format
 msgid "too many offset entries for unit length"
 msgstr ""
 
-#: src/readelf.c:5726 src/readelf.c:9135
+#: src/readelf.c:5763 src/readelf.c:9190
 #, fuzzy, c-format
 msgid "  Offsets starting at 0x%<PRIx64>:\n"
 msgstr "  所有者         大きさ\n"
 
-#: src/readelf.c:5778
+#: src/readelf.c:5815
 #, fuzzy, c-format
 msgid "invalid range list data"
 msgstr "不当なデータ"
 
-#: src/readelf.c:5963 src/readelf.c:9423
+#: src/readelf.c:6000 src/readelf.c:9515
 #, c-format
 msgid ""
 "   %zu padding bytes\n"
 "\n"
 msgstr ""
 
-#: src/readelf.c:5980
+#: src/readelf.c:6017
 #, c-format
 msgid "cannot get .debug_ranges content: %s"
 msgstr ".degub_ranges の内容を得られません: %s"
 
-#: src/readelf.c:6016 src/readelf.c:9478
+#: src/readelf.c:6053 src/readelf.c:9570
 #, c-format
 msgid ""
 "\n"
 " Unknown CU base: "
 msgstr ""
 
-#: src/readelf.c:6018 src/readelf.c:9480
+#: src/readelf.c:6055 src/readelf.c:9572
 #, c-format
 msgid ""
 "\n"
 " CU [%6<PRIx64>] base: "
 msgstr ""
 
-#: src/readelf.c:6027 src/readelf.c:9506 src/readelf.c:9532
+#: src/readelf.c:6064 src/readelf.c:9598 src/readelf.c:9624
 #, c-format
 msgid " [%6tx]  <INVALID DATA>\n"
 msgstr " [%6tx]  <不当なデータ>\n"
 
-#: src/readelf.c:6048 src/readelf.c:9612
-#, fuzzy, c-format
-msgid ""
-" [%6tx] base address\n"
-"          "
-msgstr " [%6tx]  ベースアドレス %s\n"
+#: src/readelf.c:6089 src/readelf.c:9708
+#, fuzzy
+msgid "base address"
+msgstr "アドレスを %s に設定する\n"
 
-#: src/readelf.c:6056 src/readelf.c:9620
+#: src/readelf.c:6099 src/readelf.c:9718
 #, fuzzy, c-format
 msgid " [%6tx] empty list\n"
 msgstr ""
 "\n"
 " [%6tx] ゼロ終端\n"
 
-#: src/readelf.c:6311
+#: src/readelf.c:6359
 #, fuzzy
 msgid "         <INVALID DATA>\n"
 msgstr " [%6tx]  <不当なデータ>\n"
 
-#: src/readelf.c:6564
+#: src/readelf.c:6616
 #, fuzzy, c-format
 msgid "cannot get ELF: %s"
 msgstr "次の DIE を得られません: %s"
 
-#: src/readelf.c:6582
+#: src/readelf.c:6634
 #, c-format
 msgid ""
 "\n"
@@ -5005,7 +5027,7 @@
 "\n"
 "オフセット %3$#<PRIx64> の フレーム情報呼出しセクション [%1$2zu] '%2$s':\n"
 
-#: src/readelf.c:6632
+#: src/readelf.c:6684
 #, c-format
 msgid ""
 "\n"
@@ -5014,65 +5036,65 @@
 "\n"
 " [%6tx] ゼロ終端\n"
 
-#: src/readelf.c:6733 src/readelf.c:6887
+#: src/readelf.c:6785 src/readelf.c:6939
 #, fuzzy, c-format
 msgid "invalid augmentation length"
 msgstr "不当な拡大エンコード"
 
-#: src/readelf.c:6748
+#: src/readelf.c:6800
 msgid "FDE address encoding: "
 msgstr "FDE アドレスエンコード"
 
-#: src/readelf.c:6754
+#: src/readelf.c:6806
 msgid "LSDA pointer encoding: "
 msgstr "LSDA ポインターエンコード:"
 
-#: src/readelf.c:6864
+#: src/readelf.c:6916
 #, c-format
 msgid " (offset: %#<PRIx64>)"
 msgstr " (オフセット: %#<PRIx64>)"
 
-#: src/readelf.c:6871
+#: src/readelf.c:6923
 #, c-format
 msgid " (end offset: %#<PRIx64>)"
 msgstr " (終了オフセット: %#<PRIx64>)"
 
-#: src/readelf.c:6908
+#: src/readelf.c:6960
 #, c-format
 msgid "   %-26sLSDA pointer: %#<PRIx64>\n"
 msgstr "   %-26sLSDA ポインター: %#<PRIx64>\n"
 
-#: src/readelf.c:6993
+#: src/readelf.c:7045
 #, fuzzy, c-format
 msgid "DIE [%<PRIx64>] cannot get attribute code: %s"
 msgstr "属性コードを得られません: %s"
 
-#: src/readelf.c:7003
+#: src/readelf.c:7055
 #, fuzzy, c-format
 msgid "DIE [%<PRIx64>] cannot get attribute form: %s"
 msgstr "属性様式を得られません: %s"
 
-#: src/readelf.c:7025
+#: src/readelf.c:7077
 #, fuzzy, c-format
 msgid "DIE [%<PRIx64>] cannot get attribute '%s' (%s) value: %s"
 msgstr "属性値を得られません: %s"
 
-#: src/readelf.c:7355
+#: src/readelf.c:7407
 #, fuzzy, c-format
 msgid "invalid file (%<PRId64>): %s"
 msgstr "不当なファイル"
 
-#: src/readelf.c:7359
+#: src/readelf.c:7411
 #, fuzzy, c-format
 msgid "no srcfiles for CU [%<PRIx64>]"
 msgstr " ファイルを %<PRIu64> に設定する\n"
 
-#: src/readelf.c:7363
+#: src/readelf.c:7415
 #, fuzzy, c-format
 msgid "couldn't get DWARF CU: %s"
 msgstr "次の DIE を得られません: %s"
 
-#: src/readelf.c:7676
+#: src/readelf.c:7728
 #, c-format
 msgid ""
 "\n"
@@ -5083,12 +5105,12 @@
 "オフセット %3$#<PRIx64> の DWARF セクション [%1$2zu] '%2$s':\n"
 " [オフセット]\n"
 
-#: src/readelf.c:7726
+#: src/readelf.c:7778
 #, fuzzy, c-format
 msgid "cannot get next unit: %s"
 msgstr "次の DIE を得られません: %s"
 
-#: src/readelf.c:7745
+#: src/readelf.c:7797
 #, fuzzy, c-format
 msgid ""
 " Type unit at offset %<PRIu64>:\n"
@@ -5100,7 +5122,7 @@
 " バージョン: %2$<PRIu16>、略語セクションオフセット: %3$<PRIu64>、アドレスの大"
 "きさ: %4$<PRIu8>、オフセットの大きさ: %5$<PRIu8>\n"
 
-#: src/readelf.c:7757
+#: src/readelf.c:7809
 #, c-format
 msgid ""
 " Compilation unit at offset %<PRIu64>:\n"
@@ -5111,39 +5133,39 @@
 " バージョン: %2$<PRIu16>、略語セクションオフセット: %3$<PRIu64>、アドレスの大"
 "きさ: %4$<PRIu8>、オフセットの大きさ: %5$<PRIu8>\n"
 
-#: src/readelf.c:7767 src/readelf.c:7930
+#: src/readelf.c:7819 src/readelf.c:7982
 #, c-format
 msgid " Unit type: %s (%<PRIu8>)"
 msgstr ""
 
-#: src/readelf.c:7794
+#: src/readelf.c:7846
 #, c-format
 msgid "unknown version (%d) or unit type (%d)"
 msgstr ""
 
-#: src/readelf.c:7823
+#: src/readelf.c:7875
 #, c-format
 msgid "cannot get DIE offset: %s"
 msgstr "DIE オフセットを得られません: %s"
 
-#: src/readelf.c:7832
+#: src/readelf.c:7884
 #, fuzzy, c-format
 msgid "cannot get tag of DIE at offset [%<PRIx64>] in section '%s': %s"
 msgstr ""
 "セクション '%2$s' 中のオフセット %1$<PRIu64> の DIE のタグを得られません: "
 "%3$s"
 
-#: src/readelf.c:7870
+#: src/readelf.c:7922
 #, c-format
 msgid "cannot get next DIE: %s\n"
 msgstr "次の DIE を得られません: %s\n"
 
-#: src/readelf.c:7878
+#: src/readelf.c:7930
 #, c-format
 msgid "cannot get next DIE: %s"
 msgstr "次の DIE を得られません: %s"
 
-#: src/readelf.c:7922
+#: src/readelf.c:7974
 #, fuzzy, c-format
 msgid ""
 " Split compilation unit at offset %<PRIu64>:\n"
@@ -5154,7 +5176,7 @@
 " バージョン: %2$<PRIu16>、略語セクションオフセット: %3$<PRIu64>、アドレスの大"
 "きさ: %4$<PRIu8>、オフセットの大きさ: %5$<PRIu8>\n"
 
-#: src/readelf.c:7974
+#: src/readelf.c:8026
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -5164,18 +5186,18 @@
 "\n"
 "オフセット %3$#<PRIx64> の DWARF セクション [%1$2zu] '%2$s':\n"
 
-#: src/readelf.c:8306
+#: src/readelf.c:8358
 #, fuzzy, c-format
 msgid "unknown form: %s"
 msgstr "不明な様式 %<PRIx64>"
 
-#: src/readelf.c:8337
+#: src/readelf.c:8389
 #, c-format
 msgid "cannot get line data section data: %s"
 msgstr "ラインデータセクションデータを得られません: %s"
 
 #. Print what we got so far.
-#: src/readelf.c:8439
+#: src/readelf.c:8491
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -5205,33 +5227,33 @@
 "\n"
 "命令コード:\n"
 
-#: src/readelf.c:8461
+#: src/readelf.c:8513
 #, fuzzy, c-format
 msgid "cannot handle .debug_line version: %u\n"
 msgstr ".degub_ranges の内容を得られません: %s"
 
-#: src/readelf.c:8469
+#: src/readelf.c:8521
 #, fuzzy, c-format
 msgid "cannot handle address size: %u\n"
 msgstr "アドレス値ではありません"
 
-#: src/readelf.c:8477
+#: src/readelf.c:8529
 #, fuzzy, c-format
 msgid "cannot handle segment selector size: %u\n"
 msgstr "セクションを得られません: %s"
 
-#: src/readelf.c:8487
+#: src/readelf.c:8539
 #, c-format
 msgid "invalid data at offset %tu in section [%zu] '%s'"
 msgstr "セクション [%2$zu] '%3$s' 中のオフセット %1$tu に不当なデータ"
 
-#: src/readelf.c:8502
+#: src/readelf.c:8554
 #, c-format
 msgid "  [%*<PRIuFAST8>]  %hhu argument\n"
 msgid_plural "  [%*<PRIuFAST8>]  %hhu arguments\n"
 msgstr[0] "  [%*<PRIuFAST8>]  %hhu パラメーター\n"
 
-#: src/readelf.c:8513
+#: src/readelf.c:8565
 msgid ""
 "\n"
 "Directory table:"
@@ -5239,12 +5261,12 @@
 "\n"
 "ディレクトリーテーブル:"
 
-#: src/readelf.c:8519 src/readelf.c:8596
+#: src/readelf.c:8571 src/readelf.c:8648
 #, fuzzy, c-format
 msgid "      ["
 msgstr "      %s: %s\n"
 
-#: src/readelf.c:8590
+#: src/readelf.c:8642
 #, fuzzy
 msgid ""
 "\n"
@@ -5253,7 +5275,7 @@
 "\n"
 " 呼出しサイトテーブル:"
 
-#: src/readelf.c:8651
+#: src/readelf.c:8703
 #, fuzzy
 msgid " Entry Dir   Time      Size      Name"
 msgstr ""
@@ -5261,7 +5283,16 @@
 "ファイル名テーブル:\n"
 " Entry Dir   時刻     大きさ    名前"
 
-#: src/readelf.c:8688
+#: src/readelf.c:8742
+#, fuzzy
+msgid ""
+"\n"
+"No line number statements."
+msgstr ""
+"\n"
+"行   番号   文:"
+
+#: src/readelf.c:8746
 msgid ""
 "\n"
 "Line number statements:"
@@ -5269,119 +5300,119 @@
 "\n"
 "行   番号   文:"
 
-#: src/readelf.c:8711
+#: src/readelf.c:8766
 #, c-format
 msgid "invalid maximum operations per instruction is zero"
 msgstr ""
 
-#: src/readelf.c:8745
+#: src/readelf.c:8800
 #, fuzzy, c-format
 msgid " special opcode %u: address+%u = "
 msgstr " 特殊命令コード %u: アドレス+%u = %s, 行%+d = %zu\n"
 
-#: src/readelf.c:8749
+#: src/readelf.c:8804
 #, fuzzy, c-format
 msgid ", op_index = %u, line%+d = %zu\n"
 msgstr " 特殊命令コード %u: アドレス+%u = %s, 行%+d = %zu\n"
 
-#: src/readelf.c:8752
+#: src/readelf.c:8807
 #, c-format
 msgid ", line%+d = %zu\n"
 msgstr ""
 
-#: src/readelf.c:8770
+#: src/readelf.c:8825
 #, c-format
 msgid " extended opcode %u: "
 msgstr " 拡張命令コード %u: "
 
-#: src/readelf.c:8775
+#: src/readelf.c:8830
 #, fuzzy
 msgid " end of sequence"
 msgstr "列の終わり"
 
-#: src/readelf.c:8793
+#: src/readelf.c:8848
 #, fuzzy, c-format
 msgid " set address to "
 msgstr "アドレスを %s に設定する\n"
 
-#: src/readelf.c:8821
+#: src/readelf.c:8876
 #, fuzzy, c-format
 msgid " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
 msgstr ""
 "新ファイルを定義する: dir=%u、mtime=%<PRIu64>、長さh=%<PRIu64>、名前=%s\n"
 
-#: src/readelf.c:8835
+#: src/readelf.c:8890
 #, fuzzy, c-format
 msgid " set discriminator to %u\n"
 msgstr "カラムを %<PRIu64> に設定する\n"
 
 #. Unknown, ignore it.
-#: src/readelf.c:8840
+#: src/readelf.c:8895
 #, fuzzy
 msgid " unknown opcode"
 msgstr "不明な命令コード"
 
 #. Takes no argument.
-#: src/readelf.c:8852
+#: src/readelf.c:8907
 msgid " copy"
 msgstr "複写"
 
-#: src/readelf.c:8863
+#: src/readelf.c:8918
 #, fuzzy, c-format
 msgid " advance address by %u to "
 msgstr "アドレスを %u だけ進めて %s にする\n"
 
-#: src/readelf.c:8867 src/readelf.c:8928
+#: src/readelf.c:8922 src/readelf.c:8983
 #, c-format
 msgid ", op_index to %u"
 msgstr ""
 
-#: src/readelf.c:8879
+#: src/readelf.c:8934
 #, c-format
 msgid " advance line by constant %d to %<PRId64>\n"
 msgstr "行を定数 %d だけ進めて %<PRId64> にする\n"
 
-#: src/readelf.c:8889
+#: src/readelf.c:8944
 #, c-format
 msgid " set file to %<PRIu64>\n"
 msgstr " ファイルを %<PRIu64> に設定する\n"
 
-#: src/readelf.c:8900
+#: src/readelf.c:8955
 #, c-format
 msgid " set column to %<PRIu64>\n"
 msgstr "カラムを %<PRIu64> に設定する\n"
 
-#: src/readelf.c:8907
+#: src/readelf.c:8962
 #, c-format
 msgid " set '%s' to %<PRIuFAST8>\n"
 msgstr " '%s' を %<PRIuFAST8> に設定する\n"
 
 #. Takes no argument.
-#: src/readelf.c:8913
+#: src/readelf.c:8968
 msgid " set basic block flag"
 msgstr "基本ブロックフラグを設定する"
 
-#: src/readelf.c:8924
+#: src/readelf.c:8979
 #, fuzzy, c-format
 msgid " advance address by constant %u to "
 msgstr "アドレスを定数 %u だけ済めて %s にする\n"
 
-#: src/readelf.c:8944
+#: src/readelf.c:8999
 #, fuzzy, c-format
 msgid " advance address by fixed value %u to \n"
 msgstr "アドレスを固定値 %u だけ進めて %s にする\n"
 
 #. Takes no argument.
-#: src/readelf.c:8954
+#: src/readelf.c:9009
 msgid " set prologue end flag"
 msgstr "プロローグ終了フラグを設定する"
 
 #. Takes no argument.
-#: src/readelf.c:8959
+#: src/readelf.c:9014
 msgid " set epilogue begin flag"
 msgstr "エピローグ開始フラグを設定する"
 
-#: src/readelf.c:8969
+#: src/readelf.c:9024
 #, fuzzy, c-format
 msgid " set isa to %u\n"
 msgstr " ファイルを %<PRIu64> に設定する\n"
@@ -5389,98 +5420,103 @@
 #. 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:8978
+#: src/readelf.c:9033
 #, c-format
 msgid " unknown opcode with %<PRIu8> parameter:"
 msgid_plural " unknown opcode with %<PRIu8> parameters:"
 msgstr[0] " %<PRIu8> 個のパラメーターのある不明な命令コード:"
 
-#: src/readelf.c:9018
+#: src/readelf.c:9073
 #, fuzzy, c-format
 msgid "cannot get .debug_loclists content: %s"
 msgstr ".debug_loc の内容を得られません: %s"
 
-#: src/readelf.c:9187
+#: src/readelf.c:9239
+#, fuzzy, c-format
+msgid "    <INVALID DATA>\n"
+msgstr " [%6tx]  <不当なデータ>\n"
+
+#: src/readelf.c:9279
 #, fuzzy, c-format
 msgid "invalid loclists data"
 msgstr "不当なデータ"
 
-#: src/readelf.c:9440
+#: src/readelf.c:9532
 #, c-format
 msgid "cannot get .debug_loc content: %s"
 msgstr ".debug_loc の内容を得られません: %s"
 
-#: src/readelf.c:9647 src/readelf.c:10691
+#: src/readelf.c:9745 src/readelf.c:10789
 #, fuzzy
 msgid "   <INVALID DATA>\n"
 msgstr " [%6tx]  <不当なデータ>\n"
 
-#: src/readelf.c:9702 src/readelf.c:9865
+#: src/readelf.c:9800 src/readelf.c:9963
 #, c-format
 msgid "cannot get macro information section data: %s"
 msgstr "マクロ情報セクションのデータを得られません: %s"
 
-#: src/readelf.c:9782
+#: src/readelf.c:9880
 #, c-format
 msgid "%*s*** non-terminated string at end of section"
 msgstr "%*s*** 最後のセクションの終端していない文字列"
 
-#: src/readelf.c:9805
+#: src/readelf.c:9903
 #, fuzzy, c-format
 msgid "%*s*** missing DW_MACINFO_start_file argument at end of section"
 msgstr "%*s*** 最後のセクションの終端していない文字列"
 
-#: src/readelf.c:9906
+#: src/readelf.c:10004
 #, fuzzy, c-format
 msgid " Offset:             0x%<PRIx64>\n"
 msgstr "  所有者         大きさ\n"
 
-#: src/readelf.c:9918
+#: src/readelf.c:10016
 #, fuzzy, c-format
 msgid " Version:            %<PRIu16>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:9924 src/readelf.c:10811
+#: src/readelf.c:10022 src/readelf.c:10909
 #, c-format
 msgid "  unknown version, cannot parse section\n"
 msgstr ""
 
-#: src/readelf.c:9931
+#: src/readelf.c:10029
 #, fuzzy, c-format
 msgid " Flag:               0x%<PRIx8>"
 msgstr "  入口点アドレス     :               %#<PRIx64>\n"
 
-#: src/readelf.c:9960
+#: src/readelf.c:10058
 #, fuzzy, c-format
 msgid " Offset length:      %<PRIu8>\n"
 msgstr " (オフセット: %#<PRIx64>)"
 
-#: src/readelf.c:9968
+#: src/readelf.c:10066
 #, fuzzy, c-format
 msgid " .debug_line offset: 0x%<PRIx64>\n"
 msgstr " (終了オフセット: %#<PRIx64>)"
 
-#: src/readelf.c:9993
+#: src/readelf.c:10091
 #, fuzzy, c-format
 msgid "  extension opcode table, %<PRIu8> items:\n"
 msgstr " %<PRIu8> 個のパラメーターのある不明な命令コード:"
 
-#: src/readelf.c:10000
+#: src/readelf.c:10098
 #, c-format
 msgid "    [%<PRIx8>]"
 msgstr ""
 
-#: src/readelf.c:10012
+#: src/readelf.c:10110
 #, fuzzy, c-format
 msgid " %<PRIu8> arguments:"
 msgstr "  [%*<PRIuFAST8>]  %hhu パラメーター\n"
 
-#: src/readelf.c:10027
+#: src/readelf.c:10125
 #, c-format
 msgid " no arguments."
 msgstr ""
 
-#: src/readelf.c:10228
+#: src/readelf.c:10326
 #, c-format
 msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
 msgstr ""
@@ -5488,7 +5524,7 @@
 
 # # "オフセット %3$#<PRIx64> の DWARF セクション [%1$2zu] '%2$s':\n"
 # # " %4$*s  文字列\n" がエラーになるのは何故? 取り敢えず fuzzy扱い
-#: src/readelf.c:10272
+#: src/readelf.c:10370
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -5499,37 +5535,37 @@
 "オフセット %3$#<PRIx64> の DWARF セクション [%1$2zu] '%2$s':\n"
 " %4$*s  文字列\n"
 
-#: src/readelf.c:10287
+#: src/readelf.c:10385
 #, fuzzy, c-format
 msgid " *** error, missing string terminator\n"
 msgstr " *** 文字列の読込み中にエラー: %s\n"
 
-#: src/readelf.c:10316
+#: src/readelf.c:10414
 #, fuzzy, c-format
 msgid "cannot get .debug_str_offsets section data: %s"
 msgstr ".degub_ranges の内容を得られません: %s"
 
-#: src/readelf.c:10415
+#: src/readelf.c:10513
 #, fuzzy, c-format
 msgid " Length:        %8<PRIu64>\n"
 msgstr " (オフセット: %#<PRIx64>)"
 
-#: src/readelf.c:10417
+#: src/readelf.c:10515
 #, fuzzy, c-format
 msgid " Offset size:   %8<PRIu8>\n"
 msgstr " (オフセット: %#<PRIx64>)"
 
-#: src/readelf.c:10431
+#: src/readelf.c:10529
 #, fuzzy, c-format
 msgid " DWARF version: %8<PRIu16>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:10440
+#: src/readelf.c:10538
 #, fuzzy, c-format
 msgid " Padding:       %8<PRIx16>\n"
 msgstr " (オフセット: %#<PRIx64>)"
 
-#: src/readelf.c:10494
+#: src/readelf.c:10592
 #, c-format
 msgid ""
 "\n"
@@ -5538,7 +5574,7 @@
 "\n"
 "呼出しフレーム検索テーブルセクション [%2zu] '.eh_frame_hdr':\n"
 
-#: src/readelf.c:10596
+#: src/readelf.c:10694
 #, c-format
 msgid ""
 "\n"
@@ -5547,22 +5583,22 @@
 "\n"
 "例外取扱いテーブルセクション [%2zu] '.gcc_except_table':\n"
 
-#: src/readelf.c:10619
+#: src/readelf.c:10717
 #, c-format
 msgid " LPStart encoding:    %#x "
 msgstr " LPStart コード化:    %#x "
 
-#: src/readelf.c:10631
+#: src/readelf.c:10729
 #, c-format
 msgid " TType encoding:      %#x "
 msgstr "TType コード化:       %#x "
 
-#: src/readelf.c:10646
+#: src/readelf.c:10744
 #, c-format
 msgid " Call site encoding:  %#x "
 msgstr "呼出しサイトコード化: %#x "
 
-#: src/readelf.c:10659
+#: src/readelf.c:10757
 msgid ""
 "\n"
 " Call site table:"
@@ -5570,7 +5606,7 @@
 "\n"
 " 呼出しサイトテーブル:"
 
-#: src/readelf.c:10673
+#: src/readelf.c:10771
 #, c-format
 msgid ""
 " [%4u] Call site start:   %#<PRIx64>\n"
@@ -5583,12 +5619,12 @@
 "        離着陸場:           %#<PRIx64>\n"
 "        行動:               %u\n"
 
-#: src/readelf.c:10746
+#: src/readelf.c:10844
 #, c-format
 msgid "invalid TType encoding"
 msgstr "不当な TType コード化"
 
-#: src/readelf.c:10773
+#: src/readelf.c:10871
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -5598,37 +5634,37 @@
 "オフセット %3$#<PRIx64> の DWARF セクション [%1$2zu] '%2$s' には %4$zu 個の項"
 "目があります:\n"
 
-#: src/readelf.c:10802
+#: src/readelf.c:10900
 #, fuzzy, c-format
 msgid " Version:         %<PRId32>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:10820
+#: src/readelf.c:10918
 #, fuzzy, c-format
 msgid " CU offset:       %#<PRIx32>\n"
 msgstr " (オフセット: %#<PRIx64>)"
 
-#: src/readelf.c:10827
+#: src/readelf.c:10925
 #, fuzzy, c-format
 msgid " TU offset:       %#<PRIx32>\n"
 msgstr " (オフセット: %#<PRIx64>)"
 
-#: src/readelf.c:10834
+#: src/readelf.c:10932
 #, fuzzy, c-format
 msgid " address offset:  %#<PRIx32>\n"
 msgstr " (終了オフセット: %#<PRIx64>)"
 
-#: src/readelf.c:10841
+#: src/readelf.c:10939
 #, fuzzy, c-format
 msgid " symbol offset:   %#<PRIx32>\n"
 msgstr " (オフセット: %#<PRIx64>)"
 
-#: src/readelf.c:10848
+#: src/readelf.c:10946
 #, fuzzy, c-format
 msgid " constant offset: %#<PRIx32>\n"
 msgstr " (終了オフセット: %#<PRIx64>)"
 
-#: src/readelf.c:10862
+#: src/readelf.c:10960
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -5638,7 +5674,7 @@
 "オフセット %3$#<PRIx64> の DWARF セクション [%1$2zu] '%2$s' には %4$zu 個の項"
 "目があります:\n"
 
-#: src/readelf.c:10887
+#: src/readelf.c:10985
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -5648,7 +5684,7 @@
 "オフセット %3$#<PRIx64> の DWARF セクション [%1$2zu] '%2$s' には %4$zu 個の項"
 "目があります:\n"
 
-#: src/readelf.c:10916
+#: src/readelf.c:11014
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -5658,7 +5694,7 @@
 "オフセット %3$#<PRIx64> の DWARF セクション [%1$2zu] '%2$s' には %4$zu 個の項"
 "目があります:\n"
 
-#: src/readelf.c:10948
+#: src/readelf.c:11046
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -5667,18 +5703,18 @@
 "\n"
 "オフセット %#0<PRIx64> に不当なシンボルテーブル\n"
 
-#: src/readelf.c:11086
+#: src/readelf.c:11184
 #, c-format
 msgid "cannot get debug context descriptor: %s"
 msgstr "デバッグ内容記述子を得られません: %s"
 
-#: src/readelf.c:11449 src/readelf.c:12071 src/readelf.c:12182
-#: src/readelf.c:12240
+#: src/readelf.c:11552 src/readelf.c:12179 src/readelf.c:12290
+#: src/readelf.c:12348
 #, c-format
 msgid "cannot convert core note data: %s"
 msgstr "コアノートデータの変換ができません: %s"
 
-#: src/readelf.c:11812
+#: src/readelf.c:11915
 #, c-format
 msgid ""
 "\n"
@@ -5687,21 +5723,21 @@
 "\n"
 "%*s... < %u 回の繰返し> ..."
 
-#: src/readelf.c:12319
+#: src/readelf.c:12427
 msgid "  Owner          Data size  Type\n"
 msgstr "  所有者         データ大きさタイプ\n"
 
-#: src/readelf.c:12348
+#: src/readelf.c:12456
 #, c-format
 msgid "  %-13.*s  %9<PRId32>  %s\n"
 msgstr "  %-13.*s  %9<PRId32>  %s\n"
 
-#: src/readelf.c:12400
+#: src/readelf.c:12508
 #, fuzzy, c-format
 msgid "cannot get content of note: %s"
 msgstr "ノートセクションの内容を得られません: %s"
 
-#: src/readelf.c:12434
+#: src/readelf.c:12542
 #, c-format
 msgid ""
 "\n"
@@ -5711,7 +5747,7 @@
 "オフセット %4$#0<PRIx64> の %3$<PRIu64> バイトのノートセクション [%1$2zu] "
 "'%2$s':\n"
 
-#: src/readelf.c:12457
+#: src/readelf.c:12565
 #, c-format
 msgid ""
 "\n"
@@ -5720,7 +5756,7 @@
 "\n"
 "オフセット %2$#0<PRIx64> の %1$<PRIu64> バイトのノートセグメント:\n"
 
-#: src/readelf.c:12504
+#: src/readelf.c:12612
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -5729,12 +5765,12 @@
 "\n"
 "セクション [%Zu] '%s' にはダンプすべきデータがありません。\n"
 
-#: src/readelf.c:12531 src/readelf.c:12582
+#: src/readelf.c:12639 src/readelf.c:12690
 #, fuzzy, c-format
 msgid "cannot get data for section [%zu] '%s': %s"
 msgstr "セクション [%Zu] '%s' からデータが得られません: %s"
 
-#: src/readelf.c:12536
+#: src/readelf.c:12644
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -5744,7 +5780,7 @@
 "オフセット %4$#0<PRIx64> のセクション [%1$Zu] '%2$s' の16進ダン"
 "プ、%3$<PRIu64> バイト:\n"
 
-#: src/readelf.c:12541
+#: src/readelf.c:12649
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -5755,7 +5791,7 @@
 "オフセット %4$#0<PRIx64> のセクション [%1$Zu] '%2$s' の16進ダン"
 "プ、%3$<PRIu64> バイト:\n"
 
-#: src/readelf.c:12555
+#: src/readelf.c:12663
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -5764,7 +5800,7 @@
 "\n"
 "セクション [%Zu] '%s' にはダンプすべきデータがありません。\n"
 
-#: src/readelf.c:12587
+#: src/readelf.c:12695
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -5774,7 +5810,7 @@
 "オフセット %4$#0<PRIx64> 文字列セクション [%1$Zu] '%2$s' には %3$<PRIu64> バ"
 "イトあります:\n"
 
-#: src/readelf.c:12592
+#: src/readelf.c:12700
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -5785,7 +5821,7 @@
 "オフセット %4$#0<PRIx64> 文字列セクション [%1$Zu] '%2$s' には %3$<PRIu64> バ"
 "イトあります:\n"
 
-#: src/readelf.c:12641
+#: src/readelf.c:12749
 #, c-format
 msgid ""
 "\n"
@@ -5794,7 +5830,7 @@
 "\n"
 "セクション [%lu] がありません"
 
-#: src/readelf.c:12671
+#: src/readelf.c:12779
 #, c-format
 msgid ""
 "\n"
@@ -5803,12 +5839,12 @@
 "\n"
 "セクション '%s' がありません"
 
-#: src/readelf.c:12728
+#: src/readelf.c:12836
 #, c-format
 msgid "cannot get symbol index of archive '%s': %s"
 msgstr "アーカイブのシンボル索引 '%s' を得られません: %s"
 
-#: src/readelf.c:12731
+#: src/readelf.c:12839
 #, c-format
 msgid ""
 "\n"
@@ -5817,7 +5853,7 @@
 "\n"
 "アーカイブ '%s' にはシンボル索引がありません\n"
 
-#: src/readelf.c:12735
+#: src/readelf.c:12843
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -5826,12 +5862,12 @@
 "\n"
 "アーカイブ '%s' の索引には %Zu 項目あります:\n"
 
-#: src/readelf.c:12753
+#: src/readelf.c:12861
 #, fuzzy, c-format
 msgid "cannot extract member at offset %zu in '%s': %s"
 msgstr "'%2$s' の オフセット %1$Zu のメンバーを抽出できません: %3$s"
 
-#: src/readelf.c:12758
+#: src/readelf.c:12866
 #, c-format
 msgid "Archive member '%s' contains:\n"
 msgstr "アーカイブメンバー '%s' には以下があります:\n"
@@ -5896,7 +5932,7 @@
 msgid "%s: file format not recognized"
 msgstr "%s: ファイル形式を認識できません"
 
-#: src/size.c:418 src/size.c:557
+#: src/size.c:418 src/size.c:560
 #, c-format
 msgid " (ex %s)"
 msgstr " (ex %s)"
@@ -5906,125 +5942,125 @@
 msgid "cannot get section header"
 msgstr "セクションヘッダーを得られません: %s"
 
-#: src/size.c:582
+#: src/size.c:585
 msgid "(TOTALS)\n"
 msgstr "(合計)\n"
 
-#: src/stack.c:482
+#: src/stack.c:487
 #, c-format
 msgid "-p PID should be a positive process id."
 msgstr ""
 
-#: src/stack.c:488
+#: src/stack.c:493
 #, fuzzy, c-format
 msgid "Cannot open core file '%s'"
 msgstr "アーカイブ '%s' を開くことができません"
 
-#: src/stack.c:548
+#: src/stack.c:553
 #, c-format
 msgid "-n MAXFRAMES should be 0 or higher."
 msgstr ""
 
-#: src/stack.c:560
+#: src/stack.c:565
 #, c-format
 msgid "-e EXEC needs a core given by --core."
 msgstr ""
 
-#: src/stack.c:564
+#: src/stack.c:569
 #, c-format
 msgid "-1 needs a thread id given by -p."
 msgstr ""
 
-#: src/stack.c:568
+#: src/stack.c:573
 #, c-format
 msgid "One of -p PID or --core COREFILE should be given."
 msgstr ""
 
-#: src/stack.c:640
+#: src/stack.c:645
 #, fuzzy
 msgid "Show stack of process PID"
 msgstr "検索ツリーを生成できません"
 
-#: src/stack.c:642
+#: src/stack.c:647
 msgid "Show stack found in COREFILE"
 msgstr ""
 
-#: src/stack.c:643
+#: src/stack.c:648
 msgid "(optional) EXECUTABLE that produced COREFILE"
 msgstr ""
 
-#: src/stack.c:647
+#: src/stack.c:652
 #, fuzzy
 msgid "Output selection options:"
 msgstr "選択オプションを入力してください:"
 
-#: src/stack.c:649
+#: src/stack.c:654
 #, fuzzy
 msgid "Additionally show frame activation"
 msgstr "出力選択:"
 
-#: src/stack.c:651
+#: src/stack.c:656
 msgid "Additionally try to lookup DWARF debuginfo name for frame address"
 msgstr ""
 
-#: src/stack.c:654
+#: src/stack.c:659
 msgid ""
 "Additionally show inlined function frames using DWARF debuginfo if available "
 "(implies -d)"
 msgstr ""
 
-#: src/stack.c:656
+#: src/stack.c:661
 msgid "Additionally show module file information"
 msgstr ""
 
-#: src/stack.c:658
+#: src/stack.c:663
 #, fuzzy
 msgid "Additionally show source file information"
 msgstr "出力選択:"
 
-#: src/stack.c:660
+#: src/stack.c:665
 msgid ""
 "Show all additional information (activation, debugname, inlines, module and "
 "source)"
 msgstr ""
 
-#: src/stack.c:662
+#: src/stack.c:667
 msgid "Do not resolve address to function symbol name"
 msgstr ""
 
-#: src/stack.c:664
+#: src/stack.c:669
 msgid "Show raw function symbol names, do not try to demangle names"
 msgstr ""
 
-#: src/stack.c:666
+#: src/stack.c:671
 msgid "Show module build-id, load address and pc offset"
 msgstr ""
 
-#: src/stack.c:668
+#: src/stack.c:673
 msgid "Show the backtrace of only one thread"
 msgstr ""
 
-#: src/stack.c:670
+#: src/stack.c:675
 msgid "Show at most MAXFRAMES per thread (default 256, use 0 for unlimited)"
 msgstr ""
 
-#: src/stack.c:672
+#: src/stack.c:677
 msgid "Show module memory map with build-id, elf and debug files detected"
 msgstr ""
 
-#: src/stack.c:680
+#: src/stack.c:685
 msgid ""
 "Print a stack for each thread in a process or core file.\n"
 "\n"
 "Program exits with return code 0 if all frames were shown without any "
 "errors.  If some frames were shown, but there were some non-fatal errors, "
 "possibly causing an incomplete backtrace, the program exits with return code "
-"1.  If no frames could be shown, or a fatal error occured the program exits "
+"1.  If no frames could be shown, or a fatal error occurred the program exits "
 "with return code 2.  If the program was invoked with bad or missing "
 "arguments it will exit with return code 64."
 msgstr ""
 
-#: src/stack.c:755
+#: src/stack.c:760
 #, c-format
 msgid "Couldn't show any frames."
 msgstr ""
@@ -6043,7 +6079,7 @@
 
 #: src/strings.c:69
 msgid ""
-"Select character size and endianess: s = 7-bit, S = 8-bit, {b,l} = 16-bit, "
+"Select character size and endianness: s = 7-bit, S = 8-bit, {b,l} = 16-bit, "
 "{B,L} = 32-bit"
 msgstr ""
 
@@ -6122,14 +6158,14 @@
 msgid ""
 "Resolve all trivial relocations between debug sections if the removed "
 "sections are placed in a debug file (only relevant for ET_REL files, "
-"operation is not reversable, needs -f)"
+"operation is not reversible, needs -f)"
 msgstr ""
 
 #: src/strip.c:87
 msgid ""
 "Similar to --reloc-debug-sections, but resolve all trivial relocations "
 "between debug sections in place.  No other stripping is performed (operation "
-"is not reversable, incompatible with -f, -g, --remove-comment and --remove-"
+"is not reversible, incompatible with -f, -g, --remove-comment and --remove-"
 "section)"
 msgstr ""
 
@@ -6186,22 +6222,22 @@
 msgid "cannot both keep and remove .comment section"
 msgstr ".comment セクションを取り除く"
 
-#: src/strip.c:574
+#: src/strip.c:481
 #, fuzzy, c-format
 msgid "bad relocation"
 msgstr "リロケーションを表示"
 
-#: src/strip.c:726 src/strip.c:750
+#: src/strip.c:747 src/strip.c:771
 #, c-format
 msgid "cannot stat input file '%s'"
 msgstr "入力ファイル '%s' を stat できません"
 
-#: src/strip.c:740
+#: src/strip.c:761
 #, c-format
 msgid "while opening '%s'"
 msgstr "'%s' を開いている間"
 
-#: src/strip.c:778
+#: src/strip.c:799
 #, c-format
 msgid "%s: cannot use -o or -f when stripping archive"
 msgstr "%s: アーカイブから抜き出している時は -o や -f は使えません"
@@ -6212,263 +6248,263 @@
 #. result = handle_ar (fd, elf, NULL, fname,
 #. preserve_dates ? tv : NULL);
 #.
-#: src/strip.c:790
+#: src/strip.c:811
 #, fuzzy, c-format
 msgid "%s: no support for stripping archive"
 msgstr "%s: アーカイブから抜き出している時は -o や -f は使えません"
 
-#: src/strip.c:1001
+#: src/strip.c:1047
 #, c-format
 msgid "cannot open EBL backend"
 msgstr "EBL バックエンドを開けません"
 
-#: src/strip.c:1046
+#: src/strip.c:1092
 #, fuzzy, c-format
 msgid "cannot get number of phdrs"
 msgstr "セクション数を決定できません: %s"
 
-#: src/strip.c:1060 src/strip.c:1103
+#: src/strip.c:1106 src/strip.c:1149
 #, fuzzy, c-format
 msgid "cannot create new ehdr for file '%s': %s"
 msgstr "新しいファイル '%s' を生成できません: %s"
 
-#: src/strip.c:1070 src/strip.c:1113
+#: src/strip.c:1116 src/strip.c:1159
 #, fuzzy, c-format
 msgid "cannot create new phdr for file '%s': %s"
 msgstr "新しいファイル '%s' を生成できません: %s"
 
-#: src/strip.c:1194
+#: src/strip.c:1240
 #, c-format
 msgid "illformed file '%s'"
 msgstr "不適格なファイル '%s'"
 
-#: src/strip.c:1204
+#: src/strip.c:1250
 #, fuzzy, c-format
 msgid "Cannot remove allocated section '%s'"
 msgstr "PLT セクションを割り当てられません: %s"
 
-#: src/strip.c:1213
+#: src/strip.c:1259
 #, fuzzy, c-format
 msgid "Cannot both keep and remove section '%s'"
 msgstr "0番目のセクションのヘッダーを得られません: %s"
 
-#: src/strip.c:1573 src/strip.c:1688
+#: src/strip.c:1624 src/strip.c:1739
 #, c-format
 msgid "while generating output file: %s"
 msgstr "出力ファイルを生成している間: %s"
 
-#: src/strip.c:1637
+#: src/strip.c:1688
 #, fuzzy, c-format
 msgid "%s: error while updating ELF header: %s"
 msgstr "%s: ELF ヘッダーを生成している間にエラー: %s"
 
-#: src/strip.c:1646
+#: src/strip.c:1697
 #, fuzzy, c-format
 msgid "%s: error while getting shdrstrndx: %s"
 msgstr "%s: ELF ヘッダーを生成している間にエラー: %s"
 
-#: src/strip.c:1654 src/strip.c:2535
+#: src/strip.c:1705 src/strip.c:2550
 #, fuzzy, c-format
 msgid "%s: error updating shdrstrndx: %s"
 msgstr "%s: ELF ヘッダーを生成している間にエラー: %s"
 
-#: src/strip.c:1671
+#: src/strip.c:1722
 #, c-format
 msgid "while preparing output for '%s'"
 msgstr "'%s' のための出力を準備している間"
 
-#: src/strip.c:1733 src/strip.c:1796
+#: src/strip.c:1784 src/strip.c:1847
 #, c-format
 msgid "while create section header section: %s"
 msgstr "セクションヘッダーセクションを生成している間: %s"
 
-#: src/strip.c:1742
+#: src/strip.c:1793
 #, c-format
 msgid "cannot allocate section data: %s"
 msgstr "セクションデータを割り当てられません: %s"
 
-#: src/strip.c:1808
+#: src/strip.c:1859
 #, c-format
 msgid "while create section header string table: %s"
 msgstr "セクションヘッダー文字列テーブルを生成中: %s"
 
-#: src/strip.c:1815
+#: src/strip.c:1866
 #, fuzzy, c-format
 msgid "no memory to create section header string table"
 msgstr "セクションヘッダー文字列テーブルを生成中: %s"
 
-#: src/strip.c:2028
+#: src/strip.c:2079
 #, c-format
 msgid "Cannot remove symbol [%zd] from allocated symbol table [%zd]"
 msgstr ""
 
-#: src/strip.c:2451 src/strip.c:2559
+#: src/strip.c:2466 src/strip.c:2574
 #, c-format
 msgid "while writing '%s': %s"
 msgstr "'%s' を書込み中: %s"
 
-#: src/strip.c:2462
+#: src/strip.c:2477
 #, c-format
 msgid "while creating '%s'"
 msgstr "'%s' を生成中"
 
-#: src/strip.c:2485
+#: src/strip.c:2500
 #, c-format
 msgid "while computing checksum for debug information"
 msgstr "デバッグ情報のチェックサムを計算中"
 
-#: src/strip.c:2526
+#: src/strip.c:2541
 #, c-format
 msgid "%s: error while creating ELF header: %s"
 msgstr "%s: ELF ヘッダーを生成している間にエラー: %s"
 
-#: src/strip.c:2544
+#: src/strip.c:2559
 #, c-format
 msgid "%s: error while reading the file: %s"
 msgstr "%s: ファイルを読込み中にエラー: %s"
 
-#: src/strip.c:2584 src/strip.c:2604
+#: src/strip.c:2599 src/strip.c:2619
 #, fuzzy, c-format
 msgid "while writing '%s'"
 msgstr "'%s' を書込み中: %s"
 
-#: src/strip.c:2641 src/strip.c:2648
+#: src/strip.c:2656 src/strip.c:2663
 #, c-format
 msgid "error while finishing '%s': %s"
 msgstr "'%s' の終了中にエラー: %s"
 
-#: src/strip.c:2665 src/strip.c:2741
+#: src/strip.c:2680 src/strip.c:2756
 #, c-format
 msgid "cannot set access and modification date of '%s'"
 msgstr "'%s' のアクセスと変更日付を設定できません"
 
-#: src/unstrip.c:70
+#: src/unstrip.c:66
 msgid "Match MODULE against file names, not module names"
 msgstr ""
 
-#: src/unstrip.c:71
+#: src/unstrip.c:67
 msgid "Silently skip unfindable files"
 msgstr ""
 
-#: src/unstrip.c:74
+#: src/unstrip.c:70
 msgid "Place output into FILE"
 msgstr ""
 
-#: src/unstrip.c:76
+#: src/unstrip.c:72
 msgid "Create multiple output files under DIRECTORY"
 msgstr ""
 
-#: src/unstrip.c:77
+#: src/unstrip.c:73
 msgid "Use module rather than file names"
 msgstr ""
 
-#: src/unstrip.c:79
+#: src/unstrip.c:75
 msgid "Create output for modules that have no separate debug information"
 msgstr ""
 
-#: src/unstrip.c:82
+#: src/unstrip.c:78
 msgid "Apply relocations to section contents in ET_REL files"
 msgstr ""
 
-#: src/unstrip.c:84
+#: src/unstrip.c:80
 msgid "Only list module and file names, build IDs"
 msgstr ""
 
-#: src/unstrip.c:86
+#: src/unstrip.c:82
 msgid "Force combining files even if some ELF headers don't seem to match"
 msgstr ""
 
-#: src/unstrip.c:130
+#: src/unstrip.c:126
 #, c-format
 msgid "-d option specified twice"
 msgstr ""
 
-#: src/unstrip.c:165
+#: src/unstrip.c:161
 #, c-format
 msgid "only one of -o or -d allowed"
 msgstr ""
 
-#: src/unstrip.c:174
+#: src/unstrip.c:170
 #, c-format
 msgid "-n cannot be used with explicit files or -o or -d"
 msgstr ""
 
-#: src/unstrip.c:189
+#: src/unstrip.c:185
 #, c-format
 msgid "output directory '%s'"
 msgstr ""
 
-#: src/unstrip.c:198
+#: src/unstrip.c:194
 #, c-format
 msgid "exactly two file arguments are required"
 msgstr ""
 
-#: src/unstrip.c:204
+#: src/unstrip.c:200
 #, c-format
 msgid "-m, -a, -R, and -i options not allowed with explicit files"
 msgstr ""
 
-#: src/unstrip.c:217
+#: src/unstrip.c:213
 #, c-format
 msgid "-o or -d is required when using implicit files"
 msgstr ""
 
-#: src/unstrip.c:240
+#: src/unstrip.c:236
 #, c-format
 msgid "cannot create ELF header: %s"
 msgstr ""
 
-#: src/unstrip.c:244
+#: src/unstrip.c:240
 #, fuzzy, c-format
 msgid "cannot get shdrstrndx:%s"
 msgstr "セクションを得られません: %s"
 
-#: src/unstrip.c:248 src/unstrip.c:2081
+#: src/unstrip.c:244 src/unstrip.c:2085
 #, c-format
 msgid "cannot get ELF header: %s"
 msgstr ""
 
-#: src/unstrip.c:258
+#: src/unstrip.c:254
 #, fuzzy, c-format
 msgid "cannot get new zero section: %s"
 msgstr "セクションを得られません: %s"
 
-#: src/unstrip.c:261
+#: src/unstrip.c:257
 #, fuzzy, c-format
 msgid "cannot update new zero section: %s"
 msgstr "セクション数を決定できません: %s"
 
-#: src/unstrip.c:265
+#: src/unstrip.c:261
 #, c-format
 msgid "cannot copy ELF header: %s"
 msgstr ""
 
-#: src/unstrip.c:269 src/unstrip.c:2099 src/unstrip.c:2142
+#: src/unstrip.c:265 src/unstrip.c:2103 src/unstrip.c:2146
 #, fuzzy, c-format
 msgid "cannot get number of program headers: %s"
 msgstr "セクション数を決定できません: %s"
 
-#: src/unstrip.c:274 src/unstrip.c:2103
+#: src/unstrip.c:270 src/unstrip.c:2107
 #, c-format
 msgid "cannot create program headers: %s"
 msgstr ""
 
-#: src/unstrip.c:280
+#: src/unstrip.c:276
 #, c-format
 msgid "cannot copy program header: %s"
 msgstr ""
 
-#: src/unstrip.c:290
+#: src/unstrip.c:286
 #, c-format
 msgid "cannot copy section header: %s"
 msgstr ""
 
-#: src/unstrip.c:293 src/unstrip.c:1703
+#: src/unstrip.c:289 src/unstrip.c:1707
 #, c-format
 msgid "cannot get section data: %s"
 msgstr ""
 
-#: src/unstrip.c:295 src/unstrip.c:1705
+#: src/unstrip.c:291 src/unstrip.c:1709
 #, c-format
 msgid "cannot copy section data: %s"
 msgstr ""
@@ -6478,260 +6514,260 @@
 msgid "cannot create directory '%s'"
 msgstr ""
 
-#: src/unstrip.c:391 src/unstrip.c:651 src/unstrip.c:685 src/unstrip.c:853
-#: src/unstrip.c:1745
+#: src/unstrip.c:393 src/unstrip.c:655 src/unstrip.c:689 src/unstrip.c:857
+#: src/unstrip.c:1749
 #, c-format
 msgid "cannot get symbol table entry: %s"
 msgstr ""
 
-#: src/unstrip.c:407 src/unstrip.c:654 src/unstrip.c:675 src/unstrip.c:688
-#: src/unstrip.c:1766 src/unstrip.c:1961 src/unstrip.c:1985
+#: src/unstrip.c:409 src/unstrip.c:658 src/unstrip.c:679 src/unstrip.c:692
+#: src/unstrip.c:1770 src/unstrip.c:1965 src/unstrip.c:1989
 #, c-format
 msgid "cannot update symbol table: %s"
 msgstr ""
 
-#: src/unstrip.c:417
+#: src/unstrip.c:419
 #, c-format
 msgid "cannot update section header: %s"
 msgstr ""
 
-#: src/unstrip.c:463 src/unstrip.c:477
+#: src/unstrip.c:465 src/unstrip.c:479
 #, c-format
 msgid "cannot update relocation: %s"
 msgstr ""
 
-#: src/unstrip.c:574
+#: src/unstrip.c:578
 #, c-format
 msgid "cannot get symbol version: %s"
 msgstr ""
 
-#: src/unstrip.c:587
+#: src/unstrip.c:591
 #, c-format
 msgid "unexpected section type in [%zu] with sh_link to symtab"
 msgstr ""
 
-#: src/unstrip.c:842
+#: src/unstrip.c:846
 #, fuzzy, c-format
 msgid "cannot get symbol section data: %s"
 msgstr "ラインデータセクションデータを得られません: %s"
 
-#: src/unstrip.c:844
+#: src/unstrip.c:848
 #, fuzzy, c-format
 msgid "cannot get string section data: %s"
 msgstr "ラインデータセクションデータを得られません: %s"
 
-#: src/unstrip.c:861
+#: src/unstrip.c:865
 #, fuzzy, c-format
 msgid "invalid string offset in symbol [%zu]"
 msgstr "シンボル %2$sの不正なオフセット %1$zu "
 
-#: src/unstrip.c:1019 src/unstrip.c:1423
+#: src/unstrip.c:1023 src/unstrip.c:1427
 #, fuzzy, c-format
 msgid "cannot read section [%zu] name: %s"
 msgstr "セクションデータを割り当てられません: %s"
 
-#: src/unstrip.c:1034
+#: src/unstrip.c:1038
 #, fuzzy, c-format
 msgid "bad sh_link for group section: %s"
 msgstr "不当な .debug_line セクション"
 
-#: src/unstrip.c:1040
+#: src/unstrip.c:1044
 #, fuzzy, c-format
 msgid "couldn't get shdr for group section: %s"
 msgstr "セクションからデータを得られません %d: %s"
 
-#: src/unstrip.c:1045
+#: src/unstrip.c:1049
 #, fuzzy, c-format
 msgid "bad data for group symbol section: %s"
 msgstr "セクションからデータを得られません %d: %s"
 
-#: src/unstrip.c:1051
+#: src/unstrip.c:1055
 #, fuzzy, c-format
 msgid "couldn't get symbol for group section: %s"
 msgstr "セクション数を決定できません: %s"
 
-#: src/unstrip.c:1056
+#: src/unstrip.c:1060
 #, fuzzy, c-format
 msgid "bad symbol name for group section: %s"
 msgstr "セクションヘッダー文字列セクションを生成できません: %s"
 
-#: src/unstrip.c:1098 src/unstrip.c:1117 src/unstrip.c:1155
+#: src/unstrip.c:1102 src/unstrip.c:1121 src/unstrip.c:1159
 #, c-format
 msgid "cannot read '.gnu.prelink_undo' section: %s"
 msgstr ""
 
-#: src/unstrip.c:1135
+#: src/unstrip.c:1139
 #, c-format
 msgid "overflow with shnum = %zu in '%s' section"
 msgstr ""
 
-#: src/unstrip.c:1146
+#: src/unstrip.c:1150
 #, c-format
 msgid "invalid contents in '%s' section"
 msgstr ""
 
-#: src/unstrip.c:1202 src/unstrip.c:1549
+#: src/unstrip.c:1206 src/unstrip.c:1553
 #, fuzzy, c-format
 msgid "cannot find matching section for [%zu] '%s'"
 msgstr "セクション [%zu] '%s' の不当なデータ"
 
-#: src/unstrip.c:1327 src/unstrip.c:1343 src/unstrip.c:1629 src/unstrip.c:1920
+#: src/unstrip.c:1331 src/unstrip.c:1347 src/unstrip.c:1633 src/unstrip.c:1924
 #, c-format
 msgid "cannot add section name to string table: %s"
 msgstr ""
 
-#: src/unstrip.c:1352
+#: src/unstrip.c:1356
 #, c-format
 msgid "cannot update section header string table data: %s"
 msgstr ""
 
-#: src/unstrip.c:1381 src/unstrip.c:1385
+#: src/unstrip.c:1385 src/unstrip.c:1389
 #, c-format
 msgid "cannot get section header string table section index: %s"
 msgstr ""
 
-#: src/unstrip.c:1389 src/unstrip.c:1393 src/unstrip.c:1644
+#: src/unstrip.c:1393 src/unstrip.c:1397 src/unstrip.c:1648
 #, c-format
 msgid "cannot get section count: %s"
 msgstr ""
 
-#: src/unstrip.c:1396
+#: src/unstrip.c:1400
 #, c-format
 msgid "more sections in stripped file than debug file -- arguments reversed?"
 msgstr ""
 
-#: src/unstrip.c:1400
+#: src/unstrip.c:1404
 #, c-format
 msgid "no sections in stripped file"
 msgstr ""
 
-#: src/unstrip.c:1471 src/unstrip.c:1564
+#: src/unstrip.c:1475 src/unstrip.c:1568
 #, c-format
 msgid "cannot read section header string table: %s"
 msgstr ""
 
-#: src/unstrip.c:1623
+#: src/unstrip.c:1627
 #, c-format
 msgid "cannot add new section: %s"
 msgstr ""
 
-#: src/unstrip.c:1753
+#: src/unstrip.c:1757
 #, fuzzy, c-format
 msgid "symbol [%zu] has invalid section index"
 msgstr "不当なセクション索引"
 
-#: src/unstrip.c:1785
+#: src/unstrip.c:1789
 #, fuzzy, c-format
 msgid "group has invalid section index [%zd]"
 msgstr "不当なセクション索引"
 
-#: src/unstrip.c:2060
+#: src/unstrip.c:2064
 #, fuzzy, c-format
 msgid "cannot read section data: %s"
 msgstr "セクションデータを割り当てられません: %s"
 
-#: src/unstrip.c:2089
+#: src/unstrip.c:2093
 #, c-format
 msgid "cannot update ELF header: %s"
 msgstr "ELF ヘッダーを更新できません: %s"
 
-#: src/unstrip.c:2113
+#: src/unstrip.c:2117
 #, c-format
 msgid "cannot update program header: %s"
 msgstr ""
 
-#: src/unstrip.c:2118 src/unstrip.c:2200
+#: src/unstrip.c:2122 src/unstrip.c:2205
 #, c-format
 msgid "cannot write output file: %s"
 msgstr ""
 
-#: src/unstrip.c:2169
+#: src/unstrip.c:2173
 #, c-format
 msgid "DWARF data not adjusted for prelinking bias; consider prelink -u"
 msgstr ""
 
-#: src/unstrip.c:2172
+#: src/unstrip.c:2176
 #, c-format
 msgid ""
 "DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u"
 msgstr ""
 
-#: src/unstrip.c:2191 src/unstrip.c:2242 src/unstrip.c:2254 src/unstrip.c:2340
+#: src/unstrip.c:2196 src/unstrip.c:2247 src/unstrip.c:2259 src/unstrip.c:2345
 #, c-format
 msgid "cannot create ELF descriptor: %s"
 msgstr ""
 
-#: src/unstrip.c:2233
+#: src/unstrip.c:2238
 msgid "WARNING: "
 msgstr ""
 
-#: src/unstrip.c:2235
+#: src/unstrip.c:2240
 msgid ", use --force"
 msgstr ""
 
-#: src/unstrip.c:2258
+#: src/unstrip.c:2263
 msgid "ELF header identification (e_ident) different"
 msgstr ""
 
-#: src/unstrip.c:2261
+#: src/unstrip.c:2266
 msgid "ELF header type (e_type) different"
 msgstr ""
 
-#: src/unstrip.c:2264
+#: src/unstrip.c:2269
 msgid "ELF header machine type (e_machine) different"
 msgstr ""
 
-#: src/unstrip.c:2267
+#: src/unstrip.c:2272
 msgid "stripped program header (e_phnum) smaller than unstripped"
 msgstr ""
 
-#: src/unstrip.c:2297
+#: src/unstrip.c:2302
 #, c-format
 msgid "cannot find stripped file for module '%s': %s"
 msgstr ""
 
-#: src/unstrip.c:2301
+#: src/unstrip.c:2306
 #, c-format
 msgid "cannot open stripped file '%s' for module '%s': %s"
 msgstr ""
 
-#: src/unstrip.c:2316
+#: src/unstrip.c:2321
 #, c-format
 msgid "cannot find debug file for module '%s': %s"
 msgstr ""
 
-#: src/unstrip.c:2320
+#: src/unstrip.c:2325
 #, c-format
 msgid "cannot open debug file '%s' for module '%s': %s"
 msgstr ""
 
-#: src/unstrip.c:2333
+#: src/unstrip.c:2338
 #, c-format
 msgid "module '%s' file '%s' is not stripped"
 msgstr ""
 
-#: src/unstrip.c:2364
+#: src/unstrip.c:2369
 #, c-format
 msgid "cannot cache section addresses for module '%s': %s"
 msgstr ""
 
-#: src/unstrip.c:2497
+#: src/unstrip.c:2501
 #, c-format
 msgid "no matching modules found"
 msgstr ""
 
-#: src/unstrip.c:2506
+#: src/unstrip.c:2510
 #, c-format
 msgid "matched more than one module"
 msgstr ""
 
-#: src/unstrip.c:2550
+#: src/unstrip.c:2554
 msgid ""
 "STRIPPED-FILE DEBUG-FILE\n"
 "[MODULE...]"
 msgstr ""
 
-#: src/unstrip.c:2551
+#: src/unstrip.c:2555
 msgid ""
 "Combine stripped files with separate symbols and debug information.\n"
 "\n"
@@ -6763,16 +6799,22 @@
 msgid "Run executable"
 msgstr ""
 
-#: tests/dwflmodtest.c:213
+#: tests/dwflmodtest.c:209
 #, fuzzy
 msgid "Additionally show function names"
 msgstr "出力選択:"
 
-#: tests/dwflmodtest.c:214
+#: tests/dwflmodtest.c:210
 msgid "Show instances of inlined functions"
 msgstr ""
 
 #, fuzzy
+#~ msgid ""
+#~ " [%6tx] base address\n"
+#~ "          "
+#~ msgstr " [%6tx]  ベースアドレス %s\n"
+
+#, fuzzy
 #~ msgid "%s: error getting zero section: %s"
 #~ msgstr "%s: ファイルを読込み中にエラー: %s"
 
diff --git a/po/nl.po b/po/nl.po
deleted file mode 100644
index ff3e5d5..0000000
--- a/po/nl.po
+++ /dev/null
@@ -1,5666 +0,0 @@
-# Dutch translation of elfutils
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-# Geert Warrink <geert.warrink@onsnet.nu>, 2009.
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Elfutils\n"
-"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2010-04-21 07:41-0700\n"
-"PO-Revision-Date: 2009-09-01 18:02+0200\n"
-"Last-Translator: Geert Warrink <geert.warrink@onsnet.nu>\n"
-"Language-Team: nl <nl@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding:  \n"
-
-#: lib/xmalloc.c:51 lib/xmalloc.c:65 lib/xmalloc.c:79 src/readelf.c:2822
-#: src/readelf.c:3161 src/unstrip.c:2087 src/unstrip.c:2295
-#, c-format
-msgid "memory exhausted"
-msgstr ""
-
-#: libasm/asm_error.c:62 libdw/dwarf_error.c:79 libdwfl/libdwflP.h:70
-#: libelf/elf_error.c:81
-msgid "no error"
-msgstr ""
-
-#: libasm/asm_error.c:63 libdw/dwarf_error.c:88 libdwfl/libdwflP.h:72
-#: libelf/elf_error.c:112
-msgid "out of memory"
-msgstr ""
-
-#: libasm/asm_error.c:64 src/ldgeneric.c:2687
-#, c-format
-msgid "cannot create output file"
-msgstr ""
-
-#: libasm/asm_error.c:65
-msgid "invalid parameter"
-msgstr ""
-
-#: libasm/asm_error.c:66
-msgid "cannot change mode of output file"
-msgstr ""
-
-#: libasm/asm_error.c:67 src/ldgeneric.c:7001
-#, c-format
-msgid "cannot rename output file"
-msgstr ""
-
-#: libasm/asm_error.c:68
-msgid "duplicate symbol"
-msgstr ""
-
-#: libasm/asm_error.c:69
-msgid "invalid section type for operation"
-msgstr ""
-
-#: libasm/asm_error.c:70
-msgid "error during output of data"
-msgstr ""
-
-#: libasm/asm_error.c:71
-msgid "no backend support available"
-msgstr ""
-
-#: libasm/asm_error.c:81 libdw/dwarf_error.c:80 libdwfl/libdwflP.h:71
-#: libelf/elf_error.c:84
-msgid "unknown error"
-msgstr ""
-
-#: libdw/dwarf_error.c:81
-msgid "invalid access"
-msgstr ""
-
-#: libdw/dwarf_error.c:82
-msgid "no regular file"
-msgstr ""
-
-#: libdw/dwarf_error.c:83
-msgid "I/O error"
-msgstr ""
-
-#: libdw/dwarf_error.c:84
-msgid "invalid ELF file"
-msgstr ""
-
-#: libdw/dwarf_error.c:85
-msgid "no DWARF information"
-msgstr ""
-
-#: libdw/dwarf_error.c:86
-msgid "no ELF file"
-msgstr ""
-
-#: libdw/dwarf_error.c:87
-msgid "cannot get ELF header"
-msgstr ""
-
-#: libdw/dwarf_error.c:89
-msgid "not implemented"
-msgstr ""
-
-#: libdw/dwarf_error.c:90 libelf/elf_error.c:128 libelf/elf_error.c:176
-msgid "invalid command"
-msgstr ""
-
-#: libdw/dwarf_error.c:91
-msgid "invalid version"
-msgstr ""
-
-#: libdw/dwarf_error.c:92
-msgid "invalid file"
-msgstr ""
-
-#: libdw/dwarf_error.c:93
-msgid "no entries found"
-msgstr ""
-
-#: libdw/dwarf_error.c:94
-msgid "invalid DWARF"
-msgstr ""
-
-#: libdw/dwarf_error.c:95
-msgid "no string data"
-msgstr ""
-
-#: libdw/dwarf_error.c:96
-msgid "no address value"
-msgstr ""
-
-#: libdw/dwarf_error.c:97
-msgid "no constant value"
-msgstr ""
-
-#: libdw/dwarf_error.c:98
-msgid "no reference value"
-msgstr ""
-
-#: libdw/dwarf_error.c:99
-msgid "invalid reference value"
-msgstr ""
-
-#: libdw/dwarf_error.c:100
-msgid ".debug_line section missing"
-msgstr ""
-
-#: libdw/dwarf_error.c:101
-msgid "invalid .debug_line section"
-msgstr ""
-
-#: libdw/dwarf_error.c:102
-msgid "debug information too big"
-msgstr ""
-
-#: libdw/dwarf_error.c:103
-msgid "invalid DWARF version"
-msgstr ""
-
-#: libdw/dwarf_error.c:104
-msgid "invalid directory index"
-msgstr ""
-
-#: libdw/dwarf_error.c:105 libdwfl/libdwflP.h:91
-msgid "address out of range"
-msgstr ""
-
-#: 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 ""
-
-#: libdw/dwarf_error.c:109
-msgid "invalid address range index"
-msgstr ""
-
-#: libdw/dwarf_error.c:110 libdwfl/libdwflP.h:92
-msgid "no matching address range"
-msgstr ""
-
-#: libdw/dwarf_error.c:111
-msgid "no flag value"
-msgstr ""
-
-#: libdw/dwarf_error.c:112 libelf/elf_error.c:253
-msgid "invalid offset"
-msgstr ""
-
-#: libdw/dwarf_error.c:113
-msgid ".debug_ranges section missing"
-msgstr ""
-
-#: libdw/dwarf_error.c:114
-msgid "invalid CFI section"
-msgstr ""
-
-#: libdwfl/argp-std.c:67 src/unstrip.c:2237
-msgid "Input selection options:"
-msgstr ""
-
-#: libdwfl/argp-std.c:68
-msgid "Find addresses in FILE"
-msgstr ""
-
-#: libdwfl/argp-std.c:70
-msgid "Find addresses from signatures found in COREFILE"
-msgstr ""
-
-#: 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 ""
-
-#: libdwfl/argp-std.c:78
-msgid "Kernel with all modules"
-msgstr ""
-
-#: libdwfl/argp-std.c:80
-msgid "Search path for separate debuginfo files"
-msgstr ""
-
-#: libdwfl/argp-std.c:163
-msgid "only one of -e, -p, -k, -K, or --core allowed"
-msgstr ""
-
-#: libdwfl/argp-std.c:223
-#, c-format
-msgid "cannot read ELF core file: %s"
-msgstr ""
-
-#: libdwfl/argp-std.c:241
-msgid "No modules recognized in core file"
-msgstr ""
-
-#: libdwfl/argp-std.c:253
-msgid "cannot load kernel symbols"
-msgstr ""
-
-#: libdwfl/argp-std.c:257
-msgid "cannot find kernel modules"
-msgstr ""
-
-#: libdwfl/argp-std.c:271
-msgid "cannot find kernel or modules"
-msgstr ""
-
-#: libdwfl/libdwflP.h:73
-msgid "See errno"
-msgstr ""
-
-#: libdwfl/libdwflP.h:74
-msgid "See elf_errno"
-msgstr ""
-
-#: libdwfl/libdwflP.h:75
-msgid "See dwarf_errno"
-msgstr ""
-
-#: libdwfl/libdwflP.h:76
-msgid "See ebl_errno (XXX missing)"
-msgstr ""
-
-#: libdwfl/libdwflP.h:77
-msgid "gzip decompression failed"
-msgstr ""
-
-#: libdwfl/libdwflP.h:78
-msgid "bzip2 decompression failed"
-msgstr ""
-
-#: libdwfl/libdwflP.h:79
-msgid "LZMA decompression failed"
-msgstr ""
-
-#: libdwfl/libdwflP.h:80
-msgid "no support library found for machine"
-msgstr ""
-
-#: libdwfl/libdwflP.h:81
-msgid "Callbacks missing for ET_REL file"
-msgstr ""
-
-#: libdwfl/libdwflP.h:82
-msgid "Unsupported relocation type"
-msgstr ""
-
-#: libdwfl/libdwflP.h:83
-msgid "r_offset is bogus"
-msgstr ""
-
-#: libdwfl/libdwflP.h:84 libelf/elf_error.c:132 libelf/elf_error.c:192
-msgid "offset out of range"
-msgstr ""
-
-#: libdwfl/libdwflP.h:85
-msgid "relocation refers to undefined symbol"
-msgstr ""
-
-#: libdwfl/libdwflP.h:86
-msgid "Callback returned failure"
-msgstr ""
-
-#: libdwfl/libdwflP.h:87
-msgid "No DWARF information found"
-msgstr ""
-
-#: libdwfl/libdwflP.h:88
-msgid "No symbol table found"
-msgstr ""
-
-#: libdwfl/libdwflP.h:89
-msgid "No ELF program headers"
-msgstr ""
-
-#: libdwfl/libdwflP.h:90
-msgid "address range overlaps an existing module"
-msgstr ""
-
-#: libdwfl/libdwflP.h:93
-msgid "image truncated"
-msgstr ""
-
-#: libdwfl/libdwflP.h:94
-msgid "ELF file opened"
-msgstr ""
-
-#: libdwfl/libdwflP.h:95
-msgid "not a valid ELF file"
-msgstr ""
-
-#: libdwfl/libdwflP.h:96
-msgid "cannot handle DWARF type description"
-msgstr ""
-
-#: libebl/eblbackendname.c:63
-msgid "No backend"
-msgstr ""
-
-#: libebl/eblcorenotetypename.c:107 libebl/eblobjecttypename.c:78
-#: libebl/eblobjnotetypename.c:86 libebl/eblosabiname.c:98
-#: libebl/eblsectionname.c:110 libebl/eblsectiontypename.c:140
-#: libebl/eblsegmenttypename.c:104
-msgid "<unknown>"
-msgstr ""
-
-#: libebl/ebldynamictagname.c:126
-#, c-format
-msgid "<unknown>: %#<PRIx64>"
-msgstr ""
-
-#: libebl/eblobjnote.c:76
-#, c-format
-msgid "    Build ID: "
-msgstr ""
-
-#: libebl/eblobjnote.c:87
-#, c-format
-msgid "    Linker version: %.*s\n"
-msgstr ""
-
-#: libebl/eblobjnote.c:136
-#, c-format
-msgid "    OS: %s, ABI: "
-msgstr ""
-
-#: libebl/eblosabiname.c:95
-msgid "Stand alone"
-msgstr ""
-
-#: libebl/eblsymbolbindingname.c:92 libebl/eblsymboltypename.c:98
-#, c-format
-msgid "<unknown>: %d"
-msgstr ""
-
-#: libelf/elf_error.c:88
-msgid "unknown version"
-msgstr ""
-
-#: libelf/elf_error.c:92
-msgid "unknown type"
-msgstr ""
-
-#: 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:4779
-#, c-format
-msgid "invalid encoding"
-msgstr ""
-
-#: libelf/elf_error.c:116
-msgid "invalid file descriptor"
-msgstr ""
-
-#: libelf/elf_error.c:120
-msgid "invalid operation"
-msgstr ""
-
-#: libelf/elf_error.c:124
-msgid "ELF version not set"
-msgstr ""
-
-#: libelf/elf_error.c:136
-msgid "invalid fmag field in archive header"
-msgstr ""
-
-#: libelf/elf_error.c:140
-msgid "invalid archive file"
-msgstr ""
-
-#: 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 ""
-
-#: libelf/elf_error.c:156
-msgid "cannot write data to file"
-msgstr ""
-
-#: 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 file descriptor 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:6242 src/readelf.c:6343
-#, c-format
-msgid "invalid data"
-msgstr ""
-
-#: libelf/elf_error.c:212
-msgid "unknown data encoding"
-msgstr ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/addr2line.c:73
-msgid "Treat addresses as offsets relative to NAME section."
-msgstr ""
-
-#: src/addr2line.c:75 src/elfcmp.c:75 src/findtextrel.c:75 src/nm.c:103
-#: src/strings.c:83
-msgid "Miscellaneous:"
-msgstr ""
-
-#: src/addr2line.c:84
-msgid ""
-"Locate source files and line information for ADDRs (in a.out by default)."
-msgstr ""
-
-#: src/addr2line.c:88
-msgid "[ADDR...]"
-msgstr ""
-
-#: src/addr2line.c:185 src/ar.c:289 src/elfcmp.c:555 src/elflint.c:239
-#: src/findtextrel.c:170 src/ld.c:957 src/nm.c:253 src/objdump.c:181
-#: src/ranlib.c:136 src/readelf.c:449 src/size.c:219 src/strings.c:227
-#: src/strip.c:204 src/unstrip.c:234
-#, 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 ""
-
-#: src/addr2line.c:190 src/ar.c:294 src/elfcmp.c:560 src/elflint.c:244
-#: src/findtextrel.c:175 src/ld.c:962 src/nm.c:258 src/objdump.c:186
-#: src/ranlib.c:141 src/readelf.c:454 src/size.c:224 src/strings.c:232
-#: src/strip.c:209 src/unstrip.c:239
-#, c-format
-msgid "Written by %s.\n"
-msgstr ""
-
-#: src/addr2line.c:405
-#, c-format
-msgid "Section syntax requires exactly one module"
-msgstr ""
-
-#: src/addr2line.c:428
-#, c-format
-msgid "offset %#<PRIxMAX> lies outside section '%s'"
-msgstr ""
-
-#: src/addr2line.c:461
-#, c-format
-msgid "cannot find symbol '%s'"
-msgstr ""
-
-#: src/addr2line.c:466
-#, c-format
-msgid "offset %#<PRIxMAX> lies outside contents of '%s'"
-msgstr ""
-
-#: src/ar.c:76
-msgid "Commands:"
-msgstr ""
-
-#: src/ar.c:77
-msgid "Delete files from archive."
-msgstr ""
-
-#: src/ar.c:78
-msgid "Move files in archive."
-msgstr ""
-
-#: src/ar.c:79
-msgid "Print files in archive."
-msgstr ""
-
-#: src/ar.c:80
-msgid "Quick append files to archive."
-msgstr ""
-
-#: src/ar.c:82
-msgid "Replace existing or insert new file into archive."
-msgstr ""
-
-#: src/ar.c:83
-msgid "Display content of archive."
-msgstr ""
-
-#: src/ar.c:84
-msgid "Extract files from archive."
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:91
-msgid "Allow filename to be truncated if necessary."
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:96
-msgid "Insert file before [MEMBER]."
-msgstr ""
-
-#: src/ar.c:97
-msgid "Same as -b."
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:107
-msgid "Create, modify, and extract from archives."
-msgstr ""
-
-#: src/ar.c:110
-msgid "[MEMBER] [COUNT] ARCHIVE [FILE...]"
-msgstr ""
-
-#: src/ar.c:192
-#, c-format
-msgid "'a', 'b', and 'i' are only allowed with the 'm' and 'r' options"
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:230
-#, c-format
-msgid "invalid COUNT parameter %s"
-msgstr ""
-
-#: src/ar.c:237
-#, c-format
-msgid "'%c' is only meaningful with the 'x' option"
-msgstr ""
-
-#: src/ar.c:243
-#, c-format
-msgid "archive name required"
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:414
-#, c-format
-msgid "cannot open archive '%s': %s"
-msgstr ""
-
-#: src/ar.c:418
-#, c-format
-msgid "%s: not an archive file"
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:487 src/ar.c:929 src/ar.c:1129
-#, c-format
-msgid "cannot create hash table"
-msgstr ""
-
-#: src/ar.c:494 src/ar.c:936 src/ar.c:1138
-#, c-format
-msgid "cannot insert into hash table"
-msgstr ""
-
-#: src/ar.c:502 src/ranlib.c:176
-#, c-format
-msgid "cannot stat '%s'"
-msgstr ""
-
-#: src/ar.c:598
-#, c-format
-msgid "cannot read content of %s: %s"
-msgstr ""
-
-#: src/ar.c:641
-#, c-format
-msgid "cannot open %.*s"
-msgstr ""
-
-#: src/ar.c:663
-#, c-format
-msgid "failed to write %s"
-msgstr ""
-
-#: src/ar.c:675
-#, c-format
-msgid "cannot change mode of %s"
-msgstr ""
-
-#: src/ar.c:691
-#, c-format
-msgid "cannot change modification time of %s"
-msgstr ""
-
-#: src/ar.c:737
-#, c-format
-msgid "cannot rename temporary file to %.*s"
-msgstr ""
-
-#: src/ar.c:773 src/ar.c:1021 src/ar.c:1419 src/ranlib.c:250
-#, c-format
-msgid "cannot create new file"
-msgstr ""
-
-#: src/ar.c:1220
-#, c-format
-msgid "position member %s not found"
-msgstr ""
-
-#: src/ar.c:1230
-#, c-format
-msgid "%s: no entry %s in archive!\n"
-msgstr ""
-
-#: src/ar.c:1259 src/ldgeneric.c:519 src/objdump.c:257
-#, c-format
-msgid "cannot open %s"
-msgstr ""
-
-#: src/ar.c:1264
-#, c-format
-msgid "cannot stat %s"
-msgstr ""
-
-#: src/ar.c:1270
-#, c-format
-msgid "%s is no regular file"
-msgstr ""
-
-#: src/ar.c:1283
-#, c-format
-msgid "cannot get ELF descriptor for %s: %s\n"
-msgstr ""
-
-#: src/ar.c:1302
-#, c-format
-msgid "cannot read %s: %s"
-msgstr ""
-
-#: src/arlib.c:215
-#, c-format
-msgid "the archive '%s' is too large"
-msgstr ""
-
-#: src/arlib.c:228
-#, c-format
-msgid "cannot read ELF header of %s(%s): %s"
-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 ""
-
-#: src/elfcmp.c:80
-msgid "Compare relevant parts of two ELF files for equality."
-msgstr ""
-
-#: 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:198 src/elfcmp.c:201
-#, c-format
-msgid "cannot get section count of '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:206
-#, c-format
-msgid "%s %s diff: section count"
-msgstr ""
-
-#: src/elfcmp.c:214 src/elfcmp.c:217
-#, c-format
-msgid "cannot get program header count of '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:222
-#, c-format
-msgid "%s %s diff: program header count"
-msgstr ""
-
-#: src/elfcmp.c:281
-#, c-format
-msgid "%s %s differ: section header"
-msgstr ""
-
-#: src/elfcmp.c:309 src/elfcmp.c:315
-#, c-format
-msgid "cannot get content of section %zu in '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:331 src/elfcmp.c:337
-#, c-format
-msgid "cannot get symbol in '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:358
-#, c-format
-msgid "%s %s differ: symbol table [%zu]"
-msgstr ""
-
-#: src/elfcmp.c:361
-#, c-format
-msgid "%s %s differ: symbol table [%zu,%zu]"
-msgstr ""
-
-#: src/elfcmp.c:409
-#, c-format
-msgid "%s %s differ: section [%zu] '%s' content"
-msgstr ""
-
-#: src/elfcmp.c:413
-#, c-format
-msgid "%s %s differ: section [%zu,%zu] '%s' content"
-msgstr ""
-
-#: src/elfcmp.c:429
-#, c-format
-msgid "%s %s differ: unequal amount of important sections"
-msgstr ""
-
-#: src/elfcmp.c:463 src/elfcmp.c:468
-#, c-format
-msgid "cannot load data of '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:487 src/elfcmp.c:493
-#, c-format
-msgid "cannot get program header entry %d of '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:499
-#, c-format
-msgid "%s %s differ: program header %d"
-msgstr ""
-
-#: src/elfcmp.c:524
-#, c-format
-msgid "%s %s differ: gap"
-msgstr ""
-
-#: src/elfcmp.c:583
-#, c-format
-msgid "Invalid value '%s' for --gaps parameter."
-msgstr ""
-
-#: src/elfcmp.c:607 src/findtextrel.c:229 src/ldgeneric.c:1767
-#: src/ldgeneric.c:4257 src/nm.c:363 src/ranlib.c:169 src/size.c:301
-#: src/strings.c:183 src/strip.c:433 src/strip.c:468 src/unstrip.c:1900
-#: src/unstrip.c:1929
-#, c-format
-msgid "cannot open '%s'"
-msgstr ""
-
-#: src/elfcmp.c:611 src/findtextrel.c:236 src/ranlib.c:186
-#, c-format
-msgid "cannot create ELF descriptor for '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:616
-#, c-format
-msgid "cannot create EBL descriptor for '%s'"
-msgstr ""
-
-#: src/elfcmp.c:634
-#, c-format
-msgid "cannot get section header of section %zu: %s"
-msgstr ""
-
-#: src/elfcmp.c:644
-#, c-format
-msgid "cannot get content of section %zu: %s"
-msgstr ""
-
-#: src/elfcmp.c:654 src/elfcmp.c:668
-#, c-format
-msgid "cannot get relocation: %s"
-msgstr ""
-
-#: src/elflint.c:72
-msgid "Be extremely strict, flag level 2 features."
-msgstr ""
-
-#: src/elflint.c:73
-msgid "Do not print anything if successful"
-msgstr ""
-
-#: src/elflint.c:74
-msgid "Binary is a separate debuginfo file"
-msgstr ""
-
-#: src/elflint.c:76
-msgid ""
-"Binary has been created with GNU ld and is therefore known to be broken in "
-"certain ways"
-msgstr ""
-
-#: src/elflint.c:82
-msgid "Pedantic checking of ELF files compliance with gABI/psABI spec."
-msgstr ""
-
-#: src/elflint.c:86 src/readelf.c:118
-msgid "FILE..."
-msgstr ""
-
-#: src/elflint.c:159 src/readelf.c:272
-#, c-format
-msgid "cannot open input file"
-msgstr ""
-
-#: src/elflint.c:166
-#, c-format
-msgid "cannot generate Elf descriptor: %s\n"
-msgstr ""
-
-#: src/elflint.c:185
-#, c-format
-msgid "error while closing Elf descriptor: %s\n"
-msgstr ""
-
-#: src/elflint.c:189
-msgid "No errors"
-msgstr ""
-
-#: src/elflint.c:223 src/readelf.c:425
-msgid "Missing file name.\n"
-msgstr ""
-
-#: src/elflint.c:302
-#, c-format
-msgid " error while freeing sub-ELF descriptor: %s\n"
-msgstr ""
-
-#: src/elflint.c:310
-#, c-format
-msgid "Not an ELF file - it has the wrong magic bytes at the start\n"
-msgstr ""
-
-#: src/elflint.c:370
-#, c-format
-msgid "e_ident[%d] == %d is no known class\n"
-msgstr ""
-
-#: src/elflint.c:375
-#, c-format
-msgid "e_ident[%d] == %d is no known data encoding\n"
-msgstr ""
-
-#: src/elflint.c:379
-#, c-format
-msgid "unknown ELF header version number e_ident[%d] == %d\n"
-msgstr ""
-
-#: src/elflint.c:385
-#, c-format
-msgid "unsupported OS ABI e_ident[%d] == '%s'\n"
-msgstr ""
-
-#: src/elflint.c:391
-#, c-format
-msgid "unsupport ABI version e_ident[%d] == %d\n"
-msgstr ""
-
-#: src/elflint.c:396
-#, c-format
-msgid "e_ident[%zu] is not zero\n"
-msgstr ""
-
-#: src/elflint.c:401
-#, c-format
-msgid "unknown object file type %d\n"
-msgstr ""
-
-#: src/elflint.c:408
-#, c-format
-msgid "unknown machine type %d\n"
-msgstr ""
-
-#: src/elflint.c:412
-#, c-format
-msgid "unknown object file version\n"
-msgstr ""
-
-#: src/elflint.c:418
-#, c-format
-msgid "invalid program header offset\n"
-msgstr ""
-
-#: src/elflint.c:420
-#, c-format
-msgid "executables and DSOs cannot have zero program header offset\n"
-msgstr ""
-
-#: src/elflint.c:424
-#, c-format
-msgid "invalid number of program header entries\n"
-msgstr ""
-
-#: src/elflint.c:432
-#, c-format
-msgid "invalid section header table offset\n"
-msgstr ""
-
-#: src/elflint.c:435
-#, c-format
-msgid "section header table must be present\n"
-msgstr ""
-
-#: src/elflint.c:449
-#, c-format
-msgid "invalid number of section header table entries\n"
-msgstr ""
-
-#: src/elflint.c:466
-#, c-format
-msgid "invalid section header index\n"
-msgstr ""
-
-#: src/elflint.c:480
-#, c-format
-msgid "invalid number of program header table entries\n"
-msgstr ""
-
-#: src/elflint.c:489
-#, c-format
-msgid "invalid machine flags: %s\n"
-msgstr ""
-
-#: src/elflint.c:496 src/elflint.c:513
-#, c-format
-msgid "invalid ELF header size: %hd\n"
-msgstr ""
-
-#: src/elflint.c:499 src/elflint.c:516
-#, c-format
-msgid "invalid program header size: %hd\n"
-msgstr ""
-
-#: src/elflint.c:502 src/elflint.c:519
-#, c-format
-msgid "invalid program header position or size\n"
-msgstr ""
-
-#: src/elflint.c:505 src/elflint.c:522
-#, c-format
-msgid "invalid section header size: %hd\n"
-msgstr ""
-
-#: src/elflint.c:508 src/elflint.c:525
-#, c-format
-msgid "invalid section header position or size\n"
-msgstr ""
-
-#: src/elflint.c:569
-#, c-format
-msgid ""
-"section [%2d] '%s': section with SHF_GROUP flag set not part of a section "
-"group\n"
-msgstr ""
-
-#: src/elflint.c:573
-#, c-format
-msgid ""
-"section [%2d] '%s': section group [%2zu] '%s' does not precede group member\n"
-msgstr ""
-
-#: src/elflint.c:589 src/elflint.c:1432 src/elflint.c:1482 src/elflint.c:1591
-#: src/elflint.c:2185 src/elflint.c:2699 src/elflint.c:2860 src/elflint.c:2990
-#: src/elflint.c:3162 src/elflint.c:4062
-#, c-format
-msgid "section [%2d] '%s': cannot get section data\n"
-msgstr ""
-
-#: src/elflint.c:602 src/elflint.c:1598
-#, 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:625
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol table cannot have more than one extended index "
-"section\n"
-msgstr ""
-
-#: src/elflint.c:636
-#, c-format
-msgid "section [%2u] '%s': entry size is does not match ElfXX_Sym\n"
-msgstr ""
-
-#: src/elflint.c:645
-#, c-format
-msgid "section [%2d] '%s': cannot get symbol %d: %s\n"
-msgstr ""
-
-#: src/elflint.c:650 src/elflint.c:653 src/elflint.c:656 src/elflint.c:659
-#: src/elflint.c:662 src/elflint.c:665
-#, c-format
-msgid "section [%2d] '%s': '%s' in zeroth entry not zero\n"
-msgstr ""
-
-#: src/elflint.c:668
-#, c-format
-msgid "section [%2d] '%s': XINDEX for zeroth entry not zero\n"
-msgstr ""
-
-#: src/elflint.c:678
-#, c-format
-msgid "section [%2d] '%s': cannot get symbol %zu: %s\n"
-msgstr ""
-
-#: src/elflint.c:687
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: invalid name value\n"
-msgstr ""
-
-#: src/elflint.c:700
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: too large section index but no extended "
-"section index section\n"
-msgstr ""
-
-#: src/elflint.c:706
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: XINDEX used for index which would fit in "
-"st_shndx (%<PRIu32>)\n"
-msgstr ""
-
-#: src/elflint.c:718
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: invalid section index\n"
-msgstr ""
-
-#: src/elflint.c:726
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown type\n"
-msgstr ""
-
-#: src/elflint.c:732
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown symbol binding\n"
-msgstr ""
-
-#: src/elflint.c:737
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unique symbol not of object type\n"
-msgstr ""
-
-#: src/elflint.c:745
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: COMMON only allowed in relocatable files\n"
-msgstr ""
-
-#: src/elflint.c:749
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: local COMMON symbols are nonsense\n"
-msgstr ""
-
-#: src/elflint.c:753
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: function in COMMON section is nonsense\n"
-msgstr ""
-
-#: src/elflint.c:785
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: st_value out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:791 src/elflint.c:816 src/elflint.c:859
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu does not fit completely in referenced section "
-"[%2d] '%s'\n"
-msgstr ""
-
-#: src/elflint.c:800
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: referenced section [%2d] '%s' does not have "
-"SHF_TLS flag set\n"
-msgstr ""
-
-#: src/elflint.c:810 src/elflint.c:852
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: st_value out of bounds of referenced section "
-"[%2d] '%s'\n"
-msgstr ""
-
-#: src/elflint.c:837
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: TLS symbol but no TLS program header entry\n"
-msgstr ""
-
-#: src/elflint.c:845
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: st_value short of referenced section [%2d] '%"
-"s'\n"
-msgstr ""
-
-#: src/elflint.c:872
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: local symbol outside range described in "
-"sh_info\n"
-msgstr ""
-
-#: src/elflint.c:879
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: non-local symbol outside range described in "
-"sh_info\n"
-msgstr ""
-
-#: src/elflint.c:886
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: non-local section symbol\n"
-msgstr ""
-
-#: src/elflint.c:936
-#, c-format
-msgid ""
-"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to bad section [%"
-"2d]\n"
-msgstr ""
-
-#: src/elflint.c:943
-#, c-format
-msgid ""
-"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to section [%2d] '%"
-"s'\n"
-msgstr ""
-
-#: src/elflint.c:959
-#, c-format
-msgid ""
-"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol value %#<PRIx64> does not "
-"match %s section address %#<PRIx64>\n"
-msgstr ""
-
-#: src/elflint.c:966
-#, c-format
-msgid ""
-"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol size %<PRIu64> does not "
-"match %s section size %<PRIu64>\n"
-msgstr ""
-
-#: src/elflint.c:974
-#, c-format
-msgid ""
-"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol present, but no .got "
-"section\n"
-msgstr ""
-
-#: src/elflint.c:990
-#, c-format
-msgid ""
-"section [%2d] '%s': _DYNAMIC_ symbol value %#<PRIx64> does not match dynamic "
-"segment address %#<PRIx64>\n"
-msgstr ""
-
-#: src/elflint.c:997
-#, c-format
-msgid ""
-"section [%2d] '%s': _DYNAMIC symbol size %<PRIu64> does not match dynamic "
-"segment size %<PRIu64>\n"
-msgstr ""
-
-#: src/elflint.c:1010
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: symbol in dynamic symbol table with non-"
-"default visibility\n"
-msgstr ""
-
-#: src/elflint.c:1014
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown bit set in st_other\n"
-msgstr ""
-
-#: src/elflint.c:1059
-#, c-format
-msgid "section [%2d] '%s': DT_RELCOUNT used for this RELA section\n"
-msgstr ""
-
-#: src/elflint.c:1068 src/elflint.c:1120
-#, c-format
-msgid "section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"
-msgstr ""
-
-#: src/elflint.c:1093 src/elflint.c:1145
-#, c-format
-msgid ""
-"section [%2d] '%s': relative relocations after index %d as specified by "
-"DT_RELCOUNT\n"
-msgstr ""
-
-#: src/elflint.c:1099 src/elflint.c:1151
-#, c-format
-msgid ""
-"section [%2d] '%s': non-relative relocation at index %zu; DT_RELCOUNT "
-"specified %d relative relocations\n"
-msgstr ""
-
-#: src/elflint.c:1111
-#, c-format
-msgid "section [%2d] '%s': DT_RELACOUNT used for this REL section\n"
-msgstr ""
-
-#: src/elflint.c:1193
-#, c-format
-msgid "section [%2d] '%s': invalid destination section index\n"
-msgstr ""
-
-#: src/elflint.c:1206
-#, c-format
-msgid "section [%2d] '%s': invalid destination section type\n"
-msgstr ""
-
-#: src/elflint.c:1214
-#, c-format
-msgid "section [%2d] '%s': sh_info should be zero\n"
-msgstr ""
-
-#: src/elflint.c:1221
-#, c-format
-msgid "section [%2d] '%s': no relocations for merge-able sections possible\n"
-msgstr ""
-
-#: src/elflint.c:1228
-#, c-format
-msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n"
-msgstr ""
-
-#: src/elflint.c:1288
-#, c-format
-msgid "text relocation flag set but there is no read-only segment\n"
-msgstr ""
-
-#: src/elflint.c:1315
-#, c-format
-msgid "section [%2d] '%s': relocation %zu: invalid type\n"
-msgstr ""
-
-#: src/elflint.c:1323
-#, c-format
-msgid ""
-"section [%2d] '%s': relocation %zu: relocation type invalid for the file "
-"type\n"
-msgstr ""
-
-#: src/elflint.c:1331
-#, c-format
-msgid "section [%2d] '%s': relocation %zu: invalid symbol index\n"
-msgstr ""
-
-#: src/elflint.c:1349
-#, c-format
-msgid ""
-"section [%2d] '%s': relocation %zu: only symbol '_GLOBAL_OFFSET_TABLE_' can "
-"be used with %s\n"
-msgstr ""
-
-#: src/elflint.c:1366
-#, c-format
-msgid "section [%2d] '%s': relocation %zu: offset out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:1381
-#, c-format
-msgid ""
-"section [%2d] '%s': relocation %zu: copy relocation against symbol of type %"
-"s\n"
-msgstr ""
-
-#: src/elflint.c:1402
-#, c-format
-msgid ""
-"section [%2d] '%s': relocation %zu: read-only section modified but text "
-"relocation flag not set\n"
-msgstr ""
-
-#: src/elflint.c:1417
-#, c-format
-msgid "section [%2d] '%s': relocations are against loaded and unloaded data\n"
-msgstr ""
-
-#: src/elflint.c:1456 src/elflint.c:1506
-#, c-format
-msgid "section [%2d] '%s': cannot get relocation %zu: %s\n"
-msgstr ""
-
-#: src/elflint.c:1586
-#, c-format
-msgid "more than one dynamic section present\n"
-msgstr ""
-
-#: src/elflint.c:1604
-#, c-format
-msgid "section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"
-msgstr ""
-
-#: src/elflint.c:1609 src/elflint.c:1901
-#, c-format
-msgid "section [%2d] '%s': sh_info not zero\n"
-msgstr ""
-
-#: src/elflint.c:1619
-#, c-format
-msgid "section [%2d] '%s': cannot get dynamic section entry %zu: %s\n"
-msgstr ""
-
-#: src/elflint.c:1627
-#, c-format
-msgid "section [%2d] '%s': non-DT_NULL entries follow DT_NULL entry\n"
-msgstr ""
-
-#: src/elflint.c:1634
-#, c-format
-msgid "section [%2d] '%s': entry %zu: unknown tag\n"
-msgstr ""
-
-#: src/elflint.c:1645
-#, c-format
-msgid "section [%2d] '%s': entry %zu: more than one entry with tag %s\n"
-msgstr ""
-
-#: src/elflint.c:1655
-#, c-format
-msgid "section [%2d] '%s': entry %zu: level 2 tag %s used\n"
-msgstr ""
-
-#: src/elflint.c:1673
-#, c-format
-msgid ""
-"section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n"
-msgstr ""
-
-#: src/elflint.c:1695
-#, 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:1738
-#, c-format
-msgid ""
-"section [%2d] '%s': entry %zu: %s value must point into loaded segment\n"
-msgstr ""
-
-#: src/elflint.c:1753
-#, c-format
-msgid ""
-"section [%2d] '%s': entry %zu: %s value must be valid offset in section [%"
-"2d] '%s'\n"
-msgstr ""
-
-#: src/elflint.c:1773 src/elflint.c:1801
-#, c-format
-msgid "section [%2d] '%s': contains %s entry but not %s\n"
-msgstr ""
-
-#: src/elflint.c:1785
-#, c-format
-msgid "section [%2d] '%s': mandatory tag %s not present\n"
-msgstr ""
-
-#: src/elflint.c:1794
-#, c-format
-msgid "section [%2d] '%s': no hash section present\n"
-msgstr ""
-
-#: src/elflint.c:1809 src/elflint.c:1816
-#, c-format
-msgid "section [%2d] '%s': not all of %s, %s, and %s are present\n"
-msgstr ""
-
-#: src/elflint.c:1826 src/elflint.c:1830
-#, c-format
-msgid "section [%2d] '%s': %s tag missing in DSO marked during prelinking\n"
-msgstr ""
-
-#: src/elflint.c:1836
-#, c-format
-msgid "section [%2d] '%s': non-DSO file marked as dependency during prelink\n"
-msgstr ""
-
-#: src/elflint.c:1847 src/elflint.c:1851 src/elflint.c:1855 src/elflint.c:1859
-#, c-format
-msgid "section [%2d] '%s': %s tag missing in prelinked executable\n"
-msgstr ""
-
-#: src/elflint.c:1871
-#, c-format
-msgid ""
-"section [%2d] '%s': only relocatable files can have extended section index\n"
-msgstr ""
-
-#: src/elflint.c:1881
-#, c-format
-msgid ""
-"section [%2d] '%s': extended section index section not for symbol table\n"
-msgstr ""
-
-#: src/elflint.c:1886
-#, c-format
-msgid "cannot get data for symbol section\n"
-msgstr ""
-
-#: src/elflint.c:1889
-#, c-format
-msgid "section [%2d] '%s': entry size does not match Elf32_Word\n"
-msgstr ""
-
-#: src/elflint.c:1896
-#, c-format
-msgid "section [%2d] '%s': extended index table too small for symbol table\n"
-msgstr ""
-
-#: src/elflint.c:1911
-#, c-format
-msgid ""
-"section [%2d] '%s': extended section index in section [%2zu] '%s' refers to "
-"same symbol table\n"
-msgstr ""
-
-#: src/elflint.c:1922
-#, c-format
-msgid "symbol 0 should have zero extended section index\n"
-msgstr ""
-
-#: src/elflint.c:1934
-#, c-format
-msgid "cannot get data for symbol %zu\n"
-msgstr ""
-
-#: src/elflint.c:1939
-#, c-format
-msgid "extended section index is %<PRIu32> but symbol index is not XINDEX\n"
-msgstr ""
-
-#: src/elflint.c:1955 src/elflint.c:1996
-#, c-format
-msgid ""
-"section [%2d] '%s': hash table section is too small (is %ld, expected %ld)\n"
-msgstr ""
-
-#: src/elflint.c:1967 src/elflint.c:2008
-#, c-format
-msgid "section [%2d] '%s': chain array too large\n"
-msgstr ""
-
-#: src/elflint.c:1976 src/elflint.c:2017
-#, c-format
-msgid "section [%2d] '%s': hash bucket reference %zu out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:1982
-#, c-format
-msgid "section [%2d] '%s': hash chain reference %zu out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:2023
-#, c-format
-msgid "section [%2d] '%s': hash chain reference %<PRIu64> out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:2038
-#, c-format
-msgid "section [%2d] '%s': bitmask size not power of 2: %u\n"
-msgstr ""
-
-#: src/elflint.c:2049
-#, c-format
-msgid ""
-"section [%2d] '%s': hash table section is too small (is %ld, expected at "
-"least%ld)\n"
-msgstr ""
-
-#: src/elflint.c:2057
-#, c-format
-msgid "section [%2d] '%s': 2nd hash function shift too big: %u\n"
-msgstr ""
-
-#: src/elflint.c:2089
-#, c-format
-msgid ""
-"section [%2d] '%s': hash chain for bucket %zu lower than symbol index bias\n"
-msgstr ""
-
-#: src/elflint.c:2110
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %u referenced in chain for bucket %zu is "
-"undefined\n"
-msgstr ""
-
-#: src/elflint.c:2121
-#, c-format
-msgid ""
-"section [%2d] '%s': hash value for symbol %u in chain for bucket %zu wrong\n"
-msgstr ""
-
-#: src/elflint.c:2152
-#, c-format
-msgid "section [%2d] '%s': hash chain for bucket %zu out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:2157
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol reference in chain for bucket %zu out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:2163
-#, c-format
-msgid "section [%2d] '%s': bitmask does not match names in the hash table\n"
-msgstr ""
-
-#: src/elflint.c:2176
-#, c-format
-msgid "section [%2d] '%s': relocatable files cannot have hash tables\n"
-msgstr ""
-
-#: src/elflint.c:2194
-#, c-format
-msgid "section [%2d] '%s': hash table not for dynamic symbol table\n"
-msgstr ""
-
-#: src/elflint.c:2202
-#, c-format
-msgid "section [%2d] '%s': hash table entry size incorrect\n"
-msgstr ""
-
-#: src/elflint.c:2207
-#, c-format
-msgid "section [%2d] '%s': not marked to be allocated\n"
-msgstr ""
-
-#: src/elflint.c:2212
-#, c-format
-msgid ""
-"section [%2d] '%s': hash table has not even room for initial administrative "
-"entries\n"
-msgstr ""
-
-#: src/elflint.c:2260
-#, c-format
-msgid "sh_link in hash sections [%2zu] '%s' and [%2zu] '%s' not identical\n"
-msgstr ""
-
-#: src/elflint.c:2338 src/elflint.c:2342
-#, c-format
-msgid "section [%2zu] '%s': reference to symbol index 0\n"
-msgstr ""
-
-#: src/elflint.c:2349
-#, 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:2361
-#, 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:2377
-#, c-format
-msgid "section [%2d] '%s': nonzero sh_%s for NULL section\n"
-msgstr ""
-
-#: src/elflint.c:2397
-#, c-format
-msgid ""
-"section [%2d] '%s': section groups only allowed in relocatable object files\n"
-msgstr ""
-
-#: src/elflint.c:2408
-#, c-format
-msgid "section [%2d] '%s': cannot get symbol table: %s\n"
-msgstr ""
-
-#: src/elflint.c:2413
-#, c-format
-msgid "section [%2d] '%s': section reference in sh_link is no symbol table\n"
-msgstr ""
-
-#: src/elflint.c:2419
-#, c-format
-msgid "section [%2d] '%s': invalid symbol index in sh_info\n"
-msgstr ""
-
-#: src/elflint.c:2424
-#, c-format
-msgid "section [%2d] '%s': sh_flags not zero\n"
-msgstr ""
-
-#: src/elflint.c:2431
-#, c-format
-msgid "section [%2d] '%s': cannot get symbol for signature\n"
-msgstr ""
-
-#: src/elflint.c:2436
-#, c-format
-msgid "section [%2d] '%s': signature symbol cannot be empty string\n"
-msgstr ""
-
-#: src/elflint.c:2442
-#, c-format
-msgid "section [%2d] '%s': sh_flags not set correctly\n"
-msgstr ""
-
-#: src/elflint.c:2448
-#, c-format
-msgid "section [%2d] '%s': cannot get data: %s\n"
-msgstr ""
-
-#: src/elflint.c:2457
-#, c-format
-msgid "section [%2d] '%s': section size not multiple of sizeof(Elf32_Word)\n"
-msgstr ""
-
-#: src/elflint.c:2462
-#, c-format
-msgid "section [%2d] '%s': section group without flags word\n"
-msgstr ""
-
-#: src/elflint.c:2468
-#, c-format
-msgid "section [%2d] '%s': section group without member\n"
-msgstr ""
-
-#: src/elflint.c:2472
-#, c-format
-msgid "section [%2d] '%s': section group with only one member\n"
-msgstr ""
-
-#: src/elflint.c:2483
-#, c-format
-msgid "section [%2d] '%s': unknown section group flags\n"
-msgstr ""
-
-#: src/elflint.c:2495
-#, c-format
-msgid "section [%2d] '%s': section index %Zu out of range\n"
-msgstr ""
-
-#: src/elflint.c:2504
-#, c-format
-msgid "section [%2d] '%s': cannot get section header for element %zu: %s\n"
-msgstr ""
-
-#: src/elflint.c:2511
-#, c-format
-msgid "section [%2d] '%s': section group contains another group [%2d] '%s'\n"
-msgstr ""
-
-#: src/elflint.c:2517
-#, c-format
-msgid ""
-"section [%2d] '%s': element %Zu references section [%2d] '%s' without "
-"SHF_GROUP flag set\n"
-msgstr ""
-
-#: src/elflint.c:2524
-#, c-format
-msgid "section [%2d] '%s' is contained in more than one section group\n"
-msgstr ""
-
-#: src/elflint.c:2713
-#, 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:2724
-#, c-format
-msgid ""
-"section [%2d] '%s' has different number of entries than symbol table [%2d] '%"
-"s'\n"
-msgstr ""
-
-#: src/elflint.c:2740
-#, c-format
-msgid "section [%2d] '%s': symbol %d: cannot read version data\n"
-msgstr ""
-
-#: src/elflint.c:2756
-#, c-format
-msgid "section [%2d] '%s': symbol %d: local symbol with global scope\n"
-msgstr ""
-
-#: src/elflint.c:2764
-#, c-format
-msgid "section [%2d] '%s': symbol %d: local symbol with version\n"
-msgstr ""
-
-#: src/elflint.c:2778
-#, c-format
-msgid "section [%2d] '%s': symbol %d: invalid version index %d\n"
-msgstr ""
-
-#: src/elflint.c:2783
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %d: version index %d is for defined version\n"
-msgstr ""
-
-#: src/elflint.c:2793
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %d: version index %d is for requested version\n"
-msgstr ""
-
-#: src/elflint.c:2845
-#, c-format
-msgid "more than one version reference section present\n"
-msgstr ""
-
-#: src/elflint.c:2853 src/elflint.c:2982
-#, c-format
-msgid "section [%2d] '%s': sh_link does not link to string table\n"
-msgstr ""
-
-#: src/elflint.c:2876 src/elflint.c:3034
-#, c-format
-msgid "section [%2d] '%s': entry %d has wrong version %d\n"
-msgstr ""
-
-#: src/elflint.c:2882 src/elflint.c:3040
-#, c-format
-msgid "section [%2d] '%s': entry %d has wrong offset of auxiliary data\n"
-msgstr ""
-
-#: src/elflint.c:2890
-#, c-format
-msgid "section [%2d] '%s': entry %d has invalid file reference\n"
-msgstr ""
-
-#: src/elflint.c:2898
-#, c-format
-msgid "section [%2d] '%s': entry %d references unknown dependency\n"
-msgstr ""
-
-#: src/elflint.c:2910
-#, c-format
-msgid "section [%2d] '%s': auxiliary entry %d of entry %d has unknown flag\n"
-msgstr ""
-
-#: src/elflint.c:2917
-#, c-format
-msgid ""
-"section [%2d] '%s': auxiliary entry %d of entry %d has invalid name "
-"reference\n"
-msgstr ""
-
-#: src/elflint.c:2924
-#, c-format
-msgid ""
-"section [%2d] '%s': auxiliary entry %d of entry %d has wrong hash value: %"
-"#x, expected %#x\n"
-msgstr ""
-
-#: src/elflint.c:2934
-#, c-format
-msgid ""
-"section [%2d] '%s': auxiliary entry %d of entry %d has duplicate version "
-"name '%s'\n"
-msgstr ""
-
-#: src/elflint.c:2945
-#, c-format
-msgid ""
-"section [%2d] '%s': auxiliary entry %d of entry %d has wrong next field\n"
-msgstr ""
-
-#: src/elflint.c:2961 src/elflint.c:3119
-#, c-format
-msgid "section [%2d] '%s': entry %d has invalid offset to next entry\n"
-msgstr ""
-
-#: src/elflint.c:2974
-#, c-format
-msgid "more than one version definition section present\n"
-msgstr ""
-
-#: src/elflint.c:3019
-#, c-format
-msgid "section [%2d] '%s': more than one BASE definition\n"
-msgstr ""
-
-#: src/elflint.c:3023
-#, c-format
-msgid "section [%2d] '%s': BASE definition must have index VER_NDX_GLOBAL\n"
-msgstr ""
-
-#: src/elflint.c:3029
-#, c-format
-msgid "section [%2d] '%s': entry %d has unknown flag\n"
-msgstr ""
-
-#: src/elflint.c:3053
-#, c-format
-msgid "section [%2d] '%s': entry %d has invalid name reference\n"
-msgstr ""
-
-#: src/elflint.c:3060
-#, c-format
-msgid "section [%2d] '%s': entry %d has wrong hash value: %#x, expected %#x\n"
-msgstr ""
-
-#: src/elflint.c:3069
-#, c-format
-msgid "section [%2d] '%s': entry %d has duplicate version name '%s'\n"
-msgstr ""
-
-#: src/elflint.c:3088
-#, c-format
-msgid ""
-"section [%2d] '%s': entry %d has invalid name reference in auxiliary data\n"
-msgstr ""
-
-#: src/elflint.c:3103
-#, c-format
-msgid "section [%2d] '%s': entry %d has wrong next field in auxiliary data\n"
-msgstr ""
-
-#: src/elflint.c:3125
-#, c-format
-msgid "section [%2d] '%s': no BASE definition\n"
-msgstr ""
-
-#: src/elflint.c:3141
-#, c-format
-msgid "section [%2d] '%s': unknown parent version '%s'\n"
-msgstr ""
-
-#: src/elflint.c:3154
-#, c-format
-msgid "section [%2d] '%s': empty object attributes section\n"
-msgstr ""
-
-#: src/elflint.c:3175
-#, c-format
-msgid "section [%2d] '%s': unrecognized attribute format\n"
-msgstr ""
-
-#: src/elflint.c:3191
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: zero length field in attribute section\n"
-msgstr ""
-
-#: src/elflint.c:3200
-#, c-format
-msgid "section [%2d] '%s': offset %zu: invalid length in attribute section\n"
-msgstr ""
-
-#: src/elflint.c:3212
-#, c-format
-msgid "section [%2d] '%s': offset %zu: unterminated vendor name string\n"
-msgstr ""
-
-#: src/elflint.c:3229
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: endless ULEB128 in attribute subsection tag\n"
-msgstr ""
-
-#: src/elflint.c:3238
-#, c-format
-msgid "section [%2d] '%s': offset %zu: truncated attribute section\n"
-msgstr ""
-
-#: src/elflint.c:3247
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: zero length field in attribute subsection\n"
-msgstr ""
-
-#: src/elflint.c:3260
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: invalid length in attribute subsection\n"
-msgstr ""
-
-#: src/elflint.c:3271
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: attribute subsection has unexpected tag %u\n"
-msgstr ""
-
-#: src/elflint.c:3289
-#, c-format
-msgid "section [%2d] '%s': offset %zu: endless ULEB128 in attribute tag\n"
-msgstr ""
-
-#: src/elflint.c:3300
-#, c-format
-msgid "section [%2d] '%s': offset %zu: unterminated string in attribute\n"
-msgstr ""
-
-#: src/elflint.c:3313
-#, c-format
-msgid "section [%2d] '%s': offset %zu: unrecognized attribute tag %u\n"
-msgstr ""
-
-#: src/elflint.c:3317
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: unrecognized %s attribute value %<PRIu64>\n"
-msgstr ""
-
-#: src/elflint.c:3327
-#, c-format
-msgid "section [%2d] '%s': offset %zu: vendor '%s' unknown\n"
-msgstr ""
-
-#: src/elflint.c:3333
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: extra bytes after last attribute section\n"
-msgstr ""
-
-#: src/elflint.c:3422
-#, c-format
-msgid "cannot get section header of zeroth section\n"
-msgstr ""
-
-#: src/elflint.c:3426
-#, c-format
-msgid "zeroth section has nonzero name\n"
-msgstr ""
-
-#: src/elflint.c:3428
-#, c-format
-msgid "zeroth section has nonzero type\n"
-msgstr ""
-
-#: src/elflint.c:3430
-#, c-format
-msgid "zeroth section has nonzero flags\n"
-msgstr ""
-
-#: src/elflint.c:3432
-#, c-format
-msgid "zeroth section has nonzero address\n"
-msgstr ""
-
-#: src/elflint.c:3434
-#, c-format
-msgid "zeroth section has nonzero offset\n"
-msgstr ""
-
-#: src/elflint.c:3436
-#, c-format
-msgid "zeroth section has nonzero align value\n"
-msgstr ""
-
-#: src/elflint.c:3438
-#, c-format
-msgid "zeroth section has nonzero entry size value\n"
-msgstr ""
-
-#: src/elflint.c:3441
-#, c-format
-msgid ""
-"zeroth section has nonzero size value while ELF header has nonzero shnum "
-"value\n"
-msgstr ""
-
-#: src/elflint.c:3445
-#, c-format
-msgid ""
-"zeroth section has nonzero link value while ELF header does not signal "
-"overflow in shstrndx\n"
-msgstr ""
-
-#: src/elflint.c:3449
-#, c-format
-msgid ""
-"zeroth section has nonzero link value while ELF header does not signal "
-"overflow in phnum\n"
-msgstr ""
-
-#: src/elflint.c:3466
-#, c-format
-msgid "cannot get section header for section [%2zu] '%s': %s\n"
-msgstr ""
-
-#: src/elflint.c:3475
-#, c-format
-msgid "section [%2zu]: invalid name\n"
-msgstr ""
-
-#: src/elflint.c:3502
-#, c-format
-msgid "section [%2d] '%s' has wrong type: expected %s, is %s\n"
-msgstr ""
-
-#: src/elflint.c:3518
-#, c-format
-msgid "section [%2zu] '%s' has wrong flags: expected %s, is %s\n"
-msgstr ""
-
-#: src/elflint.c:3535
-#, c-format
-msgid ""
-"section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n"
-msgstr ""
-
-#: src/elflint.c:3553
-#, c-format
-msgid "section [%2zu] '%s' present in object file\n"
-msgstr ""
-
-#: src/elflint.c:3559 src/elflint.c:3591
-#, c-format
-msgid ""
-"section [%2zu] '%s' has SHF_ALLOC flag set but there is no loadable segment\n"
-msgstr ""
-
-#: src/elflint.c:3564 src/elflint.c:3596
-#, c-format
-msgid ""
-"section [%2zu] '%s' has SHF_ALLOC flag not set but there are loadable "
-"segments\n"
-msgstr ""
-
-#: src/elflint.c:3572
-#, c-format
-msgid ""
-"section [%2zu] '%s' is extension section index table in non-object file\n"
-msgstr ""
-
-#: src/elflint.c:3615
-#, c-format
-msgid "section [%2zu] '%s': size not multiple of entry size\n"
-msgstr ""
-
-#: src/elflint.c:3620
-#, c-format
-msgid "cannot get section header\n"
-msgstr ""
-
-#: src/elflint.c:3630
-#, c-format
-msgid "section [%2zu] '%s' has unsupported type %d\n"
-msgstr ""
-
-#: src/elflint.c:3644
-#, c-format
-msgid ""
-"section [%2zu] '%s' contains invalid processor-specific flag(s) %#<PRIx64>\n"
-msgstr ""
-
-#: src/elflint.c:3651
-#, c-format
-msgid "section [%2zu] '%s' contains unknown flag(s) %#<PRIx64>\n"
-msgstr ""
-
-#: src/elflint.c:3659
-#, c-format
-msgid "section [%2zu] '%s': thread-local data sections address not zero\n"
-msgstr ""
-
-#: src/elflint.c:3667
-#, c-format
-msgid "section [%2zu] '%s': invalid section reference in link value\n"
-msgstr ""
-
-#: src/elflint.c:3672
-#, c-format
-msgid "section [%2zu] '%s': invalid section reference in info value\n"
-msgstr ""
-
-#: src/elflint.c:3679
-#, c-format
-msgid "section [%2zu] '%s': strings flag set without merge flag\n"
-msgstr ""
-
-#: src/elflint.c:3684
-#, c-format
-msgid "section [%2zu] '%s': merge flag set but entry size is zero\n"
-msgstr ""
-
-#: src/elflint.c:3702
-#, c-format
-msgid "section [%2zu] '%s' has unexpected type %d for an executable section\n"
-msgstr ""
-
-#: src/elflint.c:3711
-#, c-format
-msgid "section [%2zu] '%s' is both executable and writable\n"
-msgstr ""
-
-#: src/elflint.c:3738
-#, c-format
-msgid ""
-"section [%2zu] '%s' not fully contained in segment of program header entry %"
-"d\n"
-msgstr ""
-
-#: src/elflint.c:3746
-#, 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:3755
-#, 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:3766
-#, c-format
-msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n"
-msgstr ""
-
-#: src/elflint.c:3776
-#, c-format
-msgid "section [%2zu] '%s' is writable in unwritable segment %d\n"
-msgstr ""
-
-#: src/elflint.c:3786
-#, c-format
-msgid ""
-"section [%2zu] '%s': alloc flag set but section not in any loaded segment\n"
-msgstr ""
-
-#: src/elflint.c:3792
-#, 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:3800
-#, c-format
-msgid ""
-"section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n"
-msgstr ""
-
-#: src/elflint.c:3851
-#, c-format
-msgid "more than one version symbol table present\n"
-msgstr ""
-
-#: src/elflint.c:3874
-#, c-format
-msgid "INTERP program header entry but no .interp section\n"
-msgstr ""
-
-#: src/elflint.c:3885
-#, c-format
-msgid ""
-"loadable segment [%u] is executable but contains no executable sections\n"
-msgstr ""
-
-#: src/elflint.c:3891
-#, c-format
-msgid "loadable segment [%u] is writable but contains no writable sections\n"
-msgstr ""
-
-#: src/elflint.c:3902
-#, c-format
-msgid ""
-"no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section "
-"exist\n"
-msgstr ""
-
-#: src/elflint.c:3915
-#, c-format
-msgid "duplicate version index %d\n"
-msgstr ""
-
-#: src/elflint.c:3929
-#, c-format
-msgid ".gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n"
-msgstr ""
-
-#: src/elflint.c:3978
-#, c-format
-msgid "phdr[%d]: unknown core file note type %<PRIu32> at offset %<PRIu64>\n"
-msgstr ""
-
-#: src/elflint.c:3982
-#, c-format
-msgid ""
-"section [%2d] '%s': unknown core file note type %<PRIu32> at offset %Zu\n"
-msgstr ""
-
-#: src/elflint.c:4005
-#, c-format
-msgid "phdr[%d]: unknown object file note type %<PRIu32> at offset %Zu\n"
-msgstr ""
-
-#: src/elflint.c:4009
-#, c-format
-msgid ""
-"section [%2d] '%s': unknown object file note type %<PRIu32> at offset %Zu\n"
-msgstr ""
-
-#: src/elflint.c:4026
-#, c-format
-msgid "phdr[%d]: no note entries defined for the type of file\n"
-msgstr ""
-
-#: src/elflint.c:4045
-#, c-format
-msgid "phdr[%d]: cannot get content of note section: %s\n"
-msgstr ""
-
-#: src/elflint.c:4048
-#, c-format
-msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n"
-msgstr ""
-
-#: src/elflint.c:4069
-#, c-format
-msgid "section [%2d] '%s': no note entries defined for the type of file\n"
-msgstr ""
-
-#: src/elflint.c:4076
-#, c-format
-msgid "section [%2d] '%s': cannot get content of note section\n"
-msgstr ""
-
-#: src/elflint.c:4079
-#, c-format
-msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n"
-msgstr ""
-
-#: src/elflint.c:4097
-#, c-format
-msgid ""
-"only executables, shared objects, and core files can have program headers\n"
-msgstr ""
-
-#: src/elflint.c:4112
-#, c-format
-msgid "cannot get program header entry %d: %s\n"
-msgstr ""
-
-#: src/elflint.c:4121
-#, c-format
-msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n"
-msgstr ""
-
-#: src/elflint.c:4132
-#, c-format
-msgid "more than one INTERP entry in program header\n"
-msgstr ""
-
-#: src/elflint.c:4140
-#, c-format
-msgid "more than one TLS entry in program header\n"
-msgstr ""
-
-#: src/elflint.c:4147
-#, c-format
-msgid "static executable cannot have dynamic sections\n"
-msgstr ""
-
-#: src/elflint.c:4161
-#, c-format
-msgid "dynamic section reference in program header has wrong offset\n"
-msgstr ""
-
-#: src/elflint.c:4164
-#, c-format
-msgid "dynamic section size mismatch in program and section header\n"
-msgstr ""
-
-#: src/elflint.c:4174
-#, c-format
-msgid "more than one GNU_RELRO entry in program header\n"
-msgstr ""
-
-#: src/elflint.c:4195
-#, c-format
-msgid "loadable segment GNU_RELRO applies to is not writable\n"
-msgstr ""
-
-#: src/elflint.c:4198
-#, c-format
-msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n"
-msgstr ""
-
-#: src/elflint.c:4206 src/elflint.c:4229
-#, c-format
-msgid "%s segment not contained in a loaded segment\n"
-msgstr ""
-
-#: src/elflint.c:4235
-#, c-format
-msgid "program header offset in ELF header and PHDR entry do not match"
-msgstr ""
-
-#: src/elflint.c:4259
-#, c-format
-msgid "call frame search table reference in program header has wrong offset\n"
-msgstr ""
-
-#: src/elflint.c:4262
-#, c-format
-msgid "call frame search table size mismatch in program and section header\n"
-msgstr ""
-
-#: src/elflint.c:4275
-#, c-format
-msgid "PT_GNU_EH_FRAME present but no .eh_frame_hdr section\n"
-msgstr ""
-
-#: src/elflint.c:4283
-#, c-format
-msgid "call frame search table must be allocated\n"
-msgstr ""
-
-#: src/elflint.c:4286
-#, c-format
-msgid "section [%2zu] '%s' must be allocated\n"
-msgstr ""
-
-#: src/elflint.c:4290
-#, c-format
-msgid "call frame search table must not be writable\n"
-msgstr ""
-
-#: src/elflint.c:4293
-#, c-format
-msgid "section [%2zu] '%s' must not be writable\n"
-msgstr ""
-
-#: src/elflint.c:4298
-#, c-format
-msgid "call frame search table must not be executable\n"
-msgstr ""
-
-#: src/elflint.c:4301
-#, c-format
-msgid "section [%2zu] '%s' must not be executable\n"
-msgstr ""
-
-#: src/elflint.c:4312
-#, c-format
-msgid "program header entry %d: file size greater than memory size\n"
-msgstr ""
-
-#: src/elflint.c:4319
-#, c-format
-msgid "program header entry %d: alignment not a power of 2\n"
-msgstr ""
-
-#: src/elflint.c:4322
-#, c-format
-msgid ""
-"program header entry %d: file offset and virtual address not module of "
-"alignment\n"
-msgstr ""
-
-#: src/elflint.c:4335
-#, 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:4369
-#, c-format
-msgid "cannot read ELF header: %s\n"
-msgstr ""
-
-#: src/elflint.c:4395
-#, c-format
-msgid "text relocation flag set but not needed\n"
-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 ""
-
-#: src/findtextrel.c:80
-msgid "Locate source of text relocations in FILEs (a.out by default)."
-msgstr ""
-
-#: src/findtextrel.c:84 src/nm.c:111 src/objdump.c:80 src/size.c:92
-#: src/strings.c:92 src/strip.c:97
-msgid "[FILE...]"
-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/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/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 archives 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 ""
-
-#: src/ld.c:197
-msgid "Combine object and archive files."
-msgstr ""
-
-#: 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 ""
-
-#: 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:661 src/ldgeneric.c:1122 src/readelf.c:629 src/strip.c:543
-#, c-format
-msgid "cannot determine number of sections: %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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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:1808
-#, 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 ""
-
-#: 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/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' is declared both local and global for unnamed version"
-msgstr ""
-
-#: src/ldscript.y:747
-#, c-format
-msgid "symbol '%s' is 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/nm.c:74 src/strip.c:73
-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:78 src/unstrip.c:81
-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:108
-msgid "List symbols from FILEs (a.out by default)."
-msgstr ""
-
-#: src/nm.c:136 src/objdump.c:105 src/size.c:117 src/strip.c:121
-#, c-format
-msgid "%s: INTERNAL ERROR %d (%s-%s): %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:1816
-#, c-format
-msgid "while closing '%s'"
-msgstr ""
-
-#: src/nm.c:402 src/objdump.c:296 src/strip.c:359
-#, c-format
-msgid "%s: File format not recognized"
-msgstr ""
-
-#: 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/objdump.c:744 src/readelf.c:885
-#: src/readelf.c:1028 src/readelf.c:1169 src/readelf.c:1351 src/readelf.c:1549
-#: src/readelf.c:1735 src/readelf.c:1945 src/readelf.c:2199 src/readelf.c:2265
-#: src/readelf.c:2343 src/readelf.c:2841 src/readelf.c:2877 src/readelf.c:2939
-#: src/readelf.c:6493 src/readelf.c:7387 src/readelf.c:7534 src/readelf.c:7604
-#: src/size.c:425 src/size.c:499 src/strip.c:483
-#, 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 ""
-
-#: src/nm.c:768
-#, c-format
-msgid ""
-"\n"
-"\n"
-"Symbols from %s[%s]:\n"
-"\n"
-msgstr ""
-
-#: 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 ""
-
-#: 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/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 ""
-
-#: src/objdump.c:76
-msgid "Show information from FILEs (a.out by default)."
-msgstr ""
-
-#: src/objdump.c:236 src/readelf.c:430
-msgid "No operation specified.\n"
-msgstr ""
-
-#: src/objdump.c:274 src/objdump.c:286
-#, c-format
-msgid "while close `%s'"
-msgstr ""
-
-#: src/objdump.c:379 src/readelf.c:1644 src/readelf.c:1818
-msgid "INVALID SYMBOL"
-msgstr ""
-
-#: src/objdump.c:394 src/readelf.c:1675 src/readelf.c:1851
-msgid "INVALID SECTION"
-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 ""
-
-#: src/ranlib.c:74
-msgid "Generate an index to speed access to archives."
-msgstr ""
-
-#: 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/readelf.c:73
-msgid "ELF output selection:"
-msgstr ""
-
-#: src/readelf.c:75
-msgid "All these plus -p .strtab -p .dynstr -p .comment"
-msgstr ""
-
-#: src/readelf.c:76
-msgid "Display the dynamic segment"
-msgstr ""
-
-#: src/readelf.c:77
-msgid "Display the ELF file header"
-msgstr ""
-
-#: src/readelf.c:79
-msgid "Display histogram of bucket list lengths"
-msgstr ""
-
-#: src/readelf.c:80
-msgid "Display the program headers"
-msgstr ""
-
-#: src/readelf.c:82
-msgid "Display relocations"
-msgstr ""
-
-#: src/readelf.c:83
-msgid "Display the sections' headers"
-msgstr ""
-
-#: src/readelf.c:85
-msgid "Display the symbol table"
-msgstr ""
-
-#: src/readelf.c:86
-msgid "Display versioning information"
-msgstr ""
-
-#: src/readelf.c:87
-msgid "Display the ELF notes"
-msgstr ""
-
-#: src/readelf.c:89
-msgid "Display architecture specific information, if any"
-msgstr ""
-
-#: src/readelf.c:91
-msgid "Display sections for exception handling"
-msgstr ""
-
-#: src/readelf.c:93
-msgid "Additional output selection:"
-msgstr ""
-
-#: src/readelf.c:95
-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:99
-msgid "Dump the uninterpreted contents of SECTION, by number or name"
-msgstr ""
-
-#: src/readelf.c:101
-msgid "Print string contents of sections"
-msgstr ""
-
-#: src/readelf.c:104
-msgid "Display the symbol index of an archive"
-msgstr ""
-
-#: src/readelf.c:106
-msgid "Output control:"
-msgstr ""
-
-#: src/readelf.c:108
-msgid "Do not find symbol names for addresses in DWARF data"
-msgstr ""
-
-#: src/readelf.c:114
-msgid "Print information from ELF file in human-readable form."
-msgstr ""
-
-#: src/readelf.c:401
-#, c-format
-msgid "Unknown DWARF debug section `%s'.\n"
-msgstr ""
-
-#: src/readelf.c:465
-#, c-format
-msgid "cannot generate Elf descriptor: %s"
-msgstr ""
-
-#: src/readelf.c:477
-#, c-format
-msgid "'%s' is not an archive, cannot print archive index"
-msgstr ""
-
-#: src/readelf.c:482
-#, c-format
-msgid "error while closing Elf descriptor: %s"
-msgstr ""
-
-#: src/readelf.c:574
-#, c-format
-msgid "cannot stat input file"
-msgstr ""
-
-#: src/readelf.c:576
-#, c-format
-msgid "input file is empty"
-msgstr ""
-
-#: src/readelf.c:578
-#, c-format
-msgid "failed reading '%s': %s"
-msgstr ""
-
-#: src/readelf.c:614
-#, c-format
-msgid "cannot read ELF header: %s"
-msgstr ""
-
-#: src/readelf.c:622
-#, c-format
-msgid "cannot create EBL handle"
-msgstr ""
-
-#: src/readelf.c:635
-#, c-format
-msgid "cannot determine number of program headers: %s"
-msgstr ""
-
-#: src/readelf.c:721
-msgid "NONE (None)"
-msgstr ""
-
-#: src/readelf.c:722
-msgid "REL (Relocatable file)"
-msgstr ""
-
-#: src/readelf.c:723
-msgid "EXEC (Executable file)"
-msgstr ""
-
-#: src/readelf.c:724
-msgid "DYN (Shared object file)"
-msgstr ""
-
-#: src/readelf.c:725
-msgid "CORE (Core file)"
-msgstr ""
-
-#: src/readelf.c:730
-#, c-format
-msgid "OS Specific: (%x)\n"
-msgstr ""
-
-#: src/readelf.c:732
-#, c-format
-msgid "Processor Specific: (%x)\n"
-msgstr ""
-
-#: src/readelf.c:742
-msgid ""
-"ELF Header:\n"
-"  Magic:  "
-msgstr ""
-
-#: src/readelf.c:746
-#, c-format
-msgid ""
-"\n"
-"  Class:                             %s\n"
-msgstr ""
-
-#: src/readelf.c:751
-#, c-format
-msgid "  Data:                              %s\n"
-msgstr ""
-
-#: src/readelf.c:757
-#, c-format
-msgid "  Ident Version:                     %hhd %s\n"
-msgstr ""
-
-#: src/readelf.c:759 src/readelf.c:776
-msgid "(current)"
-msgstr ""
-
-#: src/readelf.c:763
-#, c-format
-msgid "  OS/ABI:                            %s\n"
-msgstr ""
-
-#: src/readelf.c:766
-#, c-format
-msgid "  ABI Version:                       %hhd\n"
-msgstr ""
-
-#: src/readelf.c:769
-msgid "  Type:                              "
-msgstr ""
-
-#: src/readelf.c:772
-#, c-format
-msgid "  Machine:                           %s\n"
-msgstr ""
-
-#: src/readelf.c:774
-#, c-format
-msgid "  Version:                           %d %s\n"
-msgstr ""
-
-#: src/readelf.c:778
-#, c-format
-msgid "  Entry point address:               %#<PRIx64>\n"
-msgstr ""
-
-#: src/readelf.c:781
-#, c-format
-msgid "  Start of program headers:          %<PRId64> %s\n"
-msgstr ""
-
-#: src/readelf.c:782 src/readelf.c:785
-msgid "(bytes into file)"
-msgstr ""
-
-#: src/readelf.c:784
-#, c-format
-msgid "  Start of section headers:          %<PRId64> %s\n"
-msgstr ""
-
-#: src/readelf.c:787
-#, c-format
-msgid "  Flags:                             %s\n"
-msgstr ""
-
-#: src/readelf.c:790
-#, c-format
-msgid "  Size of this header:               %<PRId16> %s\n"
-msgstr ""
-
-#: src/readelf.c:791 src/readelf.c:794 src/readelf.c:811
-msgid "(bytes)"
-msgstr ""
-
-#: src/readelf.c:793
-#, c-format
-msgid "  Size of program header entries:    %<PRId16> %s\n"
-msgstr ""
-
-#: src/readelf.c:796
-#, c-format
-msgid "  Number of program headers entries: %<PRId16>"
-msgstr ""
-
-#: src/readelf.c:803
-#, c-format
-msgid " (%<PRIu32> in [0].sh_info)"
-msgstr ""
-
-#: src/readelf.c:806 src/readelf.c:823 src/readelf.c:837
-msgid " ([0] not available)"
-msgstr ""
-
-#: src/readelf.c:810
-#, c-format
-msgid "  Size of section header entries:    %<PRId16> %s\n"
-msgstr ""
-
-#: src/readelf.c:813
-#, c-format
-msgid "  Number of section headers entries: %<PRId16>"
-msgstr ""
-
-#: src/readelf.c:820
-#, c-format
-msgid " (%<PRIu32> in [0].sh_size)"
-msgstr ""
-
-#: src/readelf.c:833
-#, c-format
-msgid " (%<PRIu32> in [0].sh_link)"
-msgstr ""
-
-#: src/readelf.c:841
-#, c-format
-msgid ""
-"  Section header string table index: XINDEX%s\n"
-"\n"
-msgstr ""
-
-#: src/readelf.c:845
-#, c-format
-msgid ""
-"  Section header string table index: %<PRId16>\n"
-"\n"
-msgstr ""
-
-#: src/readelf.c:877
-#, c-format
-msgid ""
-"There are %d section headers, starting at offset %#<PRIx64>:\n"
-"\n"
-msgstr ""
-
-#: src/readelf.c:887
-msgid "Section Headers:"
-msgstr ""
-
-#: src/readelf.c:890
-msgid ""
-"[Nr] Name                 Type         Addr     Off    Size   ES Flags Lk "
-"Inf Al"
-msgstr ""
-
-#: src/readelf.c:892
-msgid ""
-"[Nr] Name                 Type         Addr             Off      Size     ES "
-"Flags Lk Inf Al"
-msgstr ""
-
-#: src/readelf.c:899 src/readelf.c:1052
-#, c-format
-msgid "cannot get section: %s"
-msgstr ""
-
-#: src/readelf.c:906 src/readelf.c:1060 src/readelf.c:7554 src/unstrip.c:353
-#: src/unstrip.c:377 src/unstrip.c:427 src/unstrip.c:536 src/unstrip.c:553
-#: src/unstrip.c:591 src/unstrip.c:789 src/unstrip.c:1057 src/unstrip.c:1244
-#: src/unstrip.c:1305 src/unstrip.c:1427 src/unstrip.c:1480 src/unstrip.c:1588
-#: src/unstrip.c:1778
-#, c-format
-msgid "cannot get section header: %s"
-msgstr ""
-
-#: src/readelf.c:964
-msgid "Program Headers:"
-msgstr ""
-
-#: src/readelf.c:966
-msgid ""
-"  Type           Offset   VirtAddr   PhysAddr   FileSiz  MemSiz   Flg Align"
-msgstr ""
-
-#: src/readelf.c:969
-msgid ""
-"  Type           Offset   VirtAddr           PhysAddr           FileSiz  "
-"MemSiz   Flg Align"
-msgstr ""
-
-#: src/readelf.c:1009
-#, c-format
-msgid "\t[Requesting program interpreter: %s]\n"
-msgstr ""
-
-#: src/readelf.c:1030
-msgid ""
-"\n"
-" Section to Segment mapping:\n"
-"  Segment Sections..."
-msgstr ""
-
-#: src/readelf.c:1041 src/unstrip.c:1824 src/unstrip.c:1863 src/unstrip.c:1870
-#, c-format
-msgid "cannot get program header: %s"
-msgstr ""
-
-#: src/readelf.c:1175
-#, 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:1180
-#, 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:1188
-msgid "<INVALID SYMBOL>"
-msgstr ""
-
-#: src/readelf.c:1202
-msgid "<INVALID SECTION>"
-msgstr ""
-
-#: src/readelf.c:1353
-#, 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:1365
-msgid "  Type              Value\n"
-msgstr ""
-
-#: src/readelf.c:1389
-#, c-format
-msgid "Shared library: [%s]\n"
-msgstr ""
-
-#: src/readelf.c:1394
-#, c-format
-msgid "Library soname: [%s]\n"
-msgstr ""
-
-#: src/readelf.c:1399
-#, c-format
-msgid "Library rpath: [%s]\n"
-msgstr ""
-
-#: src/readelf.c:1404
-#, c-format
-msgid "Library runpath: [%s]\n"
-msgstr ""
-
-#: src/readelf.c:1424
-#, c-format
-msgid "%<PRId64> (bytes)\n"
-msgstr ""
-
-#: src/readelf.c:1534 src/readelf.c:1720
-#, c-format
-msgid ""
-"\n"
-"Invalid symbol table at offset %#0<PRIx64>\n"
-msgstr ""
-
-#: src/readelf.c:1552 src/readelf.c:1737
-#, 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] ""
-
-#: src/readelf.c:1567
-#, 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:1577
-msgid "  Offset      Type                 Value       Name\n"
-msgstr ""
-
-#: src/readelf.c:1579
-msgid "  Offset              Type                 Value               Name\n"
-msgstr ""
-
-#: src/readelf.c:1632 src/readelf.c:1643 src/readelf.c:1656 src/readelf.c:1674
-#: src/readelf.c:1686 src/readelf.c:1805 src/readelf.c:1817 src/readelf.c:1831
-#: src/readelf.c:1850 src/readelf.c:1863
-msgid "<INVALID RELOC>"
-msgstr ""
-
-#: src/readelf.c:1749
-msgid "  Offset      Type            Value       Addend Name\n"
-msgstr ""
-
-#: src/readelf.c:1751
-msgid "  Offset              Type            Value               Addend Name\n"
-msgstr ""
-
-#: src/readelf.c:1952
-#, 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:1958
-#, 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:1968
-msgid "  Num:    Value   Size Type    Bind   Vis          Ndx Name\n"
-msgstr ""
-
-#: src/readelf.c:1970
-msgid "  Num:            Value   Size Type    Bind   Vis          Ndx Name\n"
-msgstr ""
-
-#: src/readelf.c:1990
-#, c-format
-msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
-msgstr ""
-
-#: src/readelf.c:2078
-#, c-format
-msgid "bad dynamic symbol"
-msgstr ""
-
-#: src/readelf.c:2160
-msgid "none"
-msgstr ""
-
-#: src/readelf.c:2177
-msgid "| <unknown>"
-msgstr ""
-
-#: src/readelf.c:2202
-#, 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:2225
-#, c-format
-msgid "  %#06x: Version: %hu  File: %s  Cnt: %hu\n"
-msgstr ""
-
-#: src/readelf.c:2238
-#, c-format
-msgid "  %#06x: Name: %s  Flags: %s  Version: %hu\n"
-msgstr ""
-
-#: src/readelf.c:2269
-#, 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:2299
-#, c-format
-msgid "  %#06x: Version: %hd  Flags: %s  Index: %hd  Cnt: %hd  Name: %s\n"
-msgstr ""
-
-#: src/readelf.c:2314
-#, c-format
-msgid "  %#06x: Parent %d: %s\n"
-msgstr ""
-
-#: src/readelf.c:2546
-#, 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:2576
-msgid "   0 *local*                     "
-msgstr ""
-
-#: src/readelf.c:2581
-msgid "   1 *global*                    "
-msgstr ""
-
-#: src/readelf.c:2612
-#, 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:2636
-#, no-c-format
-msgid " Length  Number  % of total  Coverage\n"
-msgstr ""
-
-#: src/readelf.c:2638
-#, c-format
-msgid "      0  %6<PRIu32>      %5.1f%%\n"
-msgstr ""
-
-#: src/readelf.c:2645
-#, c-format
-msgid "%7d  %6<PRIu32>      %5.1f%%    %5.1f%%\n"
-msgstr ""
-
-#: src/readelf.c:2658
-#, c-format
-msgid ""
-" Average number of tests:   successful lookup: %f\n"
-"                          unsuccessful lookup: %f\n"
-msgstr ""
-
-#: src/readelf.c:2676 src/readelf.c:2718 src/readelf.c:2759
-#, c-format
-msgid "cannot get data for section %d: %s"
-msgstr ""
-
-#: src/readelf.c:2813
-#, c-format
-msgid ""
-" Symbol Bias: %u\n"
-" Bitmask Size: %zu bytes  %<PRIuFAST32>%% bits set  2nd hash shift: %u\n"
-msgstr ""
-
-#: src/readelf.c:2887
-#, 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:2901
-msgid ""
-"       Library                       Time Stamp          Checksum Version "
-"Flags"
-msgstr ""
-
-#: src/readelf.c:2951
-#, c-format
-msgid ""
-"\n"
-"Object attributes section [%2zu] '%s' of %<PRIu64> bytes at offset %"
-"#0<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:2967
-msgid "  Owner          Size\n"
-msgstr ""
-
-#: src/readelf.c:2993
-#, c-format
-msgid "  %-13s  %4<PRIu32>\n"
-msgstr ""
-
-#: src/readelf.c:3025
-#, c-format
-msgid "    %-4u %12<PRIu32>\n"
-msgstr ""
-
-#: src/readelf.c:3030
-#, c-format
-msgid "    File: %11<PRIu32>\n"
-msgstr ""
-
-#: src/readelf.c:3065
-#, c-format
-msgid "      %s: %<PRId64>, %s\n"
-msgstr ""
-
-#: src/readelf.c:3068
-#, c-format
-msgid "      %s: %<PRId64>\n"
-msgstr ""
-
-#: src/readelf.c:3071
-#, c-format
-msgid "      %s: %s\n"
-msgstr ""
-
-#: src/readelf.c:3078
-#, c-format
-msgid "      %u: %<PRId64>\n"
-msgstr ""
-
-#: src/readelf.c:3081
-#, c-format
-msgid "      %u: %s\n"
-msgstr ""
-
-#: src/readelf.c:3117
-#, c-format
-msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>"
-msgstr ""
-
-#: src/readelf.c:3120
-#, c-format
-msgid "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
-msgstr ""
-
-#: src/readelf.c:3125
-#, c-format
-msgid "%#<PRIx64> <%s+%#<PRIx64>>"
-msgstr ""
-
-#: src/readelf.c:3128
-#, c-format
-msgid "%#0*<PRIx64> <%s+%#<PRIx64>>"
-msgstr ""
-
-#: src/readelf.c:3134
-#, c-format
-msgid "%s+%#<PRIx64> <%s>"
-msgstr ""
-
-#: src/readelf.c:3137
-#, c-format
-msgid "%s+%#0*<PRIx64> <%s>"
-msgstr ""
-
-#: src/readelf.c:3141
-#, c-format
-msgid "%#<PRIx64> <%s>"
-msgstr ""
-
-#: src/readelf.c:3144
-#, c-format
-msgid "%#0*<PRIx64> <%s>"
-msgstr ""
-
-#: src/readelf.c:3149
-#, c-format
-msgid "%s+%#<PRIx64>"
-msgstr ""
-
-#: src/readelf.c:3152
-#, c-format
-msgid "%s+%#0*<PRIx64>"
-msgstr ""
-
-#: src/readelf.c:3260
-#, c-format
-msgid "unknown tag %hx"
-msgstr ""
-
-#: src/readelf.c:3262
-#, c-format
-msgid "unknown user tag %hx"
-msgstr ""
-
-#: src/readelf.c:3480
-#, c-format
-msgid "unknown attribute %hx"
-msgstr ""
-
-#: src/readelf.c:3483
-#, c-format
-msgid "unknown user attribute %hx"
-msgstr ""
-
-#: src/readelf.c:3529
-#, c-format
-msgid "unknown form %<PRIx64>"
-msgstr ""
-
-#: src/readelf.c:3763
-msgid "empty block"
-msgstr ""
-
-#: src/readelf.c:3766
-#, c-format
-msgid "%zu byte block:"
-msgstr ""
-
-#: src/readelf.c:4175
-#, c-format
-msgid "%*s[%4<PRIuMAX>] %s  <TRUNCATED>\n"
-msgstr ""
-
-#: src/readelf.c:4188
-#, c-format
-msgid ""
-"\n"
-"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n"
-" [ Code]\n"
-msgstr ""
-
-#: src/readelf.c:4195
-#, c-format
-msgid ""
-"\n"
-"Abbreviation section at offset %<PRIu64>:\n"
-msgstr ""
-
-#: src/readelf.c:4208
-#, c-format
-msgid " *** error while reading abbreviation: %s\n"
-msgstr ""
-
-#: src/readelf.c:4224
-#, c-format
-msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
-msgstr ""
-
-#: src/readelf.c:4227
-msgid "yes"
-msgstr ""
-
-#: src/readelf.c:4227
-msgid "no"
-msgstr ""
-
-#: src/readelf.c:4263
-#, c-format
-msgid "cannot get .debug_aranges content: %s"
-msgstr ""
-
-#: src/readelf.c:4268
-#, 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:4298
-#, c-format
-msgid " [%*zu] ???\n"
-msgstr ""
-
-#: src/readelf.c:4300
-#, c-format
-msgid ""
-" [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
-msgstr ""
-
-#: src/readelf.c:4319
-#, c-format
-msgid "cannot get .debug_ranges content: %s"
-msgstr ""
-
-#: src/readelf.c:4324 src/readelf.c:4810 src/readelf.c:5452 src/readelf.c:5897
-#: src/readelf.c:5992 src/readelf.c:6164
-#, c-format
-msgid ""
-"\n"
-"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:4338 src/readelf.c:5911
-#, c-format
-msgid " [%6tx]  <INVALID DATA>\n"
-msgstr ""
-
-#: src/readelf.c:4360 src/readelf.c:5933
-#, c-format
-msgid " [%6tx]  base address %s\n"
-msgstr ""
-
-#: src/readelf.c:4371
-#, c-format
-msgid " [%6tx]  %s..%s\n"
-msgstr ""
-
-#: src/readelf.c:4373
-#, c-format
-msgid "           %s..%s\n"
-msgstr ""
-
-#: src/readelf.c:4799 src/readelf.c:6230 src/readelf.c:6332
-#, c-format
-msgid "cannot get %s content: %s"
-msgstr ""
-
-#: src/readelf.c:4806
-#, c-format
-msgid ""
-"\n"
-"Call frame information section [%2zu] '%s' at offset %#<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:4833 src/readelf.c:5486
-#, c-format
-msgid "invalid data in section [%zu] '%s'"
-msgstr ""
-
-#: src/readelf.c:4855
-#, c-format
-msgid ""
-"\n"
-" [%6tx] Zero terminator\n"
-msgstr ""
-
-#: src/readelf.c:4924
-#, c-format
-msgid "invalid augmentation length"
-msgstr ""
-
-#: src/readelf.c:4936
-msgid "FDE address encoding: "
-msgstr ""
-
-#: src/readelf.c:4942
-msgid "LSDA pointer encoding: "
-msgstr ""
-
-#: src/readelf.c:5034
-#, c-format
-msgid " (offset: %#<PRIx64>)"
-msgstr ""
-
-#: src/readelf.c:5041
-#, c-format
-msgid " (end offset: %#<PRIx64>)"
-msgstr ""
-
-#: src/readelf.c:5068
-#, c-format
-msgid "   %-26sLSDA pointer: %#<PRIx64>\n"
-msgstr ""
-
-#: src/readelf.c:5114
-#, c-format
-msgid "cannot get attribute code: %s"
-msgstr ""
-
-#: src/readelf.c:5122
-#, c-format
-msgid "cannot get attribute form: %s"
-msgstr ""
-
-#: src/readelf.c:5135
-#, c-format
-msgid "cannot get attribute value: %s"
-msgstr ""
-
-#: src/readelf.c:5331
-#, c-format
-msgid ""
-"\n"
-"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n"
-" [Offset]\n"
-msgstr ""
-
-#: src/readelf.c:5356
-#, 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:5374
-#, c-format
-msgid "cannot get DIE at offset %<PRIu64> in section '%s': %s"
-msgstr ""
-
-#: src/readelf.c:5385
-#, c-format
-msgid "cannot get DIE offset: %s"
-msgstr ""
-
-#: src/readelf.c:5393
-#, c-format
-msgid "cannot get tag of DIE at offset %<PRIu64> in section '%s': %s"
-msgstr ""
-
-#: src/readelf.c:5422
-#, c-format
-msgid "cannot get next DIE: %s\n"
-msgstr ""
-
-#: src/readelf.c:5429
-#, c-format
-msgid "cannot get next DIE: %s"
-msgstr ""
-
-#: src/readelf.c:5464
-#, c-format
-msgid "cannot get line data section data: %s"
-msgstr ""
-
-#: src/readelf.c:5477
-#, c-format
-msgid ""
-"\n"
-"Table at offset %Zu:\n"
-msgstr ""
-
-#: src/readelf.c:5529
-#, 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:5548
-#, c-format
-msgid "invalid data at offset %tu in section [%zu] '%s'"
-msgstr ""
-
-#: src/readelf.c:5563
-#, c-format
-msgid "  [%*<PRIuFAST8>]  %hhu argument\n"
-msgid_plural "  [%*<PRIuFAST8>]  %hhu arguments\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: src/readelf.c:5571
-msgid ""
-"\n"
-"Directory table:"
-msgstr ""
-
-#: src/readelf.c:5587
-msgid ""
-"\n"
-"File name table:\n"
-" Entry Dir   Time      Size      Name"
-msgstr ""
-
-#: src/readelf.c:5616
-msgid ""
-"\n"
-"Line number statements:"
-msgstr ""
-
-#: src/readelf.c:5677
-#, c-format
-msgid " special opcode %u: address+%u = %s, line%+d = %zu\n"
-msgstr ""
-
-#: src/readelf.c:5697
-#, c-format
-msgid " extended opcode %u: "
-msgstr ""
-
-#: src/readelf.c:5702
-msgid "end of sequence"
-msgstr ""
-
-#: src/readelf.c:5717
-#, c-format
-msgid "set address to %s\n"
-msgstr ""
-
-#: src/readelf.c:5738
-#, c-format
-msgid "define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
-msgstr ""
-
-#: src/readelf.c:5747
-msgid "unknown opcode"
-msgstr ""
-
-#: src/readelf.c:5759
-msgid " copy"
-msgstr ""
-
-#: src/readelf.c:5769
-#, c-format
-msgid "advance address by %u to %s\n"
-msgstr ""
-
-#: src/readelf.c:5780
-#, c-format
-msgid " advance line by constant %d to %<PRId64>\n"
-msgstr ""
-
-#: src/readelf.c:5788
-#, c-format
-msgid " set file to %<PRIu64>\n"
-msgstr ""
-
-#: src/readelf.c:5798
-#, c-format
-msgid " set column to %<PRIu64>\n"
-msgstr ""
-
-#: src/readelf.c:5805
-#, c-format
-msgid " set '%s' to %<PRIuFAST8>\n"
-msgstr ""
-
-#: src/readelf.c:5811
-msgid " set basic block flag"
-msgstr ""
-
-#: src/readelf.c:5821
-#, c-format
-msgid "advance address by constant %u to %s\n"
-msgstr ""
-
-#: src/readelf.c:5837
-#, c-format
-msgid "advance address by fixed value %u to %s\n"
-msgstr ""
-
-#: src/readelf.c:5846
-msgid " set prologue end flag"
-msgstr ""
-
-#: src/readelf.c:5851
-msgid " set epilogue begin flag"
-msgstr ""
-
-#: src/readelf.c:5860
-#, c-format
-msgid " unknown opcode with %<PRIu8> parameter:"
-msgid_plural " unknown opcode with %<PRIu8> parameters:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: src/readelf.c:5892
-#, c-format
-msgid "cannot get .debug_loc content: %s"
-msgstr ""
-
-#: src/readelf.c:5947
-#, c-format
-msgid " [%6tx]  %s..%s"
-msgstr ""
-
-#: src/readelf.c:5949
-#, c-format
-msgid "           %s..%s"
-msgstr ""
-
-#: src/readelf.c:6002
-#, c-format
-msgid "cannot get macro information section data: %s"
-msgstr ""
-
-#: src/readelf.c:6081
-#, c-format
-msgid "%*s*** non-terminated string at end of section"
-msgstr ""
-
-#: src/readelf.c:6149
-#, c-format
-msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
-msgstr ""
-
-#: src/readelf.c:6188
-#, c-format
-msgid ""
-"\n"
-"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n"
-" %*s  String\n"
-msgstr ""
-
-#: src/readelf.c:6202
-#, c-format
-msgid " *** error while reading strings: %s\n"
-msgstr ""
-
-#: src/readelf.c:6222
-#, c-format
-msgid ""
-"\n"
-"Call frame search table section [%2zu] '.eh_frame_hdr':\n"
-msgstr ""
-
-#: src/readelf.c:6324
-#, c-format
-msgid ""
-"\n"
-"Exception handling table section [%2zu] '.gcc_except_table':\n"
-msgstr ""
-
-#: src/readelf.c:6347
-#, c-format
-msgid " LPStart encoding:    %#x "
-msgstr ""
-
-#: src/readelf.c:6359
-#, c-format
-msgid " TType encoding:      %#x "
-msgstr ""
-
-#: src/readelf.c:6373
-#, c-format
-msgid " Call site encoding:  %#x "
-msgstr ""
-
-#: src/readelf.c:6386
-msgid ""
-"\n"
-" Call site table:"
-msgstr ""
-
-#: src/readelf.c:6400
-#, 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:6460
-#, c-format
-msgid "invalid TType encoding"
-msgstr ""
-
-#: src/readelf.c:6484
-#, c-format
-msgid "cannot get debug context descriptor: %s"
-msgstr ""
-
-#: src/readelf.c:6620 src/readelf.c:7221
-#, c-format
-msgid "cannot convert core note data: %s"
-msgstr ""
-
-#: src/readelf.c:6961
-#, c-format
-msgid ""
-"\n"
-"%*s... <repeats %u more times> ..."
-msgstr ""
-
-#: src/readelf.c:7320
-msgid "  Owner          Data size  Type\n"
-msgstr ""
-
-#: src/readelf.c:7338
-#, c-format
-msgid "  %-13.*s  %9<PRId32>  %s\n"
-msgstr ""
-
-#: src/readelf.c:7372
-#, c-format
-msgid "cannot get content of note section: %s"
-msgstr ""
-
-#: src/readelf.c:7399
-#, c-format
-msgid ""
-"\n"
-"Note section [%2zu] '%s' of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:7422
-#, c-format
-msgid ""
-"\n"
-"Note segment of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:7468
-#, c-format
-msgid ""
-"\n"
-"Section [%Zu] '%s' has no data to dump.\n"
-msgstr ""
-
-#: src/readelf.c:7474 src/readelf.c:7497
-#, c-format
-msgid "cannot get data for section [%Zu] '%s': %s"
-msgstr ""
-
-#: src/readelf.c:7478
-#, c-format
-msgid ""
-"\n"
-"Hex dump of section [%Zu] '%s', %<PRIu64> bytes at offset %#0<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:7491
-#, c-format
-msgid ""
-"\n"
-"Section [%Zu] '%s' has no strings to dump.\n"
-msgstr ""
-
-#: src/readelf.c:7501
-#, c-format
-msgid ""
-"\n"
-"String section [%Zu] '%s' contains %<PRIu64> bytes at offset %#0<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:7549
-#, c-format
-msgid ""
-"\n"
-"section [%lu] does not exist"
-msgstr ""
-
-#: src/readelf.c:7576
-#, c-format
-msgid ""
-"\n"
-"section '%s' does not exist"
-msgstr ""
-
-#: src/readelf.c:7637
-#, c-format
-msgid "cannot get symbol index of archive '%s': %s"
-msgstr ""
-
-#: src/readelf.c:7640
-#, c-format
-msgid ""
-"\n"
-"Archive '%s' has no symbol index\n"
-msgstr ""
-
-#: src/readelf.c:7644
-#, c-format
-msgid ""
-"\n"
-"Index of archive '%s' has %Zu entries:\n"
-msgstr ""
-
-#: src/readelf.c:7662
-#, c-format
-msgid "cannot extract member at offset %Zu in '%s': %s"
-msgstr ""
-
-#: src/readelf.c:7667
-#, 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 ""
-
-#: 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/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 ""
-
-#: 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/strip.c:74
-msgid "Place stripped output into FILE"
-msgstr ""
-
-#: src/strip.c:75
-msgid "Extract the removed sections into FILE"
-msgstr ""
-
-#: src/strip.c:76
-msgid "Embed name FILE instead of -f argument"
-msgstr ""
-
-#: src/strip.c:80
-msgid "Remove all debugging symbols"
-msgstr ""
-
-#: src/strip.c:84
-msgid "Copy modified/access timestamps to the output"
-msgstr ""
-
-#: src/strip.c:86
-msgid "Remove .comment section"
-msgstr ""
-
-#: src/strip.c:89
-msgid "Relax a few rules to handle slightly broken ELF files"
-msgstr ""
-
-#: src/strip.c:94
-msgid "Discard symbols from object files."
-msgstr ""
-
-#: src/strip.c:186
-#, c-format
-msgid "Only one input file allowed together with '-o' and '-f'"
-msgstr ""
-
-#: src/strip.c:222
-#, c-format
-msgid "-f option specified twice"
-msgstr ""
-
-#: src/strip.c:231
-#, c-format
-msgid "-F option specified twice"
-msgstr ""
-
-#: src/strip.c:240 src/unstrip.c:125
-#, c-format
-msgid "-o option specified twice"
-msgstr ""
-
-#: src/strip.c:260
-#, c-format
-msgid "-R option supports only .comment section"
-msgstr ""
-
-#: src/strip.c:298 src/strip.c:322
-#, c-format
-msgid "cannot stat input file '%s'"
-msgstr ""
-
-#: src/strip.c:312
-#, c-format
-msgid "while opening '%s'"
-msgstr ""
-
-#: src/strip.c:350
-#, c-format
-msgid "%s: cannot use -o or -f when stripping archive"
-msgstr ""
-
-#: src/strip.c:448
-#, c-format
-msgid "cannot open EBL backend"
-msgstr ""
-
-#: src/strip.c:498 src/strip.c:522
-#, c-format
-msgid "cannot create new file '%s': %s"
-msgstr ""
-
-#: src/strip.c:582
-#, c-format
-msgid "illformed file '%s'"
-msgstr ""
-
-#: src/strip.c:869 src/strip.c:956
-#, c-format
-msgid "while generating output file: %s"
-msgstr ""
-
-#: src/strip.c:929 src/strip.c:1668
-#, c-format
-msgid "%s: error while creating ELF header: %s"
-msgstr ""
-
-#: src/strip.c:943
-#, c-format
-msgid "while preparing output for '%s'"
-msgstr ""
-
-#: src/strip.c:994 src/strip.c:1050
-#, c-format
-msgid "while create section header section: %s"
-msgstr ""
-
-#: src/strip.c:1000
-#, c-format
-msgid "cannot allocate section data: %s"
-msgstr ""
-
-#: src/strip.c:1059
-#, c-format
-msgid "while create section header string table: %s"
-msgstr ""
-
-#: src/strip.c:1593 src/strip.c:1690
-#, c-format
-msgid "while writing '%s': %s"
-msgstr ""
-
-#: src/strip.c:1604
-#, c-format
-msgid "while creating '%s'"
-msgstr ""
-
-#: src/strip.c:1616
-#, c-format
-msgid "while computing checksum for debug information"
-msgstr ""
-
-#: src/strip.c:1676
-#, c-format
-msgid "%s: error while reading the file: %s"
-msgstr ""
-
-#: src/strip.c:1722 src/strip.c:1729
-#, c-format
-msgid "error while finishing '%s': %s"
-msgstr ""
-
-#: src/strip.c:1752 src/strip.c:1809
-#, c-format
-msgid "cannot set access and modification date of '%s'"
-msgstr ""
-
-#: src/unstrip.c:78
-msgid "Match MODULE against file names, not module names"
-msgstr ""
-
-#: src/unstrip.c:79
-msgid "Silently skip unfindable files"
-msgstr ""
-
-#: src/unstrip.c:82
-msgid "Place output into FILE"
-msgstr ""
-
-#: src/unstrip.c:84
-msgid "Create multiple output files under DIRECTORY"
-msgstr ""
-
-#: src/unstrip.c:85
-msgid "Use module rather than file names"
-msgstr ""
-
-#: src/unstrip.c:87
-msgid "Create output for modules that have no separate debug information"
-msgstr ""
-
-#: src/unstrip.c:90
-msgid "Apply relocations to section contents in ET_REL files"
-msgstr ""
-
-#: src/unstrip.c:92
-msgid "Only list module and file names, build IDs"
-msgstr ""
-
-#: src/unstrip.c:134
-#, c-format
-msgid "-d option specified twice"
-msgstr ""
-
-#: src/unstrip.c:166
-#, c-format
-msgid "only one of -o or -d allowed"
-msgstr ""
-
-#: src/unstrip.c:175
-#, c-format
-msgid "-n cannot be used with explicit files or -o or -d"
-msgstr ""
-
-#: src/unstrip.c:190
-#, c-format
-msgid "output directory '%s'"
-msgstr ""
-
-#: src/unstrip.c:199
-#, c-format
-msgid "exactly two file arguments are required"
-msgstr ""
-
-#: src/unstrip.c:205
-#, c-format
-msgid "-m, -a, -R, and -i options not allowed with explicit files"
-msgstr ""
-
-#: src/unstrip.c:218
-#, c-format
-msgid "-o or -d is required when using implicit files"
-msgstr ""
-
-#: src/unstrip.c:254
-#, c-format
-msgid "cannot create ELF header: %s"
-msgstr ""
-
-#: src/unstrip.c:259
-#, c-format
-msgid "cannot copy ELF header: %s"
-msgstr ""
-
-#: src/unstrip.c:264 src/unstrip.c:1817
-#, c-format
-msgid "cannot create program headers: %s"
-msgstr ""
-
-#: src/unstrip.c:270
-#, c-format
-msgid "cannot copy program header: %s"
-msgstr ""
-
-#: src/unstrip.c:280
-#, c-format
-msgid "cannot copy section header: %s"
-msgstr ""
-
-#: src/unstrip.c:283 src/unstrip.c:1505
-#, c-format
-msgid "cannot get section data: %s"
-msgstr ""
-
-#: src/unstrip.c:285 src/unstrip.c:1507
-#, c-format
-msgid "cannot copy section data: %s"
-msgstr ""
-
-#: src/unstrip.c:309
-#, c-format
-msgid "cannot create directory '%s'"
-msgstr ""
-
-#: src/unstrip.c:349 src/unstrip.c:763 src/unstrip.c:1540
-#, c-format
-msgid "cannot get symbol table entry: %s"
-msgstr ""
-
-#: src/unstrip.c:365 src/unstrip.c:580 src/unstrip.c:601 src/unstrip.c:613
-#: src/unstrip.c:1561 src/unstrip.c:1691 src/unstrip.c:1715
-#, c-format
-msgid "cannot update symbol table: %s"
-msgstr ""
-
-#: src/unstrip.c:382 src/unstrip.c:432 src/unstrip.c:562 src/unstrip.c:1209
-#: src/unstrip.c:1525 src/unstrip.c:1720 src/unstrip.c:1791
-#, c-format
-msgid "cannot update section header: %s"
-msgstr ""
-
-#: src/unstrip.c:408 src/unstrip.c:419
-#, c-format
-msgid "cannot update relocation: %s"
-msgstr ""
-
-#: src/unstrip.c:507
-#, c-format
-msgid "cannot get symbol version: %s"
-msgstr ""
-
-#: src/unstrip.c:519
-#, c-format
-msgid "unexpected section type in [%Zu] with sh_link to symtab"
-msgstr ""
-
-#: src/unstrip.c:769
-#, c-format
-msgid "invalid string offset in symbol [%Zu]"
-msgstr ""
-
-#: src/unstrip.c:911 src/unstrip.c:1248
-#, c-format
-msgid "cannot read section [%Zu] name: %s"
-msgstr ""
-
-#: src/unstrip.c:952 src/unstrip.c:971 src/unstrip.c:1004
-#, c-format
-msgid "cannot read '.gnu.prelink_undo' section: %s"
-msgstr ""
-
-#: src/unstrip.c:992
-#, c-format
-msgid "invalid contents in '%s' section"
-msgstr ""
-
-#: src/unstrip.c:1047 src/unstrip.c:1370
-#, c-format
-msgid "cannot find matching section for [%Zu] '%s'"
-msgstr ""
-
-#: src/unstrip.c:1171 src/unstrip.c:1186 src/unstrip.c:1451
-#, c-format
-msgid "cannot add section name to string table: %s"
-msgstr ""
-
-#: src/unstrip.c:1195
-#, c-format
-msgid "cannot update section header string table data: %s"
-msgstr ""
-
-#: src/unstrip.c:1223 src/unstrip.c:1227
-#, c-format
-msgid "cannot get section header string table section index: %s"
-msgstr ""
-
-#: src/unstrip.c:1231 src/unstrip.c:1235 src/unstrip.c:1466
-#, c-format
-msgid "cannot get section count: %s"
-msgstr ""
-
-#: src/unstrip.c:1293 src/unstrip.c:1385
-#, c-format
-msgid "cannot read section header string table: %s"
-msgstr ""
-
-#: src/unstrip.c:1445
-#, c-format
-msgid "cannot add new section: %s"
-msgstr ""
-
-#: src/unstrip.c:1548
-#, c-format
-msgid "symbol [%Zu] has invalid section index"
-msgstr ""
-
-#: src/unstrip.c:1800
-#, c-format
-msgid "cannot get ELF header: %s"
-msgstr ""
-
-#: src/unstrip.c:1827
-#, c-format
-msgid "cannot update program header: %s"
-msgstr ""
-
-#: src/unstrip.c:1832 src/unstrip.c:1911
-#, c-format
-msgid "cannot write output file: %s"
-msgstr ""
-
-#: src/unstrip.c:1880
-#, c-format
-msgid "DWARF data not adjusted for prelinking bias; consider prelink -u"
-msgstr ""
-
-#: src/unstrip.c:1883
-#, c-format
-msgid ""
-"DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u"
-msgstr ""
-
-#: src/unstrip.c:1902 src/unstrip.c:1942 src/unstrip.c:1954 src/unstrip.c:2034
-#, c-format
-msgid "cannot create ELF descriptor: %s"
-msgstr ""
-
-#: src/unstrip.c:1960
-#, c-format
-msgid "'%s' and '%s' do not seem to match"
-msgstr ""
-
-#: src/unstrip.c:1991
-#, c-format
-msgid "cannot find stripped file for module '%s': %s"
-msgstr ""
-
-#: src/unstrip.c:1995
-#, c-format
-msgid "cannot open stripped file '%s' for module '%s': %s"
-msgstr ""
-
-#: src/unstrip.c:2010
-#, c-format
-msgid "cannot find debug file for module '%s': %s"
-msgstr ""
-
-#: src/unstrip.c:2014
-#, c-format
-msgid "cannot open debug file '%s' for module '%s': %s"
-msgstr ""
-
-#: src/unstrip.c:2027
-#, c-format
-msgid "module '%s' file '%s' is not stripped"
-msgstr ""
-
-#: src/unstrip.c:2058
-#, c-format
-msgid "cannot cache section addresses for module '%s': %s"
-msgstr ""
-
-#: src/unstrip.c:2191
-#, c-format
-msgid "no matching modules found"
-msgstr ""
-
-#: src/unstrip.c:2200
-#, c-format
-msgid "matched more than one module"
-msgstr ""
-
-#: src/unstrip.c:2247
-msgid ""
-"STRIPPED-FILE DEBUG-FILE\n"
-"[MODULE...]"
-msgstr ""
-
-#: src/unstrip.c:2248
-msgid ""
-"Combine stripped files with separate symbols and debug information.\n\nThe "
-"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 ""
diff --git a/po/pl.po b/po/pl.po
index 54a0164..260955a 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -8,7 +8,7 @@
 msgstr ""
 "Project-Id-Version: elfutils\n"
 "Report-Msgid-Bugs-To: https://sourceware.org/bugzilla/\n"
-"POT-Creation-Date: 2019-11-26 09:48+0100\n"
+"POT-Creation-Date: 2021-02-05 21:10+0100\n"
 "PO-Revision-Date: 2016-12-29 17:48+0100\n"
 "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
 "Language-Team: Polish <trans-pl@lists.fedoraproject.org>\n"
@@ -59,8 +59,8 @@
 "BEZ JAKIEJKOLWIEK GWARANCJI, nawet domyślnej gwarancji PRZYDATNOŚCI\n"
 "HANDLOWEJ albo PRZYDATNOŚCI DO OKREŚLONYCH ZASTOSOWAŃ.\n"
 
-#: lib/xmalloc.c:52 lib/xmalloc.c:65 lib/xmalloc.c:77 src/readelf.c:3449
-#: src/readelf.c:11398 src/unstrip.c:2393 src/unstrip.c:2599
+#: lib/xmalloc.c:48 lib/xmalloc.c:61 lib/xmalloc.c:73 src/readelf.c:3453
+#: src/readelf.c:11501 src/unstrip.c:312 src/unstrip.c:2398 src/unstrip.c:2603
 #, c-format
 msgid "memory exhausted"
 msgstr "pamięć wyczerpana"
@@ -223,7 +223,7 @@
 msgid "invalid directory index"
 msgstr "nieprawidłowy indeks katalogu"
 
-#: libdw/dwarf_error.c:87 libdwfl/libdwflP.h:72
+#: libdw/dwarf_error.c:87 libdwfl/libdwflP.h:73
 msgid "address out of range"
 msgstr "adres jest spoza zakresu"
 
@@ -254,7 +254,7 @@
 msgid "invalid address range index"
 msgstr "nieprawidłowy indeks zakresu adresów"
 
-#: libdw/dwarf_error.c:94 libdwfl/libdwflP.h:73
+#: libdw/dwarf_error.c:94 libdwfl/libdwflP.h:74
 msgid "no matching address range"
 msgstr "brak pasującego zakresu adresów"
 
@@ -301,23 +301,23 @@
 msgid ".debug_addr section missing"
 msgstr "brak sekcji .debug_ranges"
 
-#: libdwfl/argp-std.c:50 src/stack.c:638 src/unstrip.c:2540
+#: libdwfl/argp-std.c:47 src/stack.c:643 src/unstrip.c:2544
 msgid "Input selection options:"
 msgstr "Opcje wyboru wejścia:"
 
-#: libdwfl/argp-std.c:51
+#: libdwfl/argp-std.c:48
 msgid "Find addresses in FILE"
 msgstr "Wyszukuje adresy w PLIKU"
 
-#: libdwfl/argp-std.c:53
+#: libdwfl/argp-std.c:50
 msgid "Find addresses from signatures found in COREFILE"
 msgstr "Wyszukuje adresy z podpisów odnalezionych w PLIKU_CORE"
 
-#: libdwfl/argp-std.c:55
+#: libdwfl/argp-std.c:52
 msgid "Find addresses in files mapped into process PID"
 msgstr "Wyszukuje adresy w plikach zmapowanych do PID procesów"
 
-#: libdwfl/argp-std.c:57
+#: libdwfl/argp-std.c:54
 msgid ""
 "Find addresses in files mapped as read from FILE in Linux /proc/PID/maps "
 "format"
@@ -325,45 +325,45 @@
 "Wyszukuje adresy w plikach zmapowanych jako odczyt z PLIKU w formacie /proc/"
 "PID/maps systemu Linux"
 
-#: libdwfl/argp-std.c:59
+#: libdwfl/argp-std.c:56
 msgid "Find addresses in the running kernel"
 msgstr "Wyszukuje adresy w uruchomionych jądrze"
 
-#: libdwfl/argp-std.c:61
+#: libdwfl/argp-std.c:58
 msgid "Kernel with all modules"
 msgstr "Jądro ze wszystkimi modułami"
 
-#: libdwfl/argp-std.c:63 src/stack.c:645
+#: libdwfl/argp-std.c:60 src/stack.c:650
 msgid "Search path for separate debuginfo files"
 msgstr "Wyszukuje ścieżkę dla oddzielnych plików debuginfo"
 
-#: libdwfl/argp-std.c:164
+#: libdwfl/argp-std.c:161
 msgid "only one of -e, -p, -k, -K, or --core allowed"
 msgstr "dopuszczalna jest tylko jedna z opcji -e, -p, -k, -K lub --core"
 
-#: libdwfl/argp-std.c:237
+#: libdwfl/argp-std.c:234
 msgid "cannot load kernel symbols"
 msgstr "nie można wczytać symboli jądra"
 
 #. Non-fatal to have no modules since we do have the kernel.
-#: libdwfl/argp-std.c:241
+#: libdwfl/argp-std.c:238
 msgid "cannot find kernel modules"
 msgstr "nie można odnaleźć modułów jądra"
 
-#: libdwfl/argp-std.c:258
+#: libdwfl/argp-std.c:255
 msgid "cannot find kernel or modules"
 msgstr "nie można odnaleźć jądra lub modułów"
 
-#: libdwfl/argp-std.c:297
+#: libdwfl/argp-std.c:294
 #, c-format
 msgid "cannot read ELF core file: %s"
 msgstr "nie można odczytać pliku core ELF: %s"
 
-#: libdwfl/argp-std.c:320
+#: libdwfl/argp-std.c:317
 msgid "Not enough memory"
 msgstr "Za mało pamięci"
 
-#: libdwfl/argp-std.c:330
+#: libdwfl/argp-std.c:327
 msgid "No modules recognized in core file"
 msgstr "Nie rozpoznano żadnych modułów w pliku core"
 
@@ -396,126 +396,131 @@
 msgstr "dekompresja LZMA się nie powiodła"
 
 #: libdwfl/libdwflP.h:61
+#, fuzzy
+msgid "zstd decompression failed"
+msgstr "dekompresja gzip się nie powiodła"
+
+#: libdwfl/libdwflP.h:62
 msgid "no support library found for machine"
 msgstr "nie odnaleziono biblioteki obsługi dla komputera"
 
-#: libdwfl/libdwflP.h:62
+#: libdwfl/libdwflP.h:63
 msgid "Callbacks missing for ET_REL file"
 msgstr "Brak wywołań zwrotnych dla pliku ET_REL"
 
-#: libdwfl/libdwflP.h:63
+#: libdwfl/libdwflP.h:64
 msgid "Unsupported relocation type"
 msgstr "Nieobsługiwany typ relokacji"
 
-#: libdwfl/libdwflP.h:64
+#: libdwfl/libdwflP.h:65
 msgid "r_offset is bogus"
 msgstr "r_offset jest fałszywe"
 
-#: libdwfl/libdwflP.h:65 libelf/elf_error.c:115 libelf/elf_error.c:175
+#: libdwfl/libdwflP.h:66 libelf/elf_error.c:115 libelf/elf_error.c:175
 msgid "offset out of range"
 msgstr "offset spoza zakresu"
 
-#: libdwfl/libdwflP.h:66
+#: libdwfl/libdwflP.h:67
 msgid "relocation refers to undefined symbol"
 msgstr "relokacja odnosi się do nieokreślonego symbolu"
 
-#: libdwfl/libdwflP.h:67
+#: libdwfl/libdwflP.h:68
 msgid "Callback returned failure"
 msgstr "Wywołanie zwrotne zwróciło niepowodzenie"
 
-#: libdwfl/libdwflP.h:68
+#: libdwfl/libdwflP.h:69
 msgid "No DWARF information found"
 msgstr "Nie odnaleziono informacji DWARF"
 
-#: libdwfl/libdwflP.h:69
+#: libdwfl/libdwflP.h:70
 msgid "No symbol table found"
 msgstr "Nie odnaleziono tabeli symboli"
 
-#: libdwfl/libdwflP.h:70
+#: libdwfl/libdwflP.h:71
 msgid "No ELF program headers"
 msgstr "Brak nagłówków programu ELF"
 
-#: libdwfl/libdwflP.h:71
+#: libdwfl/libdwflP.h:72
 msgid "address range overlaps an existing module"
 msgstr "zakres adresów pokrywa się z istniejącym modułem"
 
-#: libdwfl/libdwflP.h:74
+#: libdwfl/libdwflP.h:75
 msgid "image truncated"
 msgstr "skrócono obraz"
 
-#: libdwfl/libdwflP.h:75
+#: libdwfl/libdwflP.h:76
 msgid "ELF file opened"
 msgstr "otwarto plik ELF"
 
-#: libdwfl/libdwflP.h:76
+#: libdwfl/libdwflP.h:77
 msgid "not a valid ELF file"
 msgstr "nie jest prawidłowym plikiem ELF"
 
-#: libdwfl/libdwflP.h:77
+#: libdwfl/libdwflP.h:78
 msgid "cannot handle DWARF type description"
 msgstr "nie można obsłużyć opisu typu DWARF"
 
-#: libdwfl/libdwflP.h:78
+#: libdwfl/libdwflP.h:79
 msgid "ELF file does not match build ID"
 msgstr "plik ELF nie ma pasującego identyfikatora kopii"
 
-#: libdwfl/libdwflP.h:79
+#: libdwfl/libdwflP.h:80
 msgid "corrupt .gnu.prelink_undo section data"
 msgstr "uszkodzone dane sekcji .gnu.prelink_undo"
 
-#: libdwfl/libdwflP.h:80
+#: libdwfl/libdwflP.h:81
 msgid "Internal error due to ebl"
 msgstr "Wewnętrzny błąd z powodu ebl"
 
-#: libdwfl/libdwflP.h:81
+#: libdwfl/libdwflP.h:82
 msgid "Missing data in core file"
 msgstr "Brak danych w pliku core"
 
-#: libdwfl/libdwflP.h:82
+#: libdwfl/libdwflP.h:83
 msgid "Invalid register"
 msgstr "Nieprawidłowy rejestr"
 
-#: libdwfl/libdwflP.h:83
+#: libdwfl/libdwflP.h:84
 msgid "Error reading process memory"
 msgstr "Błąd podczas odczytywania pamięci procesu"
 
-#: libdwfl/libdwflP.h:84
+#: libdwfl/libdwflP.h:85
 msgid "Couldn't find architecture of any ELF"
 msgstr "Nie można odnaleźć architektury żadnego ELF"
 
-#: libdwfl/libdwflP.h:85
+#: libdwfl/libdwflP.h:86
 msgid "Error parsing /proc filesystem"
 msgstr "Błąd podczas przetwarzania systemu plików /proc"
 
-#: libdwfl/libdwflP.h:86
+#: libdwfl/libdwflP.h:87
 msgid "Invalid DWARF"
 msgstr "Nieprawidłowy DWARF"
 
-#: libdwfl/libdwflP.h:87
+#: libdwfl/libdwflP.h:88
 msgid "Unsupported DWARF"
 msgstr "Nieobsługiwany DWARF"
 
-#: libdwfl/libdwflP.h:88
+#: libdwfl/libdwflP.h:89
 msgid "Unable to find more threads"
 msgstr "Nie można odnaleźć więcej wątków"
 
-#: libdwfl/libdwflP.h:89
+#: libdwfl/libdwflP.h:90
 msgid "Dwfl already has attached state"
 msgstr "Dwfl już ma załączony stan"
 
-#: libdwfl/libdwflP.h:90
+#: libdwfl/libdwflP.h:91
 msgid "Dwfl has no attached state"
 msgstr "Dwfl nie ma załączonego stanu"
 
-#: libdwfl/libdwflP.h:91
+#: libdwfl/libdwflP.h:92
 msgid "Unwinding not supported for this architecture"
 msgstr "Odwijanie nie jest obsługiwane dla tej architektury"
 
-#: libdwfl/libdwflP.h:92
+#: libdwfl/libdwflP.h:93
 msgid "Invalid argument"
 msgstr "Nieprawidłowy parametr"
 
-#: libdwfl/libdwflP.h:93
+#: libdwfl/libdwflP.h:94
 msgid "Not an ET_CORE ELF file"
 msgstr "Nie jest plikiem ELF ET_CORE"
 
@@ -526,7 +531,7 @@
 #: libebl/eblcorenotetypename.c:100 libebl/eblobjnotetypename.c:77
 #: libebl/eblobjnotetypename.c:109 libebl/eblobjnotetypename.c:130
 #: libebl/eblosabiname.c:73 libebl/eblsectionname.c:83
-#: libebl/eblsectiontypename.c:115 libebl/eblsegmenttypename.c:79
+#: libebl/eblsectiontypename.c:115 libebl/eblsegmenttypename.c:81
 msgid "<unknown>"
 msgstr "<nieznany>"
 
@@ -586,7 +591,7 @@
 msgid "    Linker version: %.*s\n"
 msgstr "    Wersja konsolidatora: %.*s\n"
 
-#: libebl/eblobjnote.c:571
+#: libebl/eblobjnote.c:638
 #, c-format
 msgid "    OS: %s, ABI: "
 msgstr "    System operacyjny: %s, ABI: "
@@ -620,7 +625,7 @@
 msgid "invalid size of destination operand"
 msgstr "nieprawidłowy rozmiar operanda docelowego"
 
-#: libelf/elf_error.c:87 src/readelf.c:6166
+#: libelf/elf_error.c:87 src/readelf.c:6209
 #, c-format
 msgid "invalid encoding"
 msgstr "nieprawidłowe kodowanie"
@@ -706,8 +711,8 @@
 msgid "invalid section header"
 msgstr "nieprawidłowy nagłówek sekcji"
 
-#: libelf/elf_error.c:191 src/readelf.c:9914 src/readelf.c:10514
-#: src/readelf.c:10615 src/readelf.c:10797
+#: libelf/elf_error.c:191 src/readelf.c:10012 src/readelf.c:10612
+#: src/readelf.c:10713 src/readelf.c:10895
 #, c-format
 msgid "invalid data"
 msgstr "nieprawidłowe dane"
@@ -864,12 +869,12 @@
 msgid "offset %#<PRIxMAX> lies outside section '%s'"
 msgstr "offset %#<PRIxMAX> leży poza sekcją „%s”"
 
-#: src/addr2line.c:632
+#: src/addr2line.c:652
 #, c-format
 msgid "cannot find symbol '%s'"
 msgstr "nie można odnaleźć symbolu „%s”"
 
-#: src/addr2line.c:637
+#: src/addr2line.c:657
 #, c-format
 msgid "offset %#<PRIxMAX> lies outside contents of '%s'"
 msgstr "offset %#<PRIxMAX> leży poza zawartością „%s”"
@@ -1038,12 +1043,12 @@
 msgid "no entry %s in archive\n"
 msgstr "brak wpisu %s w archiwum\n"
 
-#: src/ar.c:472 src/ar.c:923 src/ar.c:1127
+#: src/ar.c:472 src/ar.c:927 src/ar.c:1134
 #, c-format
 msgid "cannot create hash table"
 msgstr "nie można utworzyć tabeli mieszającej"
 
-#: src/ar.c:479 src/ar.c:930 src/ar.c:1136
+#: src/ar.c:479 src/ar.c:934 src/ar.c:1143
 #, c-format
 msgid "cannot insert into hash table"
 msgstr "nie można umieścić w tabeli mieszającej"
@@ -1083,67 +1088,67 @@
 msgid "cannot rename temporary file to %.*s"
 msgstr "nie można zmienić nazwy pliku tymczasowego na %.*s"
 
-#: src/ar.c:764 src/ar.c:1015 src/ar.c:1416 src/ranlib.c:222
+#: src/ar.c:764 src/ar.c:1019 src/ar.c:1423 src/ranlib.c:222
 #, c-format
 msgid "cannot create new file"
 msgstr "nie można utworzyć nowego pliku"
 
-#: src/ar.c:1218
+#: src/ar.c:1225
 #, c-format
 msgid "position member %s not found"
 msgstr "nie odnaleziono położenia elementu %s"
 
-#: src/ar.c:1228
+#: src/ar.c:1235
 #, c-format
 msgid "%s: no entry %s in archive!\n"
 msgstr "%s: brak wpisu %s w archiwum.\n"
 
-#: src/ar.c:1257 src/objdump.c:241
+#: src/ar.c:1264 src/objdump.c:241
 #, c-format
 msgid "cannot open %s"
 msgstr "nie można otworzyć %s"
 
-#: src/ar.c:1262
+#: src/ar.c:1269
 #, c-format
 msgid "cannot stat %s"
 msgstr "nie można wykonać stat na %s"
 
-#: src/ar.c:1268
+#: src/ar.c:1275
 #, c-format
 msgid "%s is no regular file"
 msgstr "%s nie jest zwykłym plikiem"
 
-#: src/ar.c:1281
+#: src/ar.c:1288
 #, c-format
 msgid "cannot get ELF descriptor for %s: %s\n"
 msgstr "nie można uzyskać deskryptora ELF dla %s: %s\n"
 
-#: src/ar.c:1301
+#: src/ar.c:1308
 #, c-format
 msgid "cannot read %s: %s"
 msgstr "nie można odczytać %s: %s"
 
-#: src/ar.c:1476
+#: src/ar.c:1483
 #, fuzzy, c-format
 msgid "cannot represent ar_date"
 msgstr "nie można dekompresować danych"
 
-#: src/ar.c:1482
+#: src/ar.c:1489
 #, fuzzy, c-format
 msgid "cannot represent ar_uid"
 msgstr "nie można dekompresować danych"
 
-#: src/ar.c:1488
+#: src/ar.c:1495
 #, fuzzy, c-format
 msgid "cannot represent ar_gid"
 msgstr "nie można dekompresować danych"
 
-#: src/ar.c:1494
+#: src/ar.c:1501
 #, fuzzy, c-format
 msgid "cannot represent ar_mode"
 msgstr "nie można uzyskać nazwy sekcji"
 
-#: src/ar.c:1500
+#: src/ar.c:1507
 #, fuzzy, c-format
 msgid "cannot represent ar_size"
 msgstr "nie można otworzyć %s"
@@ -1156,7 +1161,7 @@
 msgid "Use actual uid, gid, and date in archive members."
 msgstr "Używa prawdziwe UID, GID i datę w elementach archiwum."
 
-#: src/arlib-argp.c:65
+#: src/arlib-argp.c:63
 #, c-format
 msgid "%s (default)"
 msgstr "%s (domyślnie)"
@@ -1365,8 +1370,8 @@
 msgstr "Nieprawidłowa wartość „%s” dla parametru --gaps."
 
 #: src/elfcmp.c:734 src/findtextrel.c:205 src/nm.c:364 src/ranlib.c:141
-#: src/size.c:272 src/strings.c:185 src/strip.c:984 src/strip.c:1021
-#: src/unstrip.c:2189 src/unstrip.c:2218
+#: src/size.c:272 src/strings.c:185 src/strip.c:1030 src/strip.c:1067
+#: src/unstrip.c:2194 src/unstrip.c:2223
 #, c-format
 msgid "cannot open '%s'"
 msgstr "nie można otworzyć „%s”"
@@ -1396,7 +1401,7 @@
 msgid "cannot get relocation: %s"
 msgstr "nie można uzyskać relokacji: %s"
 
-#: src/elfcompress.c:115 src/strip.c:308 src/unstrip.c:121
+#: src/elfcompress.c:115 src/strip.c:308 src/unstrip.c:117
 #, c-format
 msgid "-o option specified twice"
 msgstr "Opcję -o podano dwukrotnie"
@@ -1517,7 +1522,7 @@
 msgid "No errors"
 msgstr "Brak błędów"
 
-#: src/elflint.c:219 src/readelf.c:575
+#: src/elflint.c:219 src/readelf.c:577
 msgid "Missing file name.\n"
 msgstr "Brak nazwy pliku.\n"
 
@@ -1673,14 +1678,14 @@
 msgstr ""
 "sekcja [%2d] „%s”: grupa sekcji [%2zu] „%s” nie poprzedza elementu grupy\n"
 
-#: src/elflint.c:610 src/elflint.c:1494 src/elflint.c:1545 src/elflint.c:1651
-#: src/elflint.c:1987 src/elflint.c:2313 src/elflint.c:2932 src/elflint.c:3095
-#: src/elflint.c:3243 src/elflint.c:3433 src/elflint.c:4431
+#: src/elflint.c:610 src/elflint.c:1498 src/elflint.c:1549 src/elflint.c:1655
+#: src/elflint.c:1991 src/elflint.c:2317 src/elflint.c:2943 src/elflint.c:3106
+#: src/elflint.c:3254 src/elflint.c:3444 src/elflint.c:4456
 #, c-format
 msgid "section [%2d] '%s': cannot get section data\n"
 msgstr "sekcja [%2d] „%s”: nie można uzyskać danych sekcji\n"
 
-#: src/elflint.c:623 src/elflint.c:1658
+#: src/elflint.c:623 src/elflint.c:1662
 #, c-format
 msgid ""
 "section [%2d] '%s': referenced as string table for section [%2d] '%s' but "
@@ -1703,172 +1708,182 @@
 msgid "section [%2u] '%s': entry size is does not match ElfXX_Sym\n"
 msgstr "sekcja [%2u] „%s”: rozmiar wpisu nie zgadza się z ElfXX_Sym\n"
 
-#: src/elflint.c:667
+#: src/elflint.c:662
+#, fuzzy, c-format
+msgid ""
+"section [%2u] '%s': number of local entries in 'st_info' larger than table "
+"size\n"
+msgstr "sekcja [%2d] „%s”: brak określonych wpisów notatek dla typu pliku\n"
+
+#: src/elflint.c:671
 #, c-format
 msgid "section [%2d] '%s': cannot get symbol %d: %s\n"
 msgstr "sekcja [%2d] „%s”: nie można uzyskać symbolu %d: %s\n"
 
-#: src/elflint.c:672 src/elflint.c:675 src/elflint.c:678 src/elflint.c:681
-#: src/elflint.c:684 src/elflint.c:687
+#: src/elflint.c:676 src/elflint.c:679 src/elflint.c:682 src/elflint.c:685
+#: src/elflint.c:688 src/elflint.c:691
 #, c-format
 msgid "section [%2d] '%s': '%s' in zeroth entry not zero\n"
 msgstr "sekcja [%2d] „%s”: „%s” w zerowym wpisie nie jest zerem\n"
 
-#: src/elflint.c:690
+#: src/elflint.c:694
 #, c-format
 msgid "section [%2d] '%s': XINDEX for zeroth entry not zero\n"
 msgstr "sekcja [%2d] „%s”: XINDEX dla zerowego wpisu nie jest zerem\n"
 
-#: src/elflint.c:700
+#: src/elflint.c:704
 #, c-format
 msgid "section [%2d] '%s': cannot get symbol %zu: %s\n"
 msgstr "sekcja [%2d] „%s”: nie można uzyskać symbolu %zu: %s\n"
 
-#: src/elflint.c:709
+#: src/elflint.c:713
 #, c-format
 msgid "section [%2d] '%s': symbol %zu: invalid name value\n"
 msgstr "sekcja [%2d] „%s”: symbol %zu: nieprawidłowa wartość nazwy\n"
 
-#: src/elflint.c:724
-#, c-format
+#: src/elflint.c:728
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: too large section index but no extended "
+"section [%2d] '%s': symbol %zu (%s): too large section index but no extended "
 "section index section\n"
 msgstr ""
 "sekcja [%2d] „%s”: symbol %zu: za duży indeks sekcji, ale nie ma sekcji "
 "rozszerzonych indeksów sekcji\n"
 
-#: src/elflint.c:730
-#, c-format
+#: src/elflint.c:734
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: XINDEX used for index which would fit in "
-"st_shndx (%<PRIu32>)\n"
+"section [%2d] '%s': symbol %zu (%s): XINDEX used for index which would fit "
+"in st_shndx (%<PRIu32>)\n"
 msgstr ""
 "sekcja [%2d] „%s”: symbol %zu: XINDEX użyty dla indeksu, który zmieściłby "
 "się w st_shndx (%<PRIu32>)\n"
 
 #. || sym->st_shndx > SHN_HIRESERVE  always false
-#: src/elflint.c:742
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: invalid section index\n"
+#: src/elflint.c:746
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): invalid section index\n"
 msgstr "sekcja [%2d] „%s”: symbol %zu: nieprawidłowy indeks sekcji\n"
 
-#: src/elflint.c:750
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown type\n"
+#: src/elflint.c:754
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): unknown type\n"
 msgstr "sekcja [%2d] „%s”: symbol %zu: nieznany typ\n"
 
-#: src/elflint.c:756
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown symbol binding\n"
+#: src/elflint.c:760
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): unknown symbol binding\n"
 msgstr "sekcja [%2d] „%s”: symbol %zu: nieznane dowiązanie symbolu\n"
 
-#: src/elflint.c:761
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unique symbol not of object type\n"
+#: src/elflint.c:765
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): unique symbol not of object type\n"
 msgstr ""
 "sekcja [%2d] „%s”: symbol %zu: unikalny symbol nie jest typem obiektu\n"
 
-#: src/elflint.c:769
-#, c-format
+#: src/elflint.c:773
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: COMMON only allowed in relocatable files\n"
+"section [%2d] '%s': symbol %zu (%s): COMMON only allowed in relocatable "
+"files\n"
 msgstr ""
 "sekcja [%2d] „%s”: symbol %zu: COMMON jest dozwolone tylko w plikach "
 "relokowalnych\n"
 
-#: src/elflint.c:773
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: local COMMON symbols are nonsense\n"
+#: src/elflint.c:777
+#, fuzzy, c-format
+msgid ""
+"section [%2d] '%s': symbol %zu (%s): local COMMON symbols are nonsense\n"
 msgstr "sekcja [%2d] „%s”: symbol %zu: lokalne symbole COMMON to nonsens\n"
 
-#: src/elflint.c:777
-#, c-format
+#: src/elflint.c:781
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: function in COMMON section is nonsense\n"
+"section [%2d] '%s': symbol %zu (%s): function in COMMON section is nonsense\n"
 msgstr "sekcja [%2d] „%s”: symbol %zu: funkcja w sekcji COMMON to nonsens\n"
 
-#: src/elflint.c:828
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: st_value out of bounds\n"
+#: src/elflint.c:832
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): st_value out of bounds\n"
 msgstr "sekcja [%2d] „%s”: symbol %zu: st_value spoza zakresu\n"
 
-#: src/elflint.c:834 src/elflint.c:859 src/elflint.c:908
-#, c-format
+#: src/elflint.c:838 src/elflint.c:863 src/elflint.c:912
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu does not fit completely in referenced section "
-"[%2d] '%s'\n"
+"section [%2d] '%s': symbol %zu (%s) does not fit completely in referenced "
+"section [%2d] '%s'\n"
 msgstr ""
 "sekcja [%2d] „%s”: symbol %zu nie mieści się w całości we wskazywanej sekcji "
 "[%2d] „%s”\n"
 
-#: src/elflint.c:843
-#, c-format
+#: src/elflint.c:847
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: referenced section [%2d] '%s' does not have "
-"SHF_TLS flag set\n"
+"section [%2d] '%s': symbol %zu (%s): referenced section [%2d] '%s' does not "
+"have SHF_TLS flag set\n"
 msgstr ""
 "sekcja [%2d] „%s”: symbol %zu: wskazywana sekcja [%2d] „%s” nie ma "
 "ustawionej flagi SHF_TLS\n"
 
-#: src/elflint.c:853 src/elflint.c:901
-#, c-format
+#: src/elflint.c:857 src/elflint.c:905
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: st_value out of bounds of referenced section "
-"[%2d] '%s'\n"
+"section [%2d] '%s': symbol %zu (%s): st_value out of bounds of referenced "
+"section [%2d] '%s'\n"
 msgstr ""
 "sekcja [%2d] „%s”: symbol %zu: st_value spoza zakresu wskazywanej sekcji "
 "[%2d] „%s”\n"
 
-#: src/elflint.c:880
-#, c-format
+#: src/elflint.c:884
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: TLS symbol but no TLS program header entry\n"
+"section [%2d] '%s': symbol %zu (%s): TLS symbol but no TLS program header "
+"entry\n"
 msgstr ""
 "sekcja [%2d] „%s”: symbol %zu: symbol TLS, ale brak wpisu TLS nagłówka "
 "programu\n"
 
-#: src/elflint.c:886
-#, c-format
+#: src/elflint.c:890
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: TLS symbol but couldn't get TLS program "
+"section [%2d] '%s': symbol %zu (%s): TLS symbol but couldn't get TLS program "
 "header entry\n"
 msgstr ""
 "sekcja [%2d] „%s”: symbol %zu: symbol TLS, ale nie można uzyskać wpisu TLS "
 "nagłówka programu\n"
 
-#: src/elflint.c:894
-#, c-format
+#: src/elflint.c:898
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: st_value short of referenced section [%2d] "
-"'%s'\n"
+"section [%2d] '%s': symbol %zu (%s): st_value short of referenced section "
+"[%2d] '%s'\n"
 msgstr ""
 "sekcja [%2d] „%s”: symbol %zu: st_value pomija wskazywaną sekcję [%2d] „%s”\n"
 
-#: src/elflint.c:921
-#, c-format
+#: src/elflint.c:925
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: local symbol outside range described in "
+"section [%2d] '%s': symbol %zu (%s): local symbol outside range described in "
 "sh_info\n"
 msgstr ""
 "sekcja [%2d] „%s”: symbol %zu: lokalny symbol spoza zakresu określonego "
 "w sh_info\n"
 
-#: src/elflint.c:928
-#, c-format
+#: src/elflint.c:932
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: non-local symbol outside range described in "
-"sh_info\n"
+"section [%2d] '%s': symbol %zu (%s): non-local symbol outside range "
+"described in sh_info\n"
 msgstr ""
 "sekcja [%2d] „%s”: symbol %zu: nielokalny symbol spoza zakresu określonego "
 "w sh_info\n"
 
-#: src/elflint.c:935
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: non-local section symbol\n"
+#: src/elflint.c:939
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): non-local section symbol\n"
 msgstr "sekcja [%2d] „%s”: symbol %zu: nielokalny symbol sekcji\n"
 
-#: src/elflint.c:985
+#: src/elflint.c:989
 #, c-format
 msgid ""
 "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to bad section "
@@ -1877,7 +1892,7 @@
 "sekcja [%2d] „%s”: symbol _GLOBAL_OFFSET_TABLE_ odnosi się do błędnej sekcji "
 "[%2d]\n"
 
-#: src/elflint.c:992
+#: src/elflint.c:996
 #, c-format
 msgid ""
 "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to section [%2d] "
@@ -1889,7 +1904,7 @@
 #. 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:1008
+#: src/elflint.c:1012
 #, c-format
 msgid ""
 "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol value %#<PRIx64> does not "
@@ -1898,7 +1913,7 @@
 "sekcja [%2d] „%s”: wartość symbolu _GLOBAL_OFFSET_TABLE_ %#<PRIx64> nie "
 "pasuje do adresu sekcji %s %#<PRIx64>\n"
 
-#: src/elflint.c:1015
+#: src/elflint.c:1019
 #, c-format
 msgid ""
 "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol size %<PRIu64> does not "
@@ -1907,7 +1922,7 @@
 "sekcja [%2d] „%s”: rozmiar symbolu _GLOBAL_OFFSET_TABLE_ %<PRIu64> nie "
 "pasuje do rozmiaru sekcji %s %<PRIu64>\n"
 
-#: src/elflint.c:1023
+#: src/elflint.c:1027
 #, c-format
 msgid ""
 "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol present, but no .got "
@@ -1916,7 +1931,7 @@
 "sekcja [%2d] „%s”: symbol _GLOBAL_OFFSET_TABLE_ istnieje, ale brak sekcji ."
 "got\n"
 
-#: src/elflint.c:1039
+#: src/elflint.c:1043
 #, c-format
 msgid ""
 "section [%2d] '%s': _DYNAMIC_ symbol value %#<PRIx64> does not match dynamic "
@@ -1925,7 +1940,7 @@
 "sekcja [%2d] „%s”: wartość symbolu _DYNAMIC_ %#<PRIx64> nie pasuje do adresu "
 "segmentu dynamicznego %#<PRIx64>\n"
 
-#: src/elflint.c:1046
+#: src/elflint.c:1050
 #, c-format
 msgid ""
 "section [%2d] '%s': _DYNAMIC symbol size %<PRIu64> does not match dynamic "
@@ -1934,36 +1949,36 @@
 "sekcja [%2d] „%s”: rozmiar symbolu _DYNAMIC_ %<PRIu64> nie pasuje do "
 "rozmiaru segmentu dynamicznego %<PRIu64>\n"
 
-#: src/elflint.c:1059
-#, c-format
+#: src/elflint.c:1063
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: symbol in dynamic symbol table with non-"
+"section [%2d] '%s': symbol %zu (%s): symbol in dynamic symbol table with non-"
 "default visibility\n"
 msgstr ""
 "sekcja [%2d] „%s”: symbol %zu: symbol w dynamicznej tabeli symboli "
 "z niedomyślną widocznością\n"
 
-#: src/elflint.c:1063
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown bit set in st_other\n"
+#: src/elflint.c:1067
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): unknown bit set in st_other\n"
 msgstr "sekcja [%2d] „%s”: symbol %zu: ustawiono nieznany bit w st_other\n"
 
-#: src/elflint.c:1101
+#: src/elflint.c:1105
 #, c-format
 msgid "section [%2d] '%s': cannot get section data.\n"
 msgstr "sekcja [%2d] „%s”: nie można uzyskać danych sekcji.\n"
 
-#: src/elflint.c:1117
+#: src/elflint.c:1121
 #, c-format
 msgid "section [%2d] '%s': DT_RELCOUNT used for this RELA section\n"
 msgstr "sekcja [%2d] „%s”: DT_RELCOUNT użyte dla tej sekcji RELA\n"
 
-#: src/elflint.c:1128 src/elflint.c:1181
+#: src/elflint.c:1132 src/elflint.c:1185
 #, c-format
 msgid "section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"
 msgstr "sekcja [%2d] „%s”: DT_RELCOUNT %d za duże dla tej sekcji\n"
 
-#: src/elflint.c:1153 src/elflint.c:1206
+#: src/elflint.c:1157 src/elflint.c:1210
 #, c-format
 msgid ""
 "section [%2d] '%s': relative relocations after index %d as specified by "
@@ -1972,7 +1987,7 @@
 "sekcja [%2d] „%s”: relokacje względne po indeksie %d podanym przez "
 "DT_RELCOUNT\n"
 
-#: src/elflint.c:1159 src/elflint.c:1212
+#: src/elflint.c:1163 src/elflint.c:1216
 #, c-format
 msgid ""
 "section [%2d] '%s': non-relative relocation at index %zu; DT_RELCOUNT "
@@ -1981,50 +1996,50 @@
 "sekcja [%2d] „%s”: relokacja bezwzględna pod indeksem %zu; DT_RELCOUNT podał "
 "%d relokacji względnych\n"
 
-#: src/elflint.c:1171
+#: src/elflint.c:1175
 #, c-format
 msgid "section [%2d] '%s': DT_RELACOUNT used for this REL section\n"
 msgstr "sekcja [%2d] „%s”: DT_RELACOUNT użyte dla tej sekcji REL\n"
 
-#: src/elflint.c:1254
+#: src/elflint.c:1258
 #, c-format
 msgid "section [%2d] '%s': invalid destination section index\n"
 msgstr "sekcja [%2d] „%s”: nieprawidłowy indeks sekcji docelowej\n"
 
-#: src/elflint.c:1266
+#: src/elflint.c:1270
 #, c-format
 msgid "section [%2d] '%s': invalid destination section type\n"
 msgstr "sekcja [%2d] „%s”: nieprawidłowy typ sekcji docelowej\n"
 
-#: src/elflint.c:1274
+#: src/elflint.c:1278
 #, c-format
 msgid "section [%2d] '%s': sh_info should be zero\n"
 msgstr "sekcja [%2d] „%s”: sh_info powinno wynosić zero\n"
 
-#: src/elflint.c:1282
+#: src/elflint.c:1286
 #, c-format
 msgid ""
 "section [%2d] '%s': no relocations for merge-able string sections possible\n"
 msgstr ""
 "sekcja [%2d] „%s”: relokacje dla sekcji złączalnych ciągów są niemożliwe\n"
 
-#: src/elflint.c:1290
+#: src/elflint.c:1294
 #, c-format
 msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n"
 msgstr "sekcja [%2d] „%s”: rozmiar wpisu sekcji nie zgadza się z ElfXX_Rela\n"
 
-#: src/elflint.c:1350
+#: src/elflint.c:1354
 #, c-format
 msgid "text relocation flag set but there is no read-only segment\n"
 msgstr ""
 "flaga relokacji tekstu jest ustawiona, ale nie ma segmentu tylko do odczytu\n"
 
-#: src/elflint.c:1377
+#: src/elflint.c:1381
 #, c-format
 msgid "section [%2d] '%s': relocation %zu: invalid type\n"
 msgstr "sekcja [%2d] „%s”: relokacja %zu: nieprawidłowy typ\n"
 
-#: src/elflint.c:1385
+#: src/elflint.c:1389
 #, c-format
 msgid ""
 "section [%2d] '%s': relocation %zu: relocation type invalid for the file "
@@ -2033,12 +2048,12 @@
 "sekcja [%2d] „%s”: relokacja %zu: typ relokacji nieprawidłowy dla tego typu "
 "pliku\n"
 
-#: src/elflint.c:1393
+#: src/elflint.c:1397
 #, c-format
 msgid "section [%2d] '%s': relocation %zu: invalid symbol index\n"
 msgstr "sekcja [%2d] „%s”: relokacja %zu: nieprawidłowy indeks symbolu\n"
 
-#: src/elflint.c:1411
+#: src/elflint.c:1415
 #, c-format
 msgid ""
 "section [%2d] '%s': relocation %zu: only symbol '_GLOBAL_OFFSET_TABLE_' can "
@@ -2047,12 +2062,12 @@
 "sekcja [%2d] „%s”: relokacja %zu: z %s można użyć tylko symbolu "
 "„_GLOBAL_OFFSET_TABLE_”\n"
 
-#: src/elflint.c:1428
+#: src/elflint.c:1432
 #, c-format
 msgid "section [%2d] '%s': relocation %zu: offset out of bounds\n"
 msgstr "sekcja [%2d] „%s”: relokacja %zu: offset spoza zakresu\n"
 
-#: src/elflint.c:1443
+#: src/elflint.c:1447
 #, c-format
 msgid ""
 "section [%2d] '%s': relocation %zu: copy relocation against symbol of type "
@@ -2060,7 +2075,7 @@
 msgstr ""
 "sekcja [%2d] „%s”: relokacja %zu: relokacja kopii względem symbolu typu %s\n"
 
-#: src/elflint.c:1464
+#: src/elflint.c:1468
 #, c-format
 msgid ""
 "section [%2d] '%s': relocation %zu: read-only section modified but text "
@@ -2069,23 +2084,23 @@
 "sekcja [%2d] „%s”: relokacja %zu: sekcja tylko do odczytu została "
 "zmodyfikowana, ale nie ustawiono flagi relokacji tekstu\n"
 
-#: src/elflint.c:1479
+#: src/elflint.c:1483
 #, c-format
 msgid "section [%2d] '%s': relocations are against loaded and unloaded data\n"
 msgstr ""
 "sekcja [%2d] „%s”: relokacje względem wczytanych i niewczytanych danych\n"
 
-#: src/elflint.c:1519 src/elflint.c:1570
+#: src/elflint.c:1523 src/elflint.c:1574
 #, c-format
 msgid "section [%2d] '%s': cannot get relocation %zu: %s\n"
 msgstr "sekcja [%2d] „%s”: nie można uzyskać relokacji %zu: %s\n"
 
-#: src/elflint.c:1646
+#: src/elflint.c:1650
 #, c-format
 msgid "more than one dynamic section present\n"
 msgstr "obecna jest więcej niż jedna sekcja dynamiczna\n"
 
-#: src/elflint.c:1664
+#: src/elflint.c:1668
 #, c-format
 msgid ""
 "section [%2d]: referenced as string table for section [%2d] '%s' but section "
@@ -2094,43 +2109,43 @@
 "sekcja [%2d]: wskazane jako tabela ciągów dla sekcji [%2d] „%s”, ale wartość "
 "dowiązania sekcji jest nieprawidłowa\n"
 
-#: src/elflint.c:1672
+#: src/elflint.c:1676
 #, c-format
 msgid "section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"
 msgstr "sekcja [%2d] „%s”: rozmiar wpisu sekcji nie zgadza się z ElfXX_Dyn\n"
 
-#: src/elflint.c:1677 src/elflint.c:1966
+#: src/elflint.c:1681 src/elflint.c:1970
 #, c-format
 msgid "section [%2d] '%s': sh_info not zero\n"
 msgstr "sekcja [%2d] „%s”: sh_info nie wynosi zero\n"
 
-#: src/elflint.c:1687
+#: src/elflint.c:1691
 #, c-format
 msgid "section [%2d] '%s': cannot get dynamic section entry %zu: %s\n"
 msgstr ""
 "sekcja [%2d] „%s”: nie można uzyskać wpisu %zu sekcji dynamicznej: %s\n"
 
-#: src/elflint.c:1695
+#: src/elflint.c:1699
 #, c-format
 msgid "section [%2d] '%s': non-DT_NULL entries follow DT_NULL entry\n"
 msgstr "sekcja [%2d] „%s”: wpisy nie-DT_NULL występują po wpisie DT_NULL\n"
 
-#: src/elflint.c:1702
+#: src/elflint.c:1706
 #, c-format
 msgid "section [%2d] '%s': entry %zu: unknown tag\n"
 msgstr "sekcja [%2d] „%s”: wpis %zu: nieznany znacznik\n"
 
-#: src/elflint.c:1713
+#: src/elflint.c:1717
 #, c-format
 msgid "section [%2d] '%s': entry %zu: more than one entry with tag %s\n"
 msgstr "sekcja [%2d] „%s”: wpis %zu: więcej niż jeden wpis ze znacznikiem %s\n"
 
-#: src/elflint.c:1723
+#: src/elflint.c:1727
 #, c-format
 msgid "section [%2d] '%s': entry %zu: level 2 tag %s used\n"
 msgstr "sekcja [%2d] „%s”: wpis %zu: użyto znacznika %s poziomu 2\n"
 
-#: src/elflint.c:1741
+#: src/elflint.c:1745
 #, c-format
 msgid ""
 "section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n"
@@ -2138,7 +2153,7 @@
 "sekcja [%2d] „%s”: wpis %zu: wartość DT_PLTREL musi wynosić DT_REL lub "
 "DT_RELA\n"
 
-#: src/elflint.c:1754
+#: src/elflint.c:1758
 #, c-format
 msgid ""
 "section [%2d] '%s': entry %zu: pointer does not match address of section "
@@ -2147,14 +2162,14 @@
 "sekcja [%2d] „%s”: wpis %zu: wskaźnik nie pasuje do adresu sekcji [%2d] „%s” "
 "wskazywanej przez sh_link\n"
 
-#: src/elflint.c:1797
+#: src/elflint.c:1801
 #, c-format
 msgid ""
 "section [%2d] '%s': entry %zu: %s value must point into loaded segment\n"
 msgstr ""
 "sekcja [%2d] „%s”: wpis %zu: wartość %s musi wskazywać na wczytany segment\n"
 
-#: src/elflint.c:1812
+#: src/elflint.c:1816
 #, c-format
 msgid ""
 "section [%2d] '%s': entry %zu: %s value must be valid offset in section "
@@ -2163,48 +2178,48 @@
 "sekcja [%2d] „%s”: wpis %zu: wartość %s musi być prawidłowym offsetem "
 "w sekcji [%2d] „%s”\n"
 
-#: src/elflint.c:1832 src/elflint.c:1860
+#: src/elflint.c:1836 src/elflint.c:1864
 #, c-format
 msgid "section [%2d] '%s': contains %s entry but not %s\n"
 msgstr "sekcja [%2d] „%s”: zawiera wpis %s, ale nie %s\n"
 
-#: src/elflint.c:1844
+#: src/elflint.c:1848
 #, c-format
 msgid "section [%2d] '%s': mandatory tag %s not present\n"
 msgstr "sekcja [%2d] „%s”: brak obowiązkowego znacznika %s\n"
 
-#: src/elflint.c:1853
+#: src/elflint.c:1857
 #, c-format
 msgid "section [%2d] '%s': no hash section present\n"
 msgstr "sekcja [%2d] „%s”: brak sekcji skrótów\n"
 
-#: src/elflint.c:1868 src/elflint.c:1875
+#: src/elflint.c:1872 src/elflint.c:1879
 #, c-format
 msgid "section [%2d] '%s': not all of %s, %s, and %s are present\n"
 msgstr "sekcja [%2d] „%s”: nie wszystkie z %s, %s i %s są obecne\n"
 
-#: src/elflint.c:1885 src/elflint.c:1889
+#: src/elflint.c:1889 src/elflint.c:1893
 #, c-format
 msgid "section [%2d] '%s': %s tag missing in DSO marked during prelinking\n"
 msgstr ""
 "sekcja [%2d] „%s”: brak znacznika %s w DSO oznaczonym podczas wstępnej "
 "konsolidacji\n"
 
-#: src/elflint.c:1895
+#: src/elflint.c:1899
 #, c-format
 msgid "section [%2d] '%s': non-DSO file marked as dependency during prelink\n"
 msgstr ""
 "sekcja [%2d] „%s”: plik nie-DSO oznaczony jako zależność podczas wstępnej "
 "konsolidacji\n"
 
-#: src/elflint.c:1906 src/elflint.c:1910 src/elflint.c:1914 src/elflint.c:1918
+#: src/elflint.c:1910 src/elflint.c:1914 src/elflint.c:1918 src/elflint.c:1922
 #, c-format
 msgid "section [%2d] '%s': %s tag missing in prelinked executable\n"
 msgstr ""
 "sekcja [%2d] „%s”: brak znacznika %s we wstępnie konsolidowanym pliku "
 "wykonywalnym\n"
 
-#: src/elflint.c:1930
+#: src/elflint.c:1934
 #, c-format
 msgid ""
 "section [%2d] '%s': only relocatable files can have extended section index\n"
@@ -2212,7 +2227,7 @@
 "sekcja [%2d] „%s”: tylko pliki relokowalne mogą mieć rozszerzoną sekcję "
 "indeksów\n"
 
-#: src/elflint.c:1940
+#: src/elflint.c:1944
 #, c-format
 msgid ""
 "section [%2d] '%s': extended section index section not for symbol table\n"
@@ -2220,31 +2235,31 @@
 "sekcja [%2d] „%s”: sekcja rozszerzonych indeksów sekcji nie dla tabeli "
 "symboli\n"
 
-#: src/elflint.c:1944
+#: src/elflint.c:1948
 #, c-format
 msgid "section [%2d] '%s': sh_link extended section index [%2d] is invalid\n"
 msgstr ""
 "sekcja [%2d] „%s”: rozszerzony indeks sekcji sh_link [%2d] jest "
 "nieprawidłowy\n"
 
-#: src/elflint.c:1949
+#: src/elflint.c:1953
 #, c-format
 msgid "cannot get data for symbol section\n"
 msgstr "nie można uzyskać danych dla sekcji symboli\n"
 
-#: src/elflint.c:1952
+#: src/elflint.c:1956
 #, c-format
 msgid "section [%2d] '%s': entry size does not match Elf32_Word\n"
 msgstr "sekcja [%2d] „%s”: rozmiar wpisu nie zgadza się z Elf32_Word\n"
 
-#: src/elflint.c:1961
+#: src/elflint.c:1965
 #, c-format
 msgid "section [%2d] '%s': extended index table too small for symbol table\n"
 msgstr ""
 "sekcja [%2d] „%s”: tabela rozszerzonych indeksów jest za mała dla tabeli "
 "symboli\n"
 
-#: src/elflint.c:1976
+#: src/elflint.c:1980
 #, c-format
 msgid ""
 "section [%2d] '%s': extended section index in section [%2zu] '%s' refers to "
@@ -2253,24 +2268,24 @@
 "sekcja [%2d] „%s”: rozszerzony indeks sekcji w sekcji [%2zu] „%s” odwołuje "
 "się do tej samej tabeli symboli\n"
 
-#: src/elflint.c:1994
+#: src/elflint.c:1998
 #, c-format
 msgid "symbol 0 should have zero extended section index\n"
 msgstr "symbol 0 powinien mieć zerowy rozszerzony indeks sekcji\n"
 
-#: src/elflint.c:2006
+#: src/elflint.c:2010
 #, c-format
 msgid "cannot get data for symbol %zu\n"
 msgstr "nie można uzyskać danych dla symbolu %zu\n"
 
-#: src/elflint.c:2011
+#: src/elflint.c:2015
 #, c-format
 msgid "extended section index is %<PRIu32> but symbol index is not XINDEX\n"
 msgstr ""
 "rozszerzony indeks sekcji wynosi %<PRIu32>, ale indeks symbolu nie wynosi "
 "XINDEX\n"
 
-#: src/elflint.c:2028 src/elflint.c:2085
+#: src/elflint.c:2032 src/elflint.c:2089
 #, c-format
 msgid ""
 "section [%2d] '%s': hash table section is too small (is %ld, expected %ld)\n"
@@ -2278,43 +2293,43 @@
 "sekcja [%2d] „%s”: sekcja tabeli mieszającej jest za mała (%ld, oczekiwano "
 "%ld)\n"
 
-#: src/elflint.c:2042 src/elflint.c:2099
+#: src/elflint.c:2046 src/elflint.c:2103
 #, c-format
 msgid "section [%2d] '%s': chain array too large\n"
 msgstr "sekcja [%2d] „%s”: tabela łańcuchowa jest za duża\n"
 
-#: src/elflint.c:2056 src/elflint.c:2113
+#: src/elflint.c:2060 src/elflint.c:2117
 #, c-format
 msgid "section [%2d] '%s': hash bucket reference %zu out of bounds\n"
 msgstr ""
 "sekcja [%2d] „%s”: odwołanie do kubełka skrótu %zu jest spoza zakresu\n"
 
-#: src/elflint.c:2066
+#: src/elflint.c:2070
 #, c-format
 msgid "section [%2d] '%s': hash chain reference %zu out of bounds\n"
 msgstr ""
 "sekcja [%2d] „%s”: odwołanie do łańcucha skrótu %zu jest spoza zakresu\n"
 
-#: src/elflint.c:2123
+#: src/elflint.c:2127
 #, c-format
 msgid "section [%2d] '%s': hash chain reference %<PRIu64> out of bounds\n"
 msgstr ""
 "sekcja [%2d] „%s”: odwołanie do łańcucha skrótu %<PRIu64> jest spoza "
 "zakresu\n"
 
-#: src/elflint.c:2136
+#: src/elflint.c:2140
 #, c-format
 msgid "section [%2d] '%s': not enough data\n"
 msgstr "sekcja [%2d] „%s”: brak wystarczającej ilości danych\n"
 
-#: src/elflint.c:2148
+#: src/elflint.c:2152
 #, c-format
 msgid "section [%2d] '%s': bitmask size zero or not power of 2: %u\n"
 msgstr ""
 "sekcja [%2d] „%s”: rozmiar maski bitowej wynosi zero lub nie jest potęgą 2: "
 "%u\n"
 
-#: src/elflint.c:2164
+#: src/elflint.c:2168
 #, c-format
 msgid ""
 "section [%2d] '%s': hash table section is too small (is %ld, expected at "
@@ -2323,13 +2338,13 @@
 "sekcja [%2d] „%s”: sekcja tabeli mieszającej jest za mała (wynosi %ld, "
 "oczekiwano co najmniej %ld)\n"
 
-#: src/elflint.c:2173
+#: src/elflint.c:2177
 #, c-format
 msgid "section [%2d] '%s': 2nd hash function shift too big: %u\n"
 msgstr ""
 "sekcja [%2d] „%s”: drugie przesunięcie funkcji mieszającej jest za duże: %u\n"
 
-#: src/elflint.c:2207
+#: src/elflint.c:2211
 #, c-format
 msgid ""
 "section [%2d] '%s': hash chain for bucket %zu lower than symbol index bias\n"
@@ -2337,7 +2352,7 @@
 "sekcja [%2d] „%s”: łańcuch mieszający dla kubełka %zu jest mniejszy niż "
 "przesunięcie indeksu symboli\n"
 
-#: src/elflint.c:2228
+#: src/elflint.c:2232
 #, c-format
 msgid ""
 "section [%2d] '%s': symbol %u referenced in chain for bucket %zu is "
@@ -2346,7 +2361,7 @@
 "sekcja [%2d] „%s”: symbol %u wskazywany w łańcuchu dla kubełka %zu jest "
 "nieokreślony\n"
 
-#: src/elflint.c:2241
+#: src/elflint.c:2245
 #, c-format
 msgid ""
 "section [%2d] '%s': hash value for symbol %u in chain for bucket %zu wrong\n"
@@ -2354,7 +2369,7 @@
 "sekcja [%2d] „%s”: wartość skrótu dla symbolu %u w łańcuchu dla kubełka %zu "
 "jest błędna\n"
 
-#: src/elflint.c:2250
+#: src/elflint.c:2254
 #, c-format
 msgid ""
 "section [%2d] '%s': mask index for symbol %u in chain for bucket %zu wrong\n"
@@ -2362,12 +2377,12 @@
 "sekcja [%2d] „%s”: indeks maski dla symbolu %u w łańcuchu dla kubełka %zu "
 "jest błędny\n"
 
-#: src/elflint.c:2280
+#: src/elflint.c:2284
 #, c-format
 msgid "section [%2d] '%s': hash chain for bucket %zu out of bounds\n"
 msgstr "sekcja [%2d] „%s”: łańcuch skrótu dla kubełka %zu jest spoza zakresu\n"
 
-#: src/elflint.c:2285
+#: src/elflint.c:2289
 #, c-format
 msgid ""
 "section [%2d] '%s': symbol reference in chain for bucket %zu out of bounds\n"
@@ -2375,41 +2390,41 @@
 "sekcja [%2d] „%s”: odwołanie do symbolu w łańcuchu dla kubełka %zu jest "
 "spoza zakresu\n"
 
-#: src/elflint.c:2291
+#: src/elflint.c:2295
 #, c-format
 msgid "section [%2d] '%s': bitmask does not match names in the hash table\n"
 msgstr ""
 "sekcja [%2d] „%s”: maska bitowa nie pasuje do nazw w tabeli mieszającej\n"
 
-#: src/elflint.c:2304
+#: src/elflint.c:2308
 #, c-format
 msgid "section [%2d] '%s': relocatable files cannot have hash tables\n"
 msgstr ""
 "sekcja [%2d] „%s”: pliki relokowalne nie mogą mieć tabeli mieszających\n"
 
-#: src/elflint.c:2322
+#: src/elflint.c:2326
 #, c-format
 msgid "section [%2d] '%s': hash table not for dynamic symbol table\n"
 msgstr ""
 "sekcja [%2d] „%s”: tabela mieszająca nie dla tabeli dynamicznych symboli\n"
 
-#: src/elflint.c:2326
+#: src/elflint.c:2330
 #, c-format
 msgid "section [%2d] '%s': invalid sh_link symbol table section index [%2d]\n"
 msgstr ""
 "sekcja [%2d] „%s”: nieprawidłowy indeks sekcji tabeli symboli sh_link [%2d]\n"
 
-#: src/elflint.c:2336
+#: src/elflint.c:2340
 #, c-format
 msgid "section [%2d] '%s': hash table entry size incorrect\n"
 msgstr "sekcja [%2d] „%s”: niepoprawny rozmiar wpisu tabeli mieszającej\n"
 
-#: src/elflint.c:2341
+#: src/elflint.c:2345
 #, c-format
 msgid "section [%2d] '%s': not marked to be allocated\n"
 msgstr "sekcja [%2d] „%s”: nieoznaczona do przydzielenia\n"
 
-#: src/elflint.c:2346
+#: src/elflint.c:2350
 #, c-format
 msgid ""
 "section [%2d] '%s': hash table has not even room for initial administrative "
@@ -2418,29 +2433,29 @@
 "sekcja [%2d] „%s”: tabela mieszająca nie ma miejsca nawet na początkowe "
 "wpisy administracyjne\n"
 
-#: src/elflint.c:2395
+#: src/elflint.c:2399
 #, c-format
 msgid "sh_link in hash sections [%2zu] '%s' and [%2zu] '%s' not identical\n"
 msgstr ""
 "sh_link w sekcjach skrótu [%2zu] „%s” i [%2zu] „%s” nie są identyczne\n"
 
-#: src/elflint.c:2419 src/elflint.c:2484 src/elflint.c:2519
+#: src/elflint.c:2423 src/elflint.c:2488 src/elflint.c:2523
 #, c-format
 msgid "hash section [%2zu] '%s' does not contain enough data\n"
 msgstr ""
 "sekcja mieszania [%2zu] „%s” nie zawiera wystarczającej ilości danych\n"
 
-#: src/elflint.c:2440
+#: src/elflint.c:2444
 #, c-format
 msgid "hash section [%2zu] '%s' has zero bit mask words\n"
 msgstr "sekcja mieszania [%2zu] „%s” ma zerowe słowa maski bitów\n"
 
-#: src/elflint.c:2451 src/elflint.c:2495 src/elflint.c:2532
+#: src/elflint.c:2455 src/elflint.c:2499 src/elflint.c:2536
 #, c-format
 msgid "hash section [%2zu] '%s' uses too much data\n"
 msgstr "sekcja mieszania [%2zu] „%s” używa za dużo danych\n"
 
-#: src/elflint.c:2466
+#: src/elflint.c:2470
 #, c-format
 msgid ""
 "hash section [%2zu] '%s' invalid symbol index %<PRIu32> (max_nsyms: "
@@ -2449,17 +2464,17 @@
 "sekcja mieszająca [%2zu] „%s” nieprawidłowy indeks symboli %<PRIu32> "
 "(max_nsyms: %<PRIu32>, nentries: %<PRIu32>\n"
 
-#: src/elflint.c:2553
+#: src/elflint.c:2557
 #, c-format
 msgid "hash section [%2zu] '%s' invalid sh_entsize\n"
 msgstr "sekcja mieszania [%2zu] „%s” nieprawidłowe sh_entsize\n"
 
-#: src/elflint.c:2563 src/elflint.c:2567
+#: src/elflint.c:2567 src/elflint.c:2571
 #, c-format
 msgid "section [%2zu] '%s': reference to symbol index 0\n"
 msgstr "sekcja [%2zu] „%s”: odwołanie do symbolu o indeksie 0\n"
 
-#: src/elflint.c:2574
+#: src/elflint.c:2578
 #, c-format
 msgid ""
 "symbol %d referenced in new hash table in [%2zu] '%s' but not in old hash "
@@ -2468,7 +2483,7 @@
 "symbol %d wymieniony w nowej tabeli mieszającej w [%2zu] „%s”, ale nie "
 "w poprzedniej tabeli mieszającej [%2zu] „%s”\n"
 
-#: src/elflint.c:2586
+#: src/elflint.c:2590
 #, c-format
 msgid ""
 "symbol %d referenced in old hash table in [%2zu] '%s' but not in new hash "
@@ -2477,12 +2492,12 @@
 "symbol %d wymieniony w poprzedniej tabeli mieszającej w [%2zu] „%s”, ale nie "
 "w nowej tabeli mieszającej w [%2zu] „%s”\n"
 
-#: src/elflint.c:2602
+#: src/elflint.c:2606
 #, c-format
 msgid "section [%2d] '%s': nonzero sh_%s for NULL section\n"
 msgstr "sekcja [%2d] „%s”: niezerowe sh_%s dla sekcji NULL\n"
 
-#: src/elflint.c:2622
+#: src/elflint.c:2626
 #, c-format
 msgid ""
 "section [%2d] '%s': section groups only allowed in relocatable object files\n"
@@ -2490,96 +2505,96 @@
 "sekcja [%2d] „%s”: w plikach obiektów relokowalnych dozwolone są tylko grupy "
 "sekcji\n"
 
-#: src/elflint.c:2633
+#: src/elflint.c:2637
 #, c-format
 msgid "section [%2d] '%s': cannot get symbol table: %s\n"
 msgstr "sekcja [%2d] „%s”: nie można uzyskać tabeli symboli: %s\n"
 
-#: src/elflint.c:2638
+#: src/elflint.c:2642
 #, c-format
 msgid "section [%2d] '%s': section reference in sh_link is no symbol table\n"
 msgstr ""
 "sekcja [%2d] „%s”: odwołanie do sekcji w sh_link nie ma tabeli symboli\n"
 
-#: src/elflint.c:2644
+#: src/elflint.c:2648
 #, c-format
 msgid "section [%2d] '%s': invalid symbol index in sh_info\n"
 msgstr "sekcja [%2d] „%s”: nieprawidłowy indeks symbolu w sh_info\n"
 
-#: src/elflint.c:2649
+#: src/elflint.c:2653
 #, c-format
 msgid "section [%2d] '%s': sh_flags not zero\n"
 msgstr "sekcja [%2d] „%s”: niezerowe sh_flags\n"
 
-#: src/elflint.c:2656
+#: src/elflint.c:2660
 #, c-format
 msgid "section [%2d] '%s': cannot get symbol for signature\n"
 msgstr "sekcja [%2d] „%s”: nie można uzyskać symbolu dla podpisu\n"
 
-#: src/elflint.c:2660
+#: src/elflint.c:2664
 #, c-format
 msgid "section [%2d] '%s': cannot get symbol name for signature\n"
 msgstr "sekcja [%2d] „%s”: nie można uzyskać nazwy symbolu dla podpisu\n"
 
-#: src/elflint.c:2665
+#: src/elflint.c:2669
 #, c-format
 msgid "section [%2d] '%s': signature symbol cannot be empty string\n"
 msgstr "sekcja [%2d] „%s”: symbol podpisu nie można być pustym ciągiem\n"
 
-#: src/elflint.c:2671
+#: src/elflint.c:2675
 #, c-format
 msgid "section [%2d] '%s': sh_flags not set correctly\n"
 msgstr "sekcja [%2d] „%s”: sh_flags nie ustawione poprawnie\n"
 
-#: src/elflint.c:2677
+#: src/elflint.c:2681
 #, c-format
 msgid "section [%2d] '%s': cannot get data: %s\n"
 msgstr "sekcja [%2d] „%s”: nie można uzyskać danych: %s\n"
 
-#: src/elflint.c:2686
+#: src/elflint.c:2690
 #, c-format
 msgid "section [%2d] '%s': section size not multiple of sizeof(Elf32_Word)\n"
 msgstr ""
 "sekcja [%2d] „%s”: rozmiar sekcji nie jest wielokrotnością "
 "sizeof(Elf32_Word)\n"
 
-#: src/elflint.c:2692
+#: src/elflint.c:2696
 #, c-format
 msgid "section [%2d] '%s': section group without flags word\n"
 msgstr "sekcja [%2d] „%s”: grupa sekcji bez słowa flag\n"
 
-#: src/elflint.c:2700
+#: src/elflint.c:2704
 #, c-format
 msgid "section [%2d] '%s': section group without member\n"
 msgstr "sekcja [%2d] „%s”: grupa sekcji bez elementów\n"
 
-#: src/elflint.c:2704
+#: src/elflint.c:2708
 #, c-format
 msgid "section [%2d] '%s': section group with only one member\n"
 msgstr "sekcja [%2d] „%s”: grupa sekcji z tylko jednym elementem\n"
 
-#: src/elflint.c:2715
+#: src/elflint.c:2719
 #, c-format
 msgid "section [%2d] '%s': unknown section group flags\n"
 msgstr "sekcja [%2d] „%s”: nieznane flagi grupy sekcji\n"
 
-#: src/elflint.c:2727
+#: src/elflint.c:2731
 #, c-format
 msgid "section [%2d] '%s': section index %zu out of range\n"
 msgstr "sekcja [%2d] „%s”: indeks sekcji %zu jest spoza zakresu\n"
 
-#: src/elflint.c:2736
+#: src/elflint.c:2740
 #, c-format
 msgid "section [%2d] '%s': cannot get section header for element %zu: %s\n"
 msgstr ""
 "sekcja [%2d] „%s”: nie można uzyskać nagłówka sekcji dla elementu %zu: %s\n"
 
-#: src/elflint.c:2743
+#: src/elflint.c:2747
 #, c-format
 msgid "section [%2d] '%s': section group contains another group [%2d] '%s'\n"
 msgstr "sekcja [%2d] „%s”: grupa sekcji zawiera inną grupę [%2d] „%s”\n"
 
-#: src/elflint.c:2749
+#: src/elflint.c:2753
 #, c-format
 msgid ""
 "section [%2d] '%s': element %zu references section [%2d] '%s' without "
@@ -2588,12 +2603,12 @@
 "sekcja [%2d] „%s”: element %zu odwołuje się do sekcji [%2d] „%s” bez flagi "
 "SHF_GROUP\n"
 
-#: src/elflint.c:2756
+#: src/elflint.c:2760
 #, c-format
 msgid "section [%2d] '%s' is contained in more than one section group\n"
 msgstr "sekcja [%2d] „%s” jest zawarta w więcej niż jednej grupie sekcji\n"
 
-#: src/elflint.c:2946
+#: src/elflint.c:2957
 #, c-format
 msgid ""
 "section [%2d] '%s' refers in sh_link to section [%2d] '%s' which is no "
@@ -2602,7 +2617,7 @@
 "sekcja [%2d] „%s” odwołuje się w sh_link do sekcji [%2d] „%s”, która nie "
 "jest tabelą symboli dynamicznych\n"
 
-#: src/elflint.c:2958
+#: src/elflint.c:2969
 #, c-format
 msgid ""
 "section [%2d] '%s' has different number of entries than symbol table [%2d] "
@@ -2610,76 +2625,76 @@
 msgstr ""
 "sekcja [%2d] „%s” ma inną liczbę wpisów niż tabela symboli [%2d] „%s”\n"
 
-#: src/elflint.c:2974
+#: src/elflint.c:2985
 #, c-format
 msgid "section [%2d] '%s': symbol %d: cannot read version data\n"
 msgstr "sekcja [%2d] „%s”: symbol %d: nie można odczytać danych wersji\n"
 
-#: src/elflint.c:2990
+#: src/elflint.c:3001
 #, c-format
 msgid "section [%2d] '%s': symbol %d: local symbol with global scope\n"
 msgstr "sekcja [%2d] „%s”: symbol %d: symbol lokalny z zakresem globalnym\n"
 
-#: src/elflint.c:2998
+#: src/elflint.c:3009
 #, c-format
 msgid "section [%2d] '%s': symbol %d: local symbol with version\n"
 msgstr "sekcja [%2d] „%s”: symbol %d: symbol lokalny z wersją\n"
 
-#: src/elflint.c:3012
+#: src/elflint.c:3023
 #, c-format
 msgid "section [%2d] '%s': symbol %d: invalid version index %d\n"
 msgstr "sekcja [%2d] „%s”: symbol %d: nieprawidłowy indeks wersji %d\n"
 
-#: src/elflint.c:3017
+#: src/elflint.c:3028
 #, c-format
 msgid ""
 "section [%2d] '%s': symbol %d: version index %d is for defined version\n"
 msgstr ""
 "sekcja [%2d] „%s”: symbol %d: indeks wersji %d jest dla wersji określonej\n"
 
-#: src/elflint.c:3027
+#: src/elflint.c:3038
 #, c-format
 msgid ""
 "section [%2d] '%s': symbol %d: version index %d is for requested version\n"
 msgstr ""
 "sekcja [%2d] „%s”: symbol %d: indeks wersji %d jest dla wersji żądanej\n"
 
-#: src/elflint.c:3080
+#: src/elflint.c:3091
 #, c-format
 msgid "more than one version reference section present\n"
 msgstr "obecna jest więcej niż jedna sekcja odniesienia wersji\n"
 
-#: src/elflint.c:3088 src/elflint.c:3235
+#: src/elflint.c:3099 src/elflint.c:3246
 #, c-format
 msgid "section [%2d] '%s': sh_link does not link to string table\n"
 msgstr "sekcja [%2d] „%s”: sh_link nie łączy się z tabelą ciągów\n"
 
-#: src/elflint.c:3113 src/elflint.c:3289
+#: src/elflint.c:3124 src/elflint.c:3300
 #, c-format
 msgid "section [%2d] '%s': entry %d has wrong version %d\n"
 msgstr "sekcja [%2d] „%s”: wpis %d ma błędną wersję %d\n"
 
-#: src/elflint.c:3120 src/elflint.c:3296
+#: src/elflint.c:3131 src/elflint.c:3307
 #, c-format
 msgid "section [%2d] '%s': entry %d has wrong offset of auxiliary data\n"
 msgstr "sekcja [%2d] „%s”: wpis %d ma błędny offset dla danych dodatkowych\n"
 
-#: src/elflint.c:3130
+#: src/elflint.c:3141
 #, c-format
 msgid "section [%2d] '%s': entry %d has invalid file reference\n"
 msgstr "sekcja [%2d] „%s”: symbol %d ma błędne odniesienie do pliku\n"
 
-#: src/elflint.c:3138
+#: src/elflint.c:3149
 #, c-format
 msgid "section [%2d] '%s': entry %d references unknown dependency\n"
 msgstr "sekcja [%2d] „%s”: wpis %d odnosi się do nieznanej zależności\n"
 
-#: src/elflint.c:3150
+#: src/elflint.c:3161
 #, c-format
 msgid "section [%2d] '%s': auxiliary entry %d of entry %d has unknown flag\n"
 msgstr "sekcja [%2d] „%s”: wpis dodatkowy %d do wpisu %d ma nieznaną flagę\n"
 
-#: src/elflint.c:3158
+#: src/elflint.c:3169
 #, c-format
 msgid ""
 "section [%2d] '%s': auxiliary entry %d of entry %d has invalid name "
@@ -2688,7 +2703,7 @@
 "sekcja [%2d] „%s”: wpis dodatkowy %d do wpisu %d ma nieprawidłowe "
 "odniesienie do nazwy\n"
 
-#: src/elflint.c:3167
+#: src/elflint.c:3178
 #, c-format
 msgid ""
 "section [%2d] '%s': auxiliary entry %d of entry %d has wrong hash value: "
@@ -2697,7 +2712,7 @@
 "sekcja [%2d] „%s”: wpis dodatkowy %d do wpisu %d ma błędną wartość skrótu: "
 "%#x, oczekiwano %#x\n"
 
-#: src/elflint.c:3176
+#: src/elflint.c:3187
 #, c-format
 msgid ""
 "section [%2d] '%s': auxiliary entry %d of entry %d has duplicate version "
@@ -2706,19 +2721,19 @@
 "sekcja [%2d] „%s”: wpis dodatkowy %d do wpisu %d ma powtórzoną nazwę wersji "
 "„%s”\n"
 
-#: src/elflint.c:3187
+#: src/elflint.c:3198
 #, c-format
 msgid ""
 "section [%2d] '%s': auxiliary entry %d of entry %d has wrong next field\n"
 msgstr ""
 "sekcja [%2d] „%s”: wpis dodatkowy %d do wpisu %d ma błędne następne pole\n"
 
-#: src/elflint.c:3204 src/elflint.c:3380
+#: src/elflint.c:3215 src/elflint.c:3391
 #, c-format
 msgid "section [%2d] '%s': entry %d has invalid offset to next entry\n"
 msgstr "sekcja [%2d] „%s”: wpis %d ma błędny offset do następnego wpisu\n"
 
-#: src/elflint.c:3212 src/elflint.c:3388
+#: src/elflint.c:3223 src/elflint.c:3399
 #, c-format
 msgid ""
 "section [%2d] '%s': entry %d has zero offset to next entry, but sh_info says "
@@ -2727,43 +2742,43 @@
 "sekcja [%2d] „%s”: wpis %d ma zerowy offset do następnego wpisu, ale sh_info "
 "zawiera informacje o większej liczbie wpisów\n"
 
-#: src/elflint.c:3227
+#: src/elflint.c:3238
 #, c-format
 msgid "more than one version definition section present\n"
 msgstr "obecna jest więcej niż jedna sekcja definicji wersji\n"
 
-#: src/elflint.c:3274
+#: src/elflint.c:3285
 #, c-format
 msgid "section [%2d] '%s': more than one BASE definition\n"
 msgstr "sekcja [%2d] „%s”: jest więcej niż jedna definicja BASE\n"
 
-#: src/elflint.c:3278
+#: src/elflint.c:3289
 #, c-format
 msgid "section [%2d] '%s': BASE definition must have index VER_NDX_GLOBAL\n"
 msgstr "sekcja [%2d] „%s”: definicja BASE musi mieć indeks VER_NDX_GLOBAL\n"
 
-#: src/elflint.c:3284
+#: src/elflint.c:3295
 #, c-format
 msgid "section [%2d] '%s': entry %d has unknown flag\n"
 msgstr "sekcja [%2d] „%s”: wpis %d ma nieznaną flagę\n"
 
-#: src/elflint.c:3311
+#: src/elflint.c:3322
 #, c-format
 msgid "section [%2d] '%s': entry %d has invalid name reference\n"
 msgstr "sekcja [%2d] „%s”: wpis %d ma nieprawidłowe odniesienie do nazwy\n"
 
-#: src/elflint.c:3318
+#: src/elflint.c:3329
 #, c-format
 msgid "section [%2d] '%s': entry %d has wrong hash value: %#x, expected %#x\n"
 msgstr ""
 "sekcja [%2d] „%s”: wpis %d ma błędną wartość skrótu: %#x, oczekiwano %#x\n"
 
-#: src/elflint.c:3326
+#: src/elflint.c:3337
 #, c-format
 msgid "section [%2d] '%s': entry %d has duplicate version name '%s'\n"
 msgstr "sekcja [%2d] „%s”: wpis %d ma powtórzoną nazwę wersji „%s”\n"
 
-#: src/elflint.c:3346
+#: src/elflint.c:3357
 #, c-format
 msgid ""
 "section [%2d] '%s': entry %d has invalid name reference in auxiliary data\n"
@@ -2771,51 +2786,51 @@
 "sekcja [%2d] „%s”: wpis %d ma nieprawidłowe odniesienie do nazwy w danych "
 "dodatkowych\n"
 
-#: src/elflint.c:3363
+#: src/elflint.c:3374
 #, c-format
 msgid "section [%2d] '%s': entry %d has wrong next field in auxiliary data\n"
 msgstr ""
 "sekcja [%2d] „%s”: wpis %d ma błędne następne pole w danych dodatkowych\n"
 
-#: src/elflint.c:3396
+#: src/elflint.c:3407
 #, c-format
 msgid "section [%2d] '%s': no BASE definition\n"
 msgstr "sekcja [%2d] „%s”: brak definicji BASE\n"
 
-#: src/elflint.c:3412
+#: src/elflint.c:3423
 #, c-format
 msgid "section [%2d] '%s': unknown parent version '%s'\n"
 msgstr "sekcja [%2d] „%s”: nieznana wersja rodzica „%s”\n"
 
-#: src/elflint.c:3425
+#: src/elflint.c:3436
 #, c-format
 msgid "section [%2d] '%s': empty object attributes section\n"
 msgstr "sekcja [%2d] „%s”: pusta sekcja atrybutów obiektu\n"
 
-#: src/elflint.c:3446
+#: src/elflint.c:3457
 #, c-format
 msgid "section [%2d] '%s': unrecognized attribute format\n"
 msgstr "sekcja [%2d] „%s”: nierozpoznany format atrybutu\n"
 
-#: src/elflint.c:3462
+#: src/elflint.c:3473
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: zero length field in attribute section\n"
 msgstr ""
 "sekcja [%2d] „%s”: offset %zu: pole o zerowej długości w sekcji atrybutów\n"
 
-#: src/elflint.c:3471
+#: src/elflint.c:3482
 #, c-format
 msgid "section [%2d] '%s': offset %zu: invalid length in attribute section\n"
 msgstr ""
 "sekcja [%2d] „%s”: offset %zu: nieprawidłowa długość w sekcji atrybutów\n"
 
-#: src/elflint.c:3483
+#: src/elflint.c:3494
 #, c-format
 msgid "section [%2d] '%s': offset %zu: unterminated vendor name string\n"
 msgstr "sekcja [%2d] „%s”: offset %zu: niezakończony ciąg nazwy producenta\n"
 
-#: src/elflint.c:3500
+#: src/elflint.c:3511
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: endless ULEB128 in attribute subsection tag\n"
@@ -2823,19 +2838,19 @@
 "sekcja [%2d] „%s”: offset %zu: niekończące się ULEB128 w znaczniku podsekcji "
 "atrybutów\n"
 
-#: src/elflint.c:3509
+#: src/elflint.c:3520
 #, c-format
 msgid "section [%2d] '%s': offset %zu: truncated attribute section\n"
 msgstr "sekcja [%2d] „%s”: offset %zu: skrócona sekcja atrybutów\n"
 
-#: src/elflint.c:3518
+#: src/elflint.c:3529
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: zero length field in attribute subsection\n"
 msgstr ""
 "sekcja [%2d] „%s”: offset %zu: zerowej długości pole w podsekcji atrybutów\n"
 
-#: src/elflint.c:3533
+#: src/elflint.c:3544
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: invalid length in attribute subsection\n"
@@ -2843,7 +2858,7 @@
 "sekcja [%2d] „%s”: offset %zu: nieprawidłowa długość w podsekcji atrybutów\n"
 
 #. Tag_File
-#: src/elflint.c:3544
+#: src/elflint.c:3555
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: attribute subsection has unexpected tag %u\n"
@@ -2851,23 +2866,23 @@
 "sekcja [%2d] „%s”: offset %zu: podsekcja atrybutów ma nieoczekiwany znacznik "
 "%u\n"
 
-#: src/elflint.c:3562
+#: src/elflint.c:3573
 #, c-format
 msgid "section [%2d] '%s': offset %zu: endless ULEB128 in attribute tag\n"
 msgstr ""
 "sekcja [%2d] „%s”: offset %zu: niekończące się ULEB128 w znaczniku atrybutu\n"
 
-#: src/elflint.c:3573
+#: src/elflint.c:3584
 #, c-format
 msgid "section [%2d] '%s': offset %zu: unterminated string in attribute\n"
 msgstr "sekcja [%2d] „%s”: offset %zu: niezakończony ciąg w atrybucie\n"
 
-#: src/elflint.c:3586
+#: src/elflint.c:3597
 #, c-format
 msgid "section [%2d] '%s': offset %zu: unrecognized attribute tag %u\n"
 msgstr "sekcja [%2d] „%s”: offset %zu: nierozpoznany znacznik atrybutu %u\n"
 
-#: src/elflint.c:3590
+#: src/elflint.c:3601
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: unrecognized %s attribute value %<PRIu64>\n"
@@ -2875,12 +2890,12 @@
 "sekcja [%2d] „%s”: offset %zu: atrybut %s ma nierozpoznaną wartość "
 "%<PRIu64>\n"
 
-#: src/elflint.c:3600
+#: src/elflint.c:3611
 #, c-format
 msgid "section [%2d] '%s': offset %zu: vendor '%s' unknown\n"
 msgstr "sekcja [%2d] „%s”: offset %zu: producent „%s” jest nieznany\n"
 
-#: src/elflint.c:3606
+#: src/elflint.c:3617
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: extra bytes after last attribute section\n"
@@ -2888,47 +2903,47 @@
 "sekcja [%2d] „%s”: offset %zu: dodatkowe bajty po ostatniej sekcji "
 "atrybutów\n"
 
-#: src/elflint.c:3695
+#: src/elflint.c:3714
 #, c-format
 msgid "cannot get section header of zeroth section\n"
 msgstr "nie można uzyskać nagłówka sekcji zerowej\n"
 
-#: src/elflint.c:3699
+#: src/elflint.c:3718
 #, c-format
 msgid "zeroth section has nonzero name\n"
 msgstr "sekcja zerowa ma niezerową nazwę\n"
 
-#: src/elflint.c:3701
+#: src/elflint.c:3720
 #, c-format
 msgid "zeroth section has nonzero type\n"
 msgstr "sekcja zerowa ma niezerowy typ\n"
 
-#: src/elflint.c:3703
+#: src/elflint.c:3722
 #, c-format
 msgid "zeroth section has nonzero flags\n"
 msgstr "sekcja zerowa ma niezerowe flagi\n"
 
-#: src/elflint.c:3705
+#: src/elflint.c:3724
 #, c-format
 msgid "zeroth section has nonzero address\n"
 msgstr "sekcja zerowa ma niezerowy adres\n"
 
-#: src/elflint.c:3707
+#: src/elflint.c:3726
 #, c-format
 msgid "zeroth section has nonzero offset\n"
 msgstr "sekcja zerowa ma niezerowy offset\n"
 
-#: src/elflint.c:3709
+#: src/elflint.c:3728
 #, c-format
 msgid "zeroth section has nonzero align value\n"
 msgstr "sekcja zerowa ma niezerową wartość wyrównania\n"
 
-#: src/elflint.c:3711
+#: src/elflint.c:3730
 #, c-format
 msgid "zeroth section has nonzero entry size value\n"
 msgstr "sekcja zerowa ma niezerową wartość rozmiaru wpisu\n"
 
-#: src/elflint.c:3714
+#: src/elflint.c:3733
 #, c-format
 msgid ""
 "zeroth section has nonzero size value while ELF header has nonzero shnum "
@@ -2937,7 +2952,7 @@
 "sekcja zerowa ma niezerową wartość rozmiaru, a nagłówek ELF ma niezerową "
 "wartość shnum\n"
 
-#: src/elflint.c:3718
+#: src/elflint.c:3737
 #, c-format
 msgid ""
 "zeroth section has nonzero link value while ELF header does not signal "
@@ -2946,7 +2961,7 @@
 "sekcja zerowa ma niezerową wartość dowiązań, a nagłówek ELF nie wskazuje "
 "przepełnienia w shstrndx\n"
 
-#: src/elflint.c:3722
+#: src/elflint.c:3741
 #, c-format
 msgid ""
 "zeroth section has nonzero link value while ELF header does not signal "
@@ -2955,46 +2970,46 @@
 "sekcja zerowa ma niezerową wartość dowiązań, a nagłówek ELF nie wskazuje "
 "przepełnienia w phnum\n"
 
-#: src/elflint.c:3740
+#: src/elflint.c:3759
 #, c-format
 msgid "cannot get section header for section [%2zu] '%s': %s\n"
 msgstr "nie można uzyskać nagłówka sekcji dla sekcji [%2zu] „%s”: %s\n"
 
-#: src/elflint.c:3749
+#: src/elflint.c:3768
 #, c-format
 msgid "section [%2zu]: invalid name\n"
 msgstr "sekcja [%2zu]: nieprawidłowa nazwa\n"
 
-#: src/elflint.c:3776
+#: src/elflint.c:3795
 #, c-format
 msgid "section [%2d] '%s' has wrong type: expected %s, is %s\n"
 msgstr "sekcja [%2d] „%s” ma błędny typ: oczekiwano %s, jest %s\n"
 
-#: src/elflint.c:3794
+#: src/elflint.c:3812
 #, c-format
 msgid "section [%2zu] '%s' has wrong flags: expected %s, is %s\n"
 msgstr "sekcja [%2zu] „%s” ma błędne flagi: oczekiwano %s, jest %s\n"
 
-#: src/elflint.c:3812
+#: src/elflint.c:3830
 #, c-format
 msgid ""
 "section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n"
 msgstr ""
 "sekcja [%2zu] „%s” ma błędne flagi: oczekiwano %s i być może %s, jest %s\n"
 
-#: src/elflint.c:3830
+#: src/elflint.c:3847
 #, c-format
 msgid "section [%2zu] '%s' present in object file\n"
 msgstr "sekcja [%2zu] „%s” jest obecna w pliku obiektu\n"
 
-#: src/elflint.c:3836 src/elflint.c:3868
+#: src/elflint.c:3853 src/elflint.c:3885
 #, c-format
 msgid ""
 "section [%2zu] '%s' has SHF_ALLOC flag set but there is no loadable segment\n"
 msgstr ""
 "sekcja [%2zu] „%s” ma flagę SHF_ALLOC, ale nie ma segmentu wczytywalnego\n"
 
-#: src/elflint.c:3841 src/elflint.c:3873
+#: src/elflint.c:3858 src/elflint.c:3890
 #, c-format
 msgid ""
 "section [%2zu] '%s' has SHF_ALLOC flag not set but there are loadable "
@@ -3002,7 +3017,7 @@
 msgstr ""
 "sekcja [%2zu] „%s” nie ma flagi SHF_ALLOC, ale są segmenty wczytywalne\n"
 
-#: src/elflint.c:3849
+#: src/elflint.c:3866
 #, c-format
 msgid ""
 "section [%2zu] '%s' is extension section index table in non-object file\n"
@@ -3010,22 +3025,22 @@
 "sekcja [%2zu] „%s” jest tabelą indeksów sekcji rozszerzeń w pliku "
 "nieobiektowym\n"
 
-#: src/elflint.c:3892
+#: src/elflint.c:3909
 #, c-format
 msgid "section [%2zu] '%s': size not multiple of entry size\n"
 msgstr "sekcja [%2zu] „%s”: rozmiar nie jest wielokrotnością rozmiaru wpisu\n"
 
-#: src/elflint.c:3897
+#: src/elflint.c:3914
 #, c-format
 msgid "cannot get section header\n"
 msgstr "nie można uzyskać nagłówka sekcji\n"
 
-#: src/elflint.c:3907
+#: src/elflint.c:3924
 #, c-format
 msgid "section [%2zu] '%s' has unsupported type %d\n"
 msgstr "sekcja [%2zu] „%s” ma nieobsługiwany typ %d\n"
 
-#: src/elflint.c:3922
+#: src/elflint.c:3944
 #, c-format
 msgid ""
 "section [%2zu] '%s' contains invalid processor-specific flag(s) %#<PRIx64>\n"
@@ -3033,74 +3048,74 @@
 "sekcja [%2zu] „%s” zawiera nieprawidłowe flagi dla konkretnego procesora "
 "%#<PRIx64>\n"
 
-#: src/elflint.c:3929
+#: src/elflint.c:3954
 #, c-format
 msgid "section [%2zu] '%s' contains unknown flag(s) %#<PRIx64>\n"
 msgstr "sekcja [%2zu] „%s” zawiera nieznane flagi %#<PRIx64>\n"
 
-#: src/elflint.c:3937
+#: src/elflint.c:3962
 #, c-format
 msgid "section [%2zu] '%s': thread-local data sections address not zero\n"
 msgstr ""
 "sekcja [%2zu] „%s”: adres sekcji danych lokalnych dla wątków nie jest zerem\n"
 
-#: src/elflint.c:3947
+#: src/elflint.c:3972
 #, c-format
 msgid "section [%2zu] '%s': allocated section cannot be compressed\n"
 msgstr "sekcja [%2zu] „%s”: nie można skompresować przydzielonej sekcji\n"
 
-#: src/elflint.c:3952
+#: src/elflint.c:3977
 #, c-format
 msgid "section [%2zu] '%s': nobits section cannot be compressed\n"
 msgstr "sekcja [%2zu] „%s”: nie można skompresować sekcji „nobits”\n"
 
-#: src/elflint.c:3958
+#: src/elflint.c:3983
 #, c-format
 msgid ""
 "section [%2zu] '%s': compressed section with no compression header: %s\n"
 msgstr "sekcja [%2zu] „%s”: skompresowana sekcja bez nagłówka kompresji: %s\n"
 
-#: src/elflint.c:3964
+#: src/elflint.c:3989
 #, c-format
 msgid "section [%2zu] '%s': invalid section reference in link value\n"
 msgstr ""
 "sekcja [%2zu] „%s”: nieprawidłowe odwołanie do sekcji w wartości dowiązania\n"
 
-#: src/elflint.c:3969
+#: src/elflint.c:3994
 #, c-format
 msgid "section [%2zu] '%s': invalid section reference in info value\n"
 msgstr ""
 "sekcja [%2zu] „%s”: nieprawidłowe odwołanie do sekcji w wartości "
 "informacyjnej\n"
 
-#: src/elflint.c:3976
+#: src/elflint.c:4001
 #, c-format
 msgid "section [%2zu] '%s': strings flag set without merge flag\n"
 msgstr "sekcja [%2zu] „%s”: flaga ciągów jest ustawiona bez flagi merge\n"
 
-#: src/elflint.c:3981
+#: src/elflint.c:4006
 #, c-format
 msgid "section [%2zu] '%s': merge flag set but entry size is zero\n"
 msgstr ""
 "sekcja [%2zu] „%s”: flaga merge jest ustawiona, ale rozmiar wpisu jest "
 "zerowy\n"
 
-#: src/elflint.c:4000
+#: src/elflint.c:4025
 #, c-format
 msgid "section [%2zu] '%s' has unexpected type %d for an executable section\n"
 msgstr "sekcja [%2zu] „%s” ma nieoczekiwany typ %d dla sekcji wykonywalnej\n"
 
-#: src/elflint.c:4009
+#: src/elflint.c:4034
 #, c-format
 msgid "section [%2zu] '%s' must be of type NOBITS in debuginfo files\n"
 msgstr "sekcja [%2zu] „%s” musi być typu NOBITS w plikach debuginfo\n"
 
-#: src/elflint.c:4016
+#: src/elflint.c:4041
 #, c-format
 msgid "section [%2zu] '%s' is both executable and writable\n"
 msgstr "sekcja [%2zu] „%s” jest wykonywalne i zapisywalne\n"
 
-#: src/elflint.c:4047
+#: src/elflint.c:4072
 #, c-format
 msgid ""
 "section [%2zu] '%s' not fully contained in segment of program header entry "
@@ -3109,7 +3124,7 @@
 "sekcja [%2zu] „%s” nie jest w całości zawarta w segmencie wpisu %d nagłówka "
 "programu\n"
 
-#: src/elflint.c:4057
+#: src/elflint.c:4082
 #, c-format
 msgid ""
 "section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
@@ -3118,7 +3133,7 @@
 "sekcja [%2zu] „%s” ma typ NOBITS, a jest odczytywana z pliku w segmencie "
 "wpisu %d nagłówka programu\n"
 
-#: src/elflint.c:4083
+#: src/elflint.c:4108
 #, c-format
 msgid ""
 "section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
@@ -3127,7 +3142,7 @@
 "sekcja [%2zu] „%s” ma typ NOBITS, ale jest odczytywana z pliku w segmencie "
 "wpisu %d nagłówka programu, a zawartość pliku jest niezerowa\n"
 
-#: src/elflint.c:4094
+#: src/elflint.c:4119
 #, c-format
 msgid ""
 "section [%2zu] '%s' has not type NOBITS but is not read from the file in "
@@ -3136,17 +3151,17 @@
 "sekcja [%2zu] „%s” nie ma typu NOBITS, a nie jest odczytywana z pliku "
 "w segmencie wpisu %d nagłówka programu\n"
 
-#: src/elflint.c:4105
+#: src/elflint.c:4130
 #, c-format
 msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n"
 msgstr "sekcja [%2zu] „%s” jest wykonywalne w segmencie niewykonywalnym %d\n"
 
-#: src/elflint.c:4115
+#: src/elflint.c:4140
 #, c-format
 msgid "section [%2zu] '%s' is writable in unwritable segment %d\n"
 msgstr "sekcja [%2zu] „%s” jest zapisywalne w niezapisywalnym segmencie %d\n"
 
-#: src/elflint.c:4125
+#: src/elflint.c:4150
 #, c-format
 msgid ""
 "section [%2zu] '%s': alloc flag set but section not in any loaded segment\n"
@@ -3154,7 +3169,7 @@
 "sekcja [%2zu] „%s”: ma flagę alloc, ale sekcja nie jest w żadnym segmencie "
 "wczytywalnym\n"
 
-#: src/elflint.c:4131
+#: src/elflint.c:4156
 #, c-format
 msgid ""
 "section [%2zu] '%s': ELF header says this is the section header string table "
@@ -3163,7 +3178,7 @@
 "sekcja [%2zu] „%s”: według nagłówka ELF to jest tabela ciągów nagłówków "
 "sekcji, ale typ nie jest SHT_TYPE\n"
 
-#: src/elflint.c:4139
+#: src/elflint.c:4164
 #, c-format
 msgid ""
 "section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n"
@@ -3171,17 +3186,17 @@
 "sekcja [%2zu] „%s”: pliki relokowalne nie mogą mieć tabeli symboli "
 "dynamicznych\n"
 
-#: src/elflint.c:4190
+#: src/elflint.c:4215
 #, c-format
 msgid "more than one version symbol table present\n"
 msgstr "obecna jest więcej niż jedna tabela symboli wersji\n"
 
-#: src/elflint.c:4213
+#: src/elflint.c:4238
 #, c-format
 msgid "INTERP program header entry but no .interp section\n"
 msgstr "jest wpis nagłówka programu INTERP, ale nie ma sekcji .interp\n"
 
-#: src/elflint.c:4224
+#: src/elflint.c:4249
 #, c-format
 msgid ""
 "loadable segment [%u] is executable but contains no executable sections\n"
@@ -3189,14 +3204,14 @@
 "wczytywalny segment [%u] jest wykonywalny, ale nie zawiera wykonywalnych "
 "sekcji\n"
 
-#: src/elflint.c:4230
+#: src/elflint.c:4255
 #, c-format
 msgid "loadable segment [%u] is writable but contains no writable sections\n"
 msgstr ""
 "wczytywalny segment [%u] jest zapisywalny, ale nie zawiera zapisywalnych "
 "sekcji\n"
 
-#: src/elflint.c:4241
+#: src/elflint.c:4266
 #, c-format
 msgid ""
 "no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section "
@@ -3205,23 +3220,23 @@
 "brak sekcji .gnu.versym, ale istnieje sekcja .gnu.versym_d lub .gnu."
 "versym_r\n"
 
-#: src/elflint.c:4254
+#: src/elflint.c:4279
 #, c-format
 msgid "duplicate version index %d\n"
 msgstr "powtórzony indeks wersji %d\n"
 
-#: src/elflint.c:4268
+#: src/elflint.c:4293
 #, c-format
 msgid ".gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n"
 msgstr "sekcja .gnu.versym istnieje bez .gnu.versym_d lub .gnu.versym_r\n"
 
-#: src/elflint.c:4317
+#: src/elflint.c:4342
 #, c-format
 msgid "phdr[%d]: unknown core file note type %<PRIu32> at offset %<PRIu64>\n"
 msgstr ""
 "phdr[%d]: nieznany typ notatki pliku core %<PRIu32> pod offsetem %<PRIu64>\n"
 
-#: src/elflint.c:4321
+#: src/elflint.c:4346
 #, c-format
 msgid ""
 "section [%2d] '%s': unknown core file note type %<PRIu32> at offset %zu\n"
@@ -3229,7 +3244,7 @@
 "sekcja [%2d]: „%s”: nieznany typ notatki pliku core %<PRIu32> pod offsetem "
 "%zu\n"
 
-#: src/elflint.c:4370
+#: src/elflint.c:4395
 #, fuzzy, c-format
 msgid ""
 "phdr[%d]: unknown object file note type %<PRIu32> with owner name '%s' at "
@@ -3237,7 +3252,7 @@
 msgstr ""
 "phdr[%d]: nieznany typ notatki pliku obiektu %<PRIu32> pod offsetem %zu\n"
 
-#: src/elflint.c:4375
+#: src/elflint.c:4400
 #, fuzzy, c-format
 msgid ""
 "section [%2d] '%s': unknown object file note type %<PRIu32> with owner name "
@@ -3246,37 +3261,37 @@
 "sekcja [%2d] „%s”: nieznany typ notatki pliku obiektu %<PRIu32> pod offsetem "
 "%zu\n"
 
-#: src/elflint.c:4394
+#: src/elflint.c:4419
 #, c-format
 msgid "phdr[%d]: no note entries defined for the type of file\n"
 msgstr "phdr[%d]: brak określonych wpisów notatek dla typu pliku\n"
 
-#: src/elflint.c:4414
+#: src/elflint.c:4439
 #, c-format
 msgid "phdr[%d]: cannot get content of note section: %s\n"
 msgstr "phdr[%d]: nie można uzyskać zawartości sekcji notatki: %s\n"
 
-#: src/elflint.c:4417
+#: src/elflint.c:4442
 #, c-format
 msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n"
 msgstr "phdr[%d]: dodatkowe %<PRIu64> bajtów po ostatniej notatce\n"
 
-#: src/elflint.c:4438
+#: src/elflint.c:4463
 #, c-format
 msgid "section [%2d] '%s': no note entries defined for the type of file\n"
 msgstr "sekcja [%2d] „%s”: brak określonych wpisów notatek dla typu pliku\n"
 
-#: src/elflint.c:4445
+#: src/elflint.c:4470
 #, c-format
 msgid "section [%2d] '%s': cannot get content of note section\n"
 msgstr "sekcja [%2d] „%s”: nie można uzyskać zawartości sekcji notatek\n"
 
-#: src/elflint.c:4448
+#: src/elflint.c:4473
 #, c-format
 msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n"
 msgstr "sekcja [%2d] „%s”: dodatkowe %<PRIu64> bajtów po ostatniej notatce\n"
 
-#: src/elflint.c:4466
+#: src/elflint.c:4491
 #, c-format
 msgid ""
 "only executables, shared objects, and core files can have program headers\n"
@@ -3284,135 +3299,135 @@
 "tylko pliki wykonywalne, obiekty współdzielone i pliki core mogą mieć "
 "nagłówki programu\n"
 
-#: src/elflint.c:4481
+#: src/elflint.c:4506
 #, c-format
 msgid "cannot get program header entry %d: %s\n"
 msgstr "nie można uzyskać wpisu nagłówka programu %d: %s\n"
 
-#: src/elflint.c:4490
+#: src/elflint.c:4516
 #, c-format
 msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n"
 msgstr ""
 "wpis nagłówka programu %d: nieznany typ wpisu nagłówka programu %#<PRIx64>\n"
 
-#: src/elflint.c:4501
+#: src/elflint.c:4527
 #, c-format
 msgid "more than one INTERP entry in program header\n"
 msgstr "więcej niż jeden wpis INTERP w nagłówku programu\n"
 
-#: src/elflint.c:4509
+#: src/elflint.c:4535
 #, c-format
 msgid "more than one TLS entry in program header\n"
 msgstr "więcej niż jeden wpis TLS w nagłówku programu\n"
 
-#: src/elflint.c:4516
+#: src/elflint.c:4542
 #, c-format
 msgid "static executable cannot have dynamic sections\n"
 msgstr "statyczny plik wykonywalny nie może mieć sekcji dynamicznych\n"
 
-#: src/elflint.c:4530
+#: src/elflint.c:4556
 #, c-format
 msgid "dynamic section reference in program header has wrong offset\n"
 msgstr "odniesienie sekcji dynamicznej w nagłówku programu ma błędny offset\n"
 
-#: src/elflint.c:4533
+#: src/elflint.c:4559
 #, c-format
 msgid "dynamic section size mismatch in program and section header\n"
 msgstr "różne rozmiary sekcji dynamicznej w nagłówku programu i sekcji\n"
 
-#: src/elflint.c:4543
+#: src/elflint.c:4569
 #, c-format
 msgid "more than one GNU_RELRO entry in program header\n"
 msgstr "więcej niż jeden wpis GNU_RELRO w nagłówku programu\n"
 
-#: src/elflint.c:4564
+#: src/elflint.c:4590
 #, c-format
 msgid "loadable segment GNU_RELRO applies to is not writable\n"
 msgstr "wczytywalny segment wskazywany przez GNU_RELRO nie jest zapisywalny\n"
 
-#: src/elflint.c:4575
+#: src/elflint.c:4601
 #, c-format
 msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n"
 msgstr "flagi wczytywalnego segmentu [%u] nie pasują do flag GNU_RELRO [%u]\n"
 
-#: src/elflint.c:4582
+#: src/elflint.c:4608
 #, c-format
 msgid ""
 "GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n"
 msgstr ""
 "flagi GNU_RELRO [%u] nie są podzbiorem flag wczytywalnego segmentu [%u]\n"
 
-#: src/elflint.c:4591 src/elflint.c:4614
+#: src/elflint.c:4617 src/elflint.c:4640
 #, c-format
 msgid "%s segment not contained in a loaded segment\n"
 msgstr "segment %s nie zawiera się we wczytywalnym segmencie\n"
 
-#: src/elflint.c:4620
+#: src/elflint.c:4646
 #, c-format
 msgid "program header offset in ELF header and PHDR entry do not match"
 msgstr ""
 "offsety nagłówka programu w nagłówku ELF i wpisie PHDR nie zgadzają się"
 
-#: src/elflint.c:4647
+#: src/elflint.c:4673
 #, c-format
 msgid "call frame search table reference in program header has wrong offset\n"
 msgstr ""
 "odniesienie tabeli wyszukiwania ramki wywołania w nagłówku programu ma "
 "błędny offset\n"
 
-#: src/elflint.c:4650
+#: src/elflint.c:4676
 #, c-format
 msgid "call frame search table size mismatch in program and section header\n"
 msgstr ""
 "różne rozmiary tabel wyszukiwania ramki wywołania w nagłówku programu "
 "i sekcji\n"
 
-#: src/elflint.c:4663
+#: src/elflint.c:4689
 #, c-format
 msgid "PT_GNU_EH_FRAME present but no .eh_frame_hdr section\n"
 msgstr "PT_GNU_EH_FRAME jest obecne, ale brak sekcji .eh_frame_hdr\n"
 
-#: src/elflint.c:4671
+#: src/elflint.c:4697
 #, c-format
 msgid "call frame search table must be allocated\n"
 msgstr "tabela wyszukiwania ramki wywołania musi być przydzielona\n"
 
-#: src/elflint.c:4674
+#: src/elflint.c:4700
 #, c-format
 msgid "section [%2zu] '%s' must be allocated\n"
 msgstr "sekcja [%2zu] „%s”: musi być przydzielona\n"
 
-#: src/elflint.c:4678
+#: src/elflint.c:4704
 #, c-format
 msgid "call frame search table must not be writable\n"
 msgstr "tabela wyszukiwania ramki wywołania nie może być zapisywalna\n"
 
-#: src/elflint.c:4681
+#: src/elflint.c:4707
 #, c-format
 msgid "section [%2zu] '%s' must not be writable\n"
 msgstr "sekcja [%2zu] „%s” nie może być zapisywalna\n"
 
-#: src/elflint.c:4686
+#: src/elflint.c:4712
 #, c-format
 msgid "call frame search table must not be executable\n"
 msgstr "tabela wyszukiwania ramki wywołania nie może być wykonywalna\n"
 
-#: src/elflint.c:4689
+#: src/elflint.c:4715
 #, c-format
 msgid "section [%2zu] '%s' must not be executable\n"
 msgstr "sekcja [%2zu] „%s” nie może być wykonywalna\n"
 
-#: src/elflint.c:4700
+#: src/elflint.c:4726
 #, c-format
 msgid "program header entry %d: file size greater than memory size\n"
 msgstr "wpis nagłówka programu %d: rozmiar pliku większy niż rozmiar pamięci\n"
 
-#: src/elflint.c:4707
+#: src/elflint.c:4733
 #, c-format
 msgid "program header entry %d: alignment not a power of 2\n"
 msgstr "wpis nagłówka programu %d: wyrównanie nie jest potęgą 2\n"
 
-#: src/elflint.c:4710
+#: src/elflint.c:4736
 #, c-format
 msgid ""
 "program header entry %d: file offset and virtual address not module of "
@@ -3421,7 +3436,7 @@
 "wpis nagłówka programu %d: offset w pliku i adres wirtualny nie są "
 "wielokrotnością wyrównania\n"
 
-#: src/elflint.c:4723
+#: src/elflint.c:4749
 #, c-format
 msgid ""
 "executable/DSO with .eh_frame_hdr section does not have a PT_GNU_EH_FRAME "
@@ -3430,12 +3445,17 @@
 "plik wykonywalny/DSO z sekcją .eh_frame_hdr nie ma wpisu nagłówka programu "
 "PT_GNU_EH_FRAME"
 
-#: src/elflint.c:4757
+#: src/elflint.c:4783
 #, c-format
 msgid "cannot read ELF header: %s\n"
 msgstr "nie można odczytać nagłówka ELF: %s\n"
 
-#: src/elflint.c:4783
+#: src/elflint.c:4795
+#, fuzzy, c-format
+msgid "cannot create backend for ELF file\n"
+msgstr "nie można utworzyć nowego pliku"
+
+#: src/elflint.c:4816
 #, c-format
 msgid "text relocation flag set but not needed\n"
 msgstr "flaga relokacji tekstu jest ustawiona, ale niepotrzebna\n"
@@ -3613,7 +3633,7 @@
 msgid "Print size of defined symbols"
 msgstr "Wyświetla rozmiar określonych symboli"
 
-#: src/nm.c:91 src/size.c:68 src/strip.c:75 src/unstrip.c:73
+#: src/nm.c:91 src/size.c:68 src/strip.c:75 src/unstrip.c:69
 msgid "Output options:"
 msgstr "Opcje wyjścia:"
 
@@ -3648,12 +3668,12 @@
 msgstr "%s: BŁĄD WEWNĘTRZNY %d (%s): %s"
 
 #: src/nm.c:381 src/nm.c:393 src/size.c:288 src/size.c:297 src/size.c:308
-#: src/strip.c:2748
+#: src/strip.c:2763
 #, c-format
 msgid "while closing '%s'"
 msgstr "podczas zamykania „%s”"
 
-#: src/nm.c:403 src/objdump.c:280 src/strip.c:797
+#: src/nm.c:403 src/objdump.c:280 src/strip.c:818
 #, c-format
 msgid "%s: File format not recognized"
 msgstr "%s: nie rozpoznano formatu pliku"
@@ -3692,13 +3712,13 @@
 msgid "cannot create search tree"
 msgstr "nie można utworzyć drzewa wyszukiwania"
 
-#: src/nm.c:746 src/nm.c:1205 src/objdump.c:779 src/readelf.c:635
-#: src/readelf.c:1447 src/readelf.c:1598 src/readelf.c:1799 src/readelf.c:2005
-#: src/readelf.c:2195 src/readelf.c:2373 src/readelf.c:2449 src/readelf.c:2707
-#: src/readelf.c:2783 src/readelf.c:2870 src/readelf.c:3468 src/readelf.c:3518
-#: src/readelf.c:3581 src/readelf.c:11230 src/readelf.c:12415
-#: src/readelf.c:12626 src/readelf.c:12695 src/size.c:398 src/size.c:470
-#: src/strip.c:1038
+#: src/nm.c:746 src/nm.c:1239 src/objdump.c:782 src/readelf.c:637
+#: src/readelf.c:1451 src/readelf.c:1602 src/readelf.c:1803 src/readelf.c:2009
+#: src/readelf.c:2199 src/readelf.c:2377 src/readelf.c:2453 src/readelf.c:2711
+#: src/readelf.c:2787 src/readelf.c:2874 src/readelf.c:3472 src/readelf.c:3522
+#: src/readelf.c:3592 src/readelf.c:11328 src/readelf.c:12523
+#: src/readelf.c:12734 src/readelf.c:12803 src/size.c:398 src/size.c:470
+#: src/strip.c:1084
 #, c-format
 msgid "cannot get section header string table index"
 msgstr "nie można uzyskać indeksu tabeli ciągów nagłówków sekcji"
@@ -3727,28 +3747,28 @@
 "%*s%-*s %-*s Klasa  Typ      %-*s %*s Sekcja\n"
 "\n"
 
-#: src/nm.c:1216
+#: src/nm.c:1250
 #, c-format
 msgid "%s: entry size in section %zd `%s' is not what we expect"
 msgstr "%s: rozmiar wpisu w sekcji %zd „%s” nie jest tym, czego oczekiwano"
 
-#: src/nm.c:1221
+#: src/nm.c:1255
 #, c-format
 msgid "%s: size of section %zd `%s' is not multiple of entry size"
 msgstr "%s: rozmiar sekcji %zd „%s” nie jest wielokrotnością rozmiaru wpisu"
 
-#: src/nm.c:1300
+#: src/nm.c:1334
 #, c-format
 msgid "%s: entries (%zd) in section %zd `%s' is too large"
 msgstr "%s: wpisy (%zd) w sekcji %zd „%s” są za duże"
 
 #. XXX Add machine specific object file types.
-#: src/nm.c:1527
+#: src/nm.c:1570
 #, c-format
 msgid "%s%s%s%s: Invalid operation"
 msgstr "%s%s%s%s: nieprawidłowe działanie"
 
-#: src/nm.c:1584
+#: src/nm.c:1620
 #, c-format
 msgid "%s%s%s: no symbols"
 msgstr "%s%s%s: brak symboli"
@@ -3782,7 +3802,7 @@
 msgid "Show information from FILEs (a.out by default)."
 msgstr "Wyświetla informacje z PLIKÓW (domyślnie a.out)."
 
-#: src/objdump.c:218 src/readelf.c:580
+#: src/objdump.c:218 src/readelf.c:582
 msgid "No operation specified.\n"
 msgstr "Nie podano działania.\n"
 
@@ -3791,11 +3811,11 @@
 msgid "while close `%s'"
 msgstr "podczas zamykania „%s”"
 
-#: src/objdump.c:363 src/readelf.c:2100 src/readelf.c:2292
+#: src/objdump.c:363 src/readelf.c:2104 src/readelf.c:2296
 msgid "INVALID SYMBOL"
 msgstr "NIEPRAWIDŁOWY SYMBOL"
 
-#: src/objdump.c:378 src/readelf.c:2134 src/readelf.c:2328
+#: src/objdump.c:378 src/readelf.c:2138 src/readelf.c:2332
 msgid "INVALID SECTION"
 msgstr "NIEPRAWIDŁOWA SEKCJA"
 
@@ -3824,6 +3844,11 @@
 msgid "cannot disassemble"
 msgstr "nie można deasemblować"
 
+#: src/objdump.c:760
+#, fuzzy, c-format
+msgid "cannot create backend for elf file"
+msgstr "nie można utworzyć nowego pliku"
+
 #. Short description of program.
 #: src/ranlib.c:63
 msgid "Generate an index to speed access to archives."
@@ -3997,143 +4022,143 @@
 msgid "no"
 msgstr "nie"
 
-#: src/readelf.c:548
+#: src/readelf.c:550
 #, c-format
 msgid "Unknown DWARF debug section `%s'.\n"
 msgstr "Nieznana sekcja debugowania DWARF „%s”.\n"
 
-#: src/readelf.c:619 src/readelf.c:730
+#: src/readelf.c:621 src/readelf.c:732
 #, c-format
 msgid "cannot generate Elf descriptor: %s"
 msgstr "nie można utworzyć deskryptora ELF: %s"
 
-#: src/readelf.c:626 src/readelf.c:953 src/strip.c:1133
+#: src/readelf.c:628 src/readelf.c:955 src/strip.c:1179
 #, c-format
 msgid "cannot determine number of sections: %s"
 msgstr "nie można określić liczby sekcji: %s"
 
-#: src/readelf.c:644 src/readelf.c:1263 src/readelf.c:1471
+#: src/readelf.c:646 src/readelf.c:1265 src/readelf.c:1475
 #, c-format
 msgid "cannot get section: %s"
 msgstr "nie można uzyskać sekcji: %s"
 
-#: src/readelf.c:653 src/readelf.c:1270 src/readelf.c:1479 src/readelf.c:12646
-#: src/unstrip.c:395 src/unstrip.c:426 src/unstrip.c:485 src/unstrip.c:604
-#: src/unstrip.c:625 src/unstrip.c:665 src/unstrip.c:881 src/unstrip.c:1212
-#: src/unstrip.c:1339 src/unstrip.c:1363 src/unstrip.c:1419 src/unstrip.c:1483
-#: src/unstrip.c:1658 src/unstrip.c:1809 src/unstrip.c:1952 src/unstrip.c:2051
+#: src/readelf.c:655 src/readelf.c:1272 src/readelf.c:1483 src/readelf.c:12754
+#: src/unstrip.c:397 src/unstrip.c:428 src/unstrip.c:487 src/unstrip.c:608
+#: src/unstrip.c:629 src/unstrip.c:669 src/unstrip.c:885 src/unstrip.c:1216
+#: src/unstrip.c:1343 src/unstrip.c:1367 src/unstrip.c:1423 src/unstrip.c:1487
+#: src/unstrip.c:1662 src/unstrip.c:1813 src/unstrip.c:1956 src/unstrip.c:2055
 #, c-format
 msgid "cannot get section header: %s"
 msgstr "nie można uzyskać nagłówka sekcji: %s"
 
-#: src/readelf.c:661
+#: src/readelf.c:663
 #, c-format
 msgid "cannot get section name"
 msgstr "nie można uzyskać nazwy sekcji"
 
-#: src/readelf.c:670 src/readelf.c:6576 src/readelf.c:10502 src/readelf.c:10604
-#: src/readelf.c:10782
+#: src/readelf.c:672 src/readelf.c:6628 src/readelf.c:10600 src/readelf.c:10702
+#: src/readelf.c:10880
 #, c-format
 msgid "cannot get %s content: %s"
 msgstr "nie można uzyskać zwartości %s: %s"
 
-#: src/readelf.c:686
+#: src/readelf.c:688
 #, c-format
 msgid "cannot create temp file '%s'"
 msgstr "nie można utworzyć pliku tymczasowego „%s”"
 
-#: src/readelf.c:695
+#: src/readelf.c:697
 #, c-format
 msgid "cannot write section data"
 msgstr "nie można zapisać danych sekcji"
 
-#: src/readelf.c:701 src/readelf.c:718 src/readelf.c:747
+#: src/readelf.c:703 src/readelf.c:720 src/readelf.c:749
 #, c-format
 msgid "error while closing Elf descriptor: %s"
 msgstr "błąd podczas zamykania deskryptora ELF: %s"
 
-#: src/readelf.c:708
+#: src/readelf.c:710
 #, c-format
 msgid "error while rewinding file descriptor"
 msgstr "błąd podczas przewijania deskryptora pliku"
 
-#: src/readelf.c:742
+#: src/readelf.c:744
 #, c-format
 msgid "'%s' is not an archive, cannot print archive index"
 msgstr "„%s” nie jest archiwum, nie można wyświetlić indeksu archiwum"
 
-#: src/readelf.c:846
+#: src/readelf.c:848
 #, c-format
 msgid "cannot stat input file"
 msgstr "nie można wykonać stat na pliku wejściowym"
 
-#: src/readelf.c:848
+#: src/readelf.c:850
 #, c-format
 msgid "input file is empty"
 msgstr "plik wejściowy jest pusty"
 
-#: src/readelf.c:850
+#: src/readelf.c:852
 #, c-format
 msgid "failed reading '%s': %s"
 msgstr "odczytanie „%s” się nie powiodło: %s"
 
-#: src/readelf.c:879
+#: src/readelf.c:881
 #, c-format
 msgid "No such section '%s' in '%s'"
 msgstr "Brak sekcji „%s” w „%s”"
 
-#: src/readelf.c:938
+#: src/readelf.c:940
 #, c-format
 msgid "cannot read ELF header: %s"
 msgstr "nie można odczytać nagłówka ELF: %s"
 
-#: src/readelf.c:946
+#: src/readelf.c:948
 #, c-format
 msgid "cannot create EBL handle"
 msgstr "nie można utworzyć uchwytu EBL"
 
-#: src/readelf.c:959
+#: src/readelf.c:961
 #, c-format
 msgid "cannot determine number of program headers: %s"
 msgstr "nie można określić liczby nagłówków programu: %s"
 
-#: src/readelf.c:991
+#: src/readelf.c:993
 #, fuzzy, c-format
 msgid "cannot read ELF: %s"
 msgstr "nie można odczytać %s: %s"
 
-#: src/readelf.c:1052
+#: src/readelf.c:1054
 msgid "NONE (None)"
 msgstr "NONE (żaden)"
 
-#: src/readelf.c:1053
+#: src/readelf.c:1055
 msgid "REL (Relocatable file)"
 msgstr "REL (plik relokowalny)"
 
-#: src/readelf.c:1054
+#: src/readelf.c:1056
 msgid "EXEC (Executable file)"
 msgstr "EXEC (plik wykonywalny)"
 
-#: src/readelf.c:1055
+#: src/readelf.c:1057
 msgid "DYN (Shared object file)"
 msgstr "DYN (plik obiektu współdzielonego)"
 
-#: src/readelf.c:1056
+#: src/readelf.c:1058
 msgid "CORE (Core file)"
 msgstr "CORE (plik core)"
 
-#: src/readelf.c:1061
+#: src/readelf.c:1063
 #, c-format
 msgid "OS Specific: (%x)\n"
 msgstr "Zależny od systemu: (%x)\n"
 
 #. && e_type <= ET_HIPROC always true
-#: src/readelf.c:1063
+#: src/readelf.c:1065
 #, c-format
 msgid "Processor Specific: (%x)\n"
 msgstr "Zależny od procesora: (%x)\n"
 
-#: src/readelf.c:1073
+#: src/readelf.c:1075
 msgid ""
 "ELF Header:\n"
 "  Magic:  "
@@ -4141,7 +4166,7 @@
 "Nagłówek ELF:\n"
 "  Magic:  "
 
-#: src/readelf.c:1077
+#: src/readelf.c:1079
 #, c-format
 msgid ""
 "\n"
@@ -4150,123 +4175,123 @@
 "\n"
 "  Klasa:                             %s\n"
 
-#: src/readelf.c:1082
+#: src/readelf.c:1084
 #, c-format
 msgid "  Data:                              %s\n"
 msgstr "  Dane:                              %s\n"
 
-#: src/readelf.c:1088
+#: src/readelf.c:1090
 #, c-format
 msgid "  Ident Version:                     %hhd %s\n"
 msgstr "  Wersja Ident:                      %hhd %s\n"
 
-#: src/readelf.c:1090 src/readelf.c:1112
+#: src/readelf.c:1092 src/readelf.c:1114
 msgid "(current)"
 msgstr "(bieżąca)"
 
-#: src/readelf.c:1094
+#: src/readelf.c:1096
 #, c-format
 msgid "  OS/ABI:                            %s\n"
 msgstr "  System operacyjny/ABI:             %s\n"
 
-#: src/readelf.c:1097
+#: src/readelf.c:1099
 #, c-format
 msgid "  ABI Version:                       %hhd\n"
 msgstr "  Wersja ABI:                        %hhd\n"
 
-#: src/readelf.c:1100
+#: src/readelf.c:1102
 msgid "  Type:                              "
 msgstr "  Typ:                               "
 
-#: src/readelf.c:1105
+#: src/readelf.c:1107
 #, c-format
 msgid "  Machine:                           %s\n"
 msgstr "  Komputer:                          %s\n"
 
-#: src/readelf.c:1107
+#: src/readelf.c:1109
 #, fuzzy, c-format
 msgid "  Machine:                           <unknown>: 0x%x\n"
 msgstr "  Komputer:                          %s\n"
 
-#: src/readelf.c:1110
+#: src/readelf.c:1112
 #, c-format
 msgid "  Version:                           %d %s\n"
 msgstr "  Wersja:                            %d %s\n"
 
-#: src/readelf.c:1114
+#: src/readelf.c:1116
 #, c-format
 msgid "  Entry point address:               %#<PRIx64>\n"
 msgstr "  Adres punktu wejściowego:          %#<PRIx64>\n"
 
-#: src/readelf.c:1117
+#: src/readelf.c:1119
 #, c-format
 msgid "  Start of program headers:          %<PRId64> %s\n"
 msgstr "  Początek nagłówków programu:       %<PRId64> %s\n"
 
-#: src/readelf.c:1118 src/readelf.c:1121
+#: src/readelf.c:1120 src/readelf.c:1123
 msgid "(bytes into file)"
 msgstr "(bajtów w pliku)"
 
-#: src/readelf.c:1120
+#: src/readelf.c:1122
 #, c-format
 msgid "  Start of section headers:          %<PRId64> %s\n"
 msgstr "  Początek nagłówków sekcji:         %<PRId64> %s\n"
 
-#: src/readelf.c:1123
+#: src/readelf.c:1125
 #, c-format
 msgid "  Flags:                             %s\n"
 msgstr "  Flagi:                             %s\n"
 
-#: src/readelf.c:1126
+#: src/readelf.c:1128
 #, c-format
 msgid "  Size of this header:               %<PRId16> %s\n"
 msgstr "  Rozmiar tego nagłówka:             %<PRId16> %s\n"
 
-#: src/readelf.c:1127 src/readelf.c:1130 src/readelf.c:1147
+#: src/readelf.c:1129 src/readelf.c:1132 src/readelf.c:1149
 msgid "(bytes)"
 msgstr "(bajtów)"
 
-#: src/readelf.c:1129
+#: src/readelf.c:1131
 #, c-format
 msgid "  Size of program header entries:    %<PRId16> %s\n"
 msgstr "  Rozmiar wpisów nagłówka programu:  %<PRId16> %s\n"
 
-#: src/readelf.c:1132
+#: src/readelf.c:1134
 #, c-format
 msgid "  Number of program headers entries: %<PRId16>"
 msgstr "  Liczba wpisów nagłówków programu: %<PRId16>"
 
-#: src/readelf.c:1139
+#: src/readelf.c:1141
 #, c-format
 msgid " (%<PRIu32> in [0].sh_info)"
 msgstr " (%<PRIu32> w [0].sh_info)"
 
-#: src/readelf.c:1142 src/readelf.c:1159 src/readelf.c:1173
+#: src/readelf.c:1144 src/readelf.c:1161 src/readelf.c:1175
 msgid " ([0] not available)"
 msgstr " ([0] niedostępny)"
 
-#: src/readelf.c:1146
+#: src/readelf.c:1148
 #, c-format
 msgid "  Size of section header entries:    %<PRId16> %s\n"
 msgstr "  Rozmiar wpisów nagłówka sekcji:    %<PRId16> %s\n"
 
-#: src/readelf.c:1149
+#: src/readelf.c:1151
 #, c-format
 msgid "  Number of section headers entries: %<PRId16>"
 msgstr "  Liczba wpisów nagłówków sekcji:    %<PRId16>"
 
-#: src/readelf.c:1156
+#: src/readelf.c:1158
 #, c-format
 msgid " (%<PRIu32> in [0].sh_size)"
 msgstr " (%<PRIu32> w [0].sh_size)"
 
 #. We managed to get the zeroth section.
-#: src/readelf.c:1169
+#: src/readelf.c:1171
 #, c-format
 msgid " (%<PRIu32> in [0].sh_link)"
 msgstr " (%<PRIu32> w [0].sh_link)"
 
-#: src/readelf.c:1177
+#: src/readelf.c:1179
 #, c-format
 msgid ""
 "  Section header string table index: XINDEX%s\n"
@@ -4275,7 +4300,7 @@
 "  Indeks tabeli ciągów nagłówków sekcji: XINDEX%s\n"
 "\n"
 
-#: src/readelf.c:1181
+#: src/readelf.c:1183
 #, c-format
 msgid ""
 "  Section header string table index: %<PRId16>\n"
@@ -4284,12 +4309,12 @@
 "  Indeks tabeli ciągów nagłówków sekcji: %<PRId16>\n"
 "\n"
 
-#: src/readelf.c:1228 src/readelf.c:1436
+#: src/readelf.c:1230 src/readelf.c:1440
 #, fuzzy, c-format
 msgid "cannot get number of sections: %s"
 msgstr "nie można określić liczby sekcji: %s"
 
-#: src/readelf.c:1231
+#: src/readelf.c:1233
 #, fuzzy, c-format
 msgid ""
 "There are %zd section headers, starting at offset %#<PRIx64>:\n"
@@ -4298,16 +4323,16 @@
 "Jest %d nagłówków sekcji, rozpoczynających się od offsetu %#<PRIx64>:\n"
 "\n"
 
-#: src/readelf.c:1240
+#: src/readelf.c:1242
 #, fuzzy, c-format
 msgid "cannot get section header string table index: %s"
 msgstr "nie można uzyskać indeksu tabeli ciągów nagłówków sekcji"
 
-#: src/readelf.c:1243
+#: src/readelf.c:1245
 msgid "Section Headers:"
 msgstr "Nagłówki sekcji:"
 
-#: src/readelf.c:1246
+#: src/readelf.c:1248
 msgid ""
 "[Nr] Name                 Type         Addr     Off    Size   ES Flags Lk "
 "Inf Al"
@@ -4315,7 +4340,7 @@
 "[Nr] Nazwa                Typ          Adres    Offset Rozm.  ES Flagi Lk "
 "Inf Al"
 
-#: src/readelf.c:1248
+#: src/readelf.c:1250
 msgid ""
 "[Nr] Name                 Type         Addr             Off      Size     ES "
 "Flags Lk Inf Al"
@@ -4323,36 +4348,36 @@
 "[Nr] Nazwa                Typ          Adres            Offset   Rozmiar  ES "
 "Flagi Lk Inf Al"
 
-#: src/readelf.c:1253
+#: src/readelf.c:1255
 msgid "     [Compression  Size   Al]"
 msgstr "     [Kompresja  Rozmiar   Al]"
 
-#: src/readelf.c:1255
+#: src/readelf.c:1257
 msgid "     [Compression  Size     Al]"
 msgstr "     [Kompresja  Rozmiar     Al]"
 
-#: src/readelf.c:1331
+#: src/readelf.c:1335
 #, c-format
 msgid "bad compression header for section %zd: %s"
 msgstr "błędny nagłówek kompresji dla sekcji %zd: %s"
 
-#: src/readelf.c:1342
+#: src/readelf.c:1346
 #, c-format
 msgid "bad gnu compressed size for section %zd: %s"
 msgstr "błędny rozmiar kompresji gnu dla sekcji %zd: %s"
 
-#: src/readelf.c:1360
+#: src/readelf.c:1364
 msgid "Program Headers:"
 msgstr "Nagłówki programu:"
 
-#: src/readelf.c:1362
+#: src/readelf.c:1366
 msgid ""
 "  Type           Offset   VirtAddr   PhysAddr   FileSiz  MemSiz   Flg Align"
 msgstr ""
 "  Typ            Offset   AdresWirt  AdresFiz   RozmPlik RozmPam  Flg "
 "Wyrównanie"
 
-#: src/readelf.c:1365
+#: src/readelf.c:1369
 msgid ""
 "  Type           Offset   VirtAddr           PhysAddr           FileSiz  "
 "MemSiz   Flg Align"
@@ -4360,12 +4385,12 @@
 "  Typ            Offset   AdresWirtualny     AdresFizyczny      RozmPlik "
 "RozmPam  Flg Wyrównanie"
 
-#: src/readelf.c:1422
+#: src/readelf.c:1426
 #, c-format
 msgid "\t[Requesting program interpreter: %s]\n"
 msgstr "\t[Wywołanie interpretera programu: %s]\n"
 
-#: src/readelf.c:1449
+#: src/readelf.c:1453
 msgid ""
 "\n"
 " Section to Segment mapping:\n"
@@ -4375,12 +4400,12 @@
 " Mapowanie sekcji do segmentów:\n"
 "  Segment sekcji…"
 
-#: src/readelf.c:1460 src/unstrip.c:2110 src/unstrip.c:2152 src/unstrip.c:2159
+#: src/readelf.c:1464 src/unstrip.c:2114 src/unstrip.c:2156 src/unstrip.c:2163
 #, c-format
 msgid "cannot get program header: %s"
 msgstr "nie można uzyskać nagłówka programu: %s"
 
-#: src/readelf.c:1606
+#: src/readelf.c:1610
 #, c-format
 msgid ""
 "\n"
@@ -4398,7 +4423,7 @@
 "\n"
 "Grupa sekcji COMDAT [%2zu] „%s” z podpisem „%s” zawiera %zu wpisów:\n"
 
-#: src/readelf.c:1611
+#: src/readelf.c:1615
 #, c-format
 msgid ""
 "\n"
@@ -4416,31 +4441,31 @@
 "\n"
 "Grupa sekcji [%2zu] „%s” z podpisem „%s” zawiera %zu wpisów:\n"
 
-#: src/readelf.c:1619
+#: src/readelf.c:1623
 msgid "<INVALID SYMBOL>"
 msgstr "<NIEPRAWIDŁOWY SYMBOL>"
 
-#: src/readelf.c:1633
+#: src/readelf.c:1637
 msgid "<INVALID SECTION>"
 msgstr "<NIEPRAWIDŁOWY SEKCJA>"
 
-#: src/readelf.c:1656 src/readelf.c:2383 src/readelf.c:3484 src/readelf.c:12517
-#: src/readelf.c:12524 src/readelf.c:12568 src/readelf.c:12575
+#: src/readelf.c:1660 src/readelf.c:2387 src/readelf.c:3488 src/readelf.c:12625
+#: src/readelf.c:12632 src/readelf.c:12676 src/readelf.c:12683
 msgid "Couldn't uncompress section"
 msgstr "Nie można dekompresować sekcji"
 
-#: src/readelf.c:1661 src/readelf.c:2388 src/readelf.c:3489
+#: src/readelf.c:1665 src/readelf.c:2392 src/readelf.c:3493
 #, c-format
 msgid "cannot get section [%zd] header: %s"
 msgstr "nie można uzyskać nagłówka sekcji [%zd]: %s"
 
-#: src/readelf.c:1805 src/readelf.c:2455 src/readelf.c:2713 src/readelf.c:2789
-#: src/readelf.c:3093 src/readelf.c:3167 src/readelf.c:5364
+#: src/readelf.c:1809 src/readelf.c:2459 src/readelf.c:2717 src/readelf.c:2793
+#: src/readelf.c:3097 src/readelf.c:3171 src/readelf.c:5401
 #, c-format
 msgid "invalid sh_link value in section %zu"
 msgstr "nieprawidłowa wartość sh_link w sekcji %zu"
 
-#: src/readelf.c:1808
+#: src/readelf.c:1812
 #, c-format
 msgid ""
 "\n"
@@ -4466,36 +4491,36 @@
 " Adres: %#0*<PRIx64>  Offset: %#08<PRIx64>  Dowiązanie do sekcji: [%2u] "
 "'%s'\n"
 
-#: src/readelf.c:1818
+#: src/readelf.c:1822
 msgid "  Type              Value\n"
 msgstr "  Typ               Wartość\n"
 
-#: src/readelf.c:1842
+#: src/readelf.c:1846
 #, c-format
 msgid "Shared library: [%s]\n"
 msgstr "Biblioteka współdzielona: [%s]\n"
 
-#: src/readelf.c:1847
+#: src/readelf.c:1851
 #, c-format
 msgid "Library soname: [%s]\n"
 msgstr "soname biblioteki: [%s]\n"
 
-#: src/readelf.c:1852
+#: src/readelf.c:1856
 #, c-format
 msgid "Library rpath: [%s]\n"
 msgstr "rpath biblioteki: [%s]\n"
 
-#: src/readelf.c:1857
+#: src/readelf.c:1861
 #, c-format
 msgid "Library runpath: [%s]\n"
 msgstr "runpath biblioteki: [%s]\n"
 
-#: src/readelf.c:1877
+#: src/readelf.c:1881
 #, c-format
 msgid "%<PRId64> (bytes)\n"
 msgstr "%<PRId64> (bajtów)\n"
 
-#: src/readelf.c:1990 src/readelf.c:2180
+#: src/readelf.c:1994 src/readelf.c:2184
 #, c-format
 msgid ""
 "\n"
@@ -4504,7 +4529,7 @@
 "\n"
 "Nieprawidłowa tabela symboli pod offsetem %#0<PRIx64>\n"
 
-#: src/readelf.c:2008 src/readelf.c:2198
+#: src/readelf.c:2012 src/readelf.c:2202
 #, c-format
 msgid ""
 "\n"
@@ -4533,7 +4558,7 @@
 #. The .rela.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:2023 src/readelf.c:2213
+#: src/readelf.c:2027 src/readelf.c:2217
 #, c-format
 msgid ""
 "\n"
@@ -4551,30 +4576,30 @@
 "\n"
 "Sekcja relokacji [%2u] „%s” pod offsetem %#0<PRIx64> zawiera %d wpisów:\n"
 
-#: src/readelf.c:2033
+#: src/readelf.c:2037
 msgid "  Offset      Type                 Value       Name\n"
 msgstr "  Offset      Typ                  Wartość     Nazwa\n"
 
-#: src/readelf.c:2035
+#: src/readelf.c:2039
 msgid "  Offset              Type                 Value               Name\n"
 msgstr "  Offset              Typ                  Wartość             Nazwa\n"
 
-#: src/readelf.c:2088 src/readelf.c:2099 src/readelf.c:2112 src/readelf.c:2133
-#: src/readelf.c:2145 src/readelf.c:2279 src/readelf.c:2291 src/readelf.c:2305
-#: src/readelf.c:2327 src/readelf.c:2340
+#: src/readelf.c:2092 src/readelf.c:2103 src/readelf.c:2116 src/readelf.c:2137
+#: src/readelf.c:2149 src/readelf.c:2283 src/readelf.c:2295 src/readelf.c:2309
+#: src/readelf.c:2331 src/readelf.c:2344
 msgid "<INVALID RELOC>"
 msgstr "<NIEPRAWIDŁOWA RELOKACJA>"
 
-#: src/readelf.c:2223
+#: src/readelf.c:2227
 msgid "  Offset      Type            Value       Addend Name\n"
 msgstr "  Offset      Typ             Wartość     Koniec Nazwa\n"
 
-#: src/readelf.c:2225
+#: src/readelf.c:2229
 msgid "  Offset              Type            Value               Addend Name\n"
 msgstr ""
 "  Offset              Typ             Wartość             Koniec Nazwa\n"
 
-#: src/readelf.c:2463
+#: src/readelf.c:2467
 #, c-format
 msgid ""
 "\n"
@@ -4592,7 +4617,7 @@
 "\n"
 "Tabela symboli [%2u] „%s” zawiera %u wpisów:\n"
 
-#: src/readelf.c:2468
+#: src/readelf.c:2472
 #, c-format
 msgid " %lu local symbol  String table: [%2u] '%s'\n"
 msgid_plural " %lu local symbols  String table: [%2u] '%s'\n"
@@ -4600,33 +4625,33 @@
 msgstr[1] " %lu symbole lokalne    Tabela ciągów: [%2u] „%s”\n"
 msgstr[2] " %lu symboli lokalnych  Tabela ciągów: [%2u] „%s”\n"
 
-#: src/readelf.c:2476
+#: src/readelf.c:2480
 msgid "  Num:    Value   Size Type    Bind   Vis          Ndx Name\n"
 msgstr "  Numer:  Wartość Rozm Typ     Bind   Widoczność   Ndx Nazwa\n"
 
-#: src/readelf.c:2478
+#: src/readelf.c:2482
 msgid "  Num:            Value   Size Type    Bind   Vis          Ndx Name\n"
 msgstr "  Numer:          Wartość Rozm Typ     Bind   Widoczność   Ndx Nazwa\n"
 
-#: src/readelf.c:2498
+#: src/readelf.c:2502
 #, c-format
 msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
 msgstr "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
 
-#: src/readelf.c:2586
+#: src/readelf.c:2590
 #, c-format
 msgid "bad dynamic symbol"
 msgstr "błędny symbol dynamiczny"
 
-#: src/readelf.c:2668
+#: src/readelf.c:2672
 msgid "none"
 msgstr "brak"
 
-#: src/readelf.c:2685
+#: src/readelf.c:2689
 msgid "| <unknown>"
 msgstr "| <nieznany>"
 
-#: src/readelf.c:2716
+#: src/readelf.c:2720
 #, c-format
 msgid ""
 "\n"
@@ -4652,17 +4677,17 @@
 " Adres: %#0*<PRIx64>  Offset: %#08<PRIx64>  Dowiązanie do sekcji: [%2u] "
 "„%s”\n"
 
-#: src/readelf.c:2737
+#: src/readelf.c:2741
 #, c-format
 msgid "  %#06x: Version: %hu  File: %s  Cnt: %hu\n"
 msgstr "  %#06x: Wersja: %hu  Plik: %s  Licznik: %hu\n"
 
-#: src/readelf.c:2750
+#: src/readelf.c:2754
 #, c-format
 msgid "  %#06x: Name: %s  Flags: %s  Version: %hu\n"
 msgstr "  %#06x: Nazwa: %s  Flagi: %s  Wersja: %hu\n"
 
-#: src/readelf.c:2793
+#: src/readelf.c:2797
 #, c-format
 msgid ""
 "\n"
@@ -4688,19 +4713,19 @@
 " Adres: %#0*<PRIx64>  Offset: %#08<PRIx64>  Dowiązanie do sekcji: [%2u] "
 "„%s”\n"
 
-#: src/readelf.c:2821
+#: src/readelf.c:2825
 #, c-format
 msgid "  %#06x: Version: %hd  Flags: %s  Index: %hd  Cnt: %hd  Name: %s\n"
 msgstr ""
 "  %#06x: Wersja: %hd  Flagi: %s  Indeks: %hd  Licznik: %hd  Nazwa: %s\n"
 
-#: src/readelf.c:2836
+#: src/readelf.c:2840
 #, c-format
 msgid "  %#06x: Parent %d: %s\n"
 msgstr "  %#06x: Rodzic %d: %s\n"
 
 #. Print the header.
-#: src/readelf.c:3097
+#: src/readelf.c:3101
 #, c-format
 msgid ""
 "\n"
@@ -4723,15 +4748,15 @@
 "Sekcja symboli wersji [%2u] „%s” zawiera %d wpisów:\n"
 " Adres: %#0*<PRIx64>  Offset: %#08<PRIx64>  Dowiązanie do sekcji: [%2u] „%s”"
 
-#: src/readelf.c:3125
+#: src/readelf.c:3129
 msgid "   0 *local*                     "
 msgstr "   0 *lokalny*                   "
 
-#: src/readelf.c:3130
+#: src/readelf.c:3134
 msgid "   1 *global*                    "
 msgstr "   1 *globalny*                  "
 
-#: src/readelf.c:3172
+#: src/readelf.c:3176
 #, c-format
 msgid ""
 "\n"
@@ -4762,22 +4787,22 @@
 " Adres: %#0*<PRIx64>  Offset: %#08<PRIx64>  Dowiązanie do sekcji: [%2u] "
 "„%s”\n"
 
-#: src/readelf.c:3194
+#: src/readelf.c:3198
 #, no-c-format
 msgid " Length  Number  % of total  Coverage\n"
 msgstr " Długość Liczba  % całości   Pokrycie\n"
 
-#: src/readelf.c:3196
+#: src/readelf.c:3200
 #, c-format
 msgid "      0  %6<PRIu32>      %5.1f%%\n"
 msgstr "      0  %6<PRIu32>      %5.1f%%\n"
 
-#: src/readelf.c:3203
+#: src/readelf.c:3207
 #, c-format
 msgid "%7d  %6<PRIu32>      %5.1f%%    %5.1f%%\n"
 msgstr "%7d  %6<PRIu32>      %5.1f%%    %5.1f%%\n"
 
-#: src/readelf.c:3216
+#: src/readelf.c:3220
 #, c-format
 msgid ""
 " Average number of tests:   successful lookup: %f\n"
@@ -4786,37 +4811,37 @@
 " Średnia liczba testów:   udane wyszukania: %f\n"
 "\t\t\t  nieudane wyszukania: %f\n"
 
-#: src/readelf.c:3234 src/readelf.c:3298 src/readelf.c:3364
+#: src/readelf.c:3238 src/readelf.c:3302 src/readelf.c:3368
 #, c-format
 msgid "cannot get data for section %d: %s"
 msgstr "nie można uzyskać danych dla sekcji %d: %s"
 
-#: src/readelf.c:3242
+#: src/readelf.c:3246
 #, c-format
 msgid "invalid data in sysv.hash section %d"
 msgstr "nieprawidłowe dane w sekcji sysv.hash %d"
 
-#: src/readelf.c:3271
+#: src/readelf.c:3275
 #, fuzzy, c-format
 msgid "invalid chain in sysv.hash section %d"
 msgstr "nieprawidłowe dane w sekcji sysv.hash %d"
 
-#: src/readelf.c:3306
+#: src/readelf.c:3310
 #, c-format
 msgid "invalid data in sysv.hash64 section %d"
 msgstr "nieprawidłowe dane w sekcji sysv.hash64 %d"
 
-#: src/readelf.c:3337
+#: src/readelf.c:3341
 #, fuzzy, c-format
 msgid "invalid chain in sysv.hash64 section %d"
 msgstr "nieprawidłowe dane w sekcji sysv.hash64 %d"
 
-#: src/readelf.c:3373
+#: src/readelf.c:3377
 #, c-format
 msgid "invalid data in gnu.hash section %d"
 msgstr "nieprawidłowe dane w sekcji gnu.hash %d"
 
-#: src/readelf.c:3440
+#: src/readelf.c:3444
 #, c-format
 msgid ""
 " Symbol Bias: %u\n"
@@ -4826,7 +4851,7 @@
 " Rozmiar maski bitowej: %zu bajtów  %<PRIuFAST32>%% bitów ustawionych  "
 "drugie przesunięcie skrótu: %u\n"
 
-#: src/readelf.c:3529
+#: src/readelf.c:3533
 #, c-format
 msgid ""
 "\n"
@@ -4847,7 +4872,7 @@
 "Sekcja listy bibliotek [%2zu] „%s” pod offsetem %#0<PRIx64> zawiera %d "
 "wpisów:\n"
 
-#: src/readelf.c:3543
+#: src/readelf.c:3547
 msgid ""
 "       Library                       Time Stamp          Checksum Version "
 "Flags"
@@ -4855,7 +4880,7 @@
 "       Biblioteka                    Oznaczenie czasu    Suma k.  Wersja  "
 "Flagi"
 
-#: src/readelf.c:3595
+#: src/readelf.c:3606
 #, c-format
 msgid ""
 "\n"
@@ -4866,102 +4891,102 @@
 "Sekcja atrybutów obiektu [%2zu] „%s” %<PRIu64> bajtów pod offsetem "
 "%#0<PRIx64>:\n"
 
-#: src/readelf.c:3612
+#: src/readelf.c:3623
 msgid "  Owner          Size\n"
 msgstr "  Właściciel          Rozmiar\n"
 
-#: src/readelf.c:3641
+#: src/readelf.c:3647
 #, c-format
 msgid "  %-13s  %4<PRIu32>\n"
 msgstr "  %-13s  %4<PRIu32>\n"
 
 #. Unknown subsection, print and skip.
-#: src/readelf.c:3680
+#: src/readelf.c:3686
 #, c-format
 msgid "    %-4u %12<PRIu32>\n"
 msgstr "    %-4u %12<PRIu32>\n"
 
 #. Tag_File
-#: src/readelf.c:3685
+#: src/readelf.c:3691
 #, c-format
 msgid "    File: %11<PRIu32>\n"
 msgstr "    Plik: %11<PRIu32>\n"
 
-#: src/readelf.c:3734
+#: src/readelf.c:3740
 #, c-format
 msgid "      %s: %<PRId64>, %s\n"
 msgstr "      %s: %<PRId64>, %s\n"
 
-#: src/readelf.c:3737
+#: src/readelf.c:3743
 #, c-format
 msgid "      %s: %<PRId64>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:3740
+#: src/readelf.c:3746
 #, c-format
 msgid "      %s: %s\n"
 msgstr "      %s: %s\n"
 
-#: src/readelf.c:3750
+#: src/readelf.c:3756
 #, c-format
 msgid "      %u: %<PRId64>\n"
 msgstr "      %u: %<PRId64>\n"
 
-#: src/readelf.c:3753
+#: src/readelf.c:3759
 #, c-format
 msgid "      %u: %s\n"
 msgstr "      %u: %s\n"
 
-#: src/readelf.c:3823
+#: src/readelf.c:3829
 #, fuzzy, c-format
 msgid "sprintf failure"
 msgstr "mprotect się nie powiodło"
 
-#: src/readelf.c:4305
+#: src/readelf.c:4311
 msgid "empty block"
 msgstr "pusty blok"
 
-#: src/readelf.c:4308
+#: src/readelf.c:4314
 #, c-format
 msgid "%zu byte block:"
 msgstr "%zu bajtowy blok:"
 
-#: src/readelf.c:4786
+#: src/readelf.c:4792
 #, fuzzy, c-format
 msgid "%*s[%2<PRIuMAX>] %s  <TRUNCATED>\n"
 msgstr "%*s[%4<PRIuMAX>] %s  <SKRÓCONE>\n"
 
-#: src/readelf.c:4850
+#: src/readelf.c:4859
 #, c-format
 msgid "%s %#<PRIx64> used with different address sizes"
 msgstr "%s %#<PRIx64> zostało użyte z różnymi rozmiarami adresu"
 
-#: src/readelf.c:4857
+#: src/readelf.c:4866
 #, c-format
 msgid "%s %#<PRIx64> used with different offset sizes"
 msgstr "%s %#<PRIx64> zostało użyte z różnymi rozmiarami offsetu"
 
-#: src/readelf.c:4864
+#: src/readelf.c:4873
 #, c-format
 msgid "%s %#<PRIx64> used with different base addresses"
 msgstr "%s %#<PRIx64> zostało użyte z różnymi adresami podstawowymi"
 
-#: src/readelf.c:4871
+#: src/readelf.c:4880
 #, fuzzy, c-format
 msgid "%s %#<PRIx64> used with different attribute %s and %s"
 msgstr "%s %#<PRIx64> zostało użyte z różnymi rozmiarami adresu"
 
-#: src/readelf.c:4968
+#: src/readelf.c:4980
 #, c-format
 msgid " [%6tx]  <UNUSED GARBAGE IN REST OF SECTION>\n"
 msgstr " [%6tx]  <NIEUŻYWANE ŚMIECIE W RESZCIE SEKCJI>\n"
 
-#: src/readelf.c:4976
+#: src/readelf.c:4988
 #, c-format
 msgid " [%6tx]  <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
 msgstr " [%6tx]  <NIEUŻYWANE ŚMIECIE>… %<PRIu64> bajtów…\n"
 
-#: src/readelf.c:5054
+#: src/readelf.c:5091
 #, c-format
 msgid ""
 "\n"
@@ -4972,7 +4997,7 @@
 "Sekcja DWARF [%2zu] „%s” pod offsetem %#<PRIx64>:\n"
 " [ Kod]\n"
 
-#: src/readelf.c:5062
+#: src/readelf.c:5099
 #, c-format
 msgid ""
 "\n"
@@ -4981,20 +5006,20 @@
 "\n"
 "Sekcja skrótów pod offsetem %<PRIu64>:\n"
 
-#: src/readelf.c:5075
+#: src/readelf.c:5112
 #, c-format
 msgid " *** error while reading abbreviation: %s\n"
 msgstr " *** błąd podczas odczytywania skrótu: %s\n"
 
-#: src/readelf.c:5091
+#: src/readelf.c:5128
 #, c-format
 msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
 msgstr " [%5u] offset: %<PRId64>, potomek: %s, znacznik: %s\n"
 
-#: src/readelf.c:5124 src/readelf.c:5433 src/readelf.c:5600 src/readelf.c:5985
-#: src/readelf.c:6586 src/readelf.c:8323 src/readelf.c:9009 src/readelf.c:9445
-#: src/readelf.c:9690 src/readelf.c:9856 src/readelf.c:10243
-#: src/readelf.c:10303
+#: src/readelf.c:5161 src/readelf.c:5470 src/readelf.c:5637 src/readelf.c:6022
+#: src/readelf.c:6638 src/readelf.c:8375 src/readelf.c:9064 src/readelf.c:9537
+#: src/readelf.c:9788 src/readelf.c:9954 src/readelf.c:10341
+#: src/readelf.c:10401
 #, c-format
 msgid ""
 "\n"
@@ -5003,56 +5028,56 @@
 "\n"
 "Sekcja DWARF [%2zu] „%s” pod offsetem %#<PRIx64>:\n"
 
-#: src/readelf.c:5137
+#: src/readelf.c:5174
 #, fuzzy, c-format
 msgid "cannot get .debug_addr section data: %s"
 msgstr "nie można uzyskać danych sekcji: %s"
 
-#: src/readelf.c:5237 src/readelf.c:5261 src/readelf.c:5645 src/readelf.c:9054
+#: src/readelf.c:5274 src/readelf.c:5298 src/readelf.c:5682 src/readelf.c:9109
 #, fuzzy, c-format
 msgid " Length:         %8<PRIu64>\n"
 msgstr ""
 "\n"
 " Długość:        %6<PRIu64>\n"
 
-#: src/readelf.c:5239 src/readelf.c:5276 src/readelf.c:5658 src/readelf.c:9067
+#: src/readelf.c:5276 src/readelf.c:5313 src/readelf.c:5695 src/readelf.c:9122
 #, fuzzy, c-format
 msgid " DWARF version:  %8<PRIu16>\n"
 msgstr " Wersja DWARF: %6<PRIuFAST16>\n"
 
-#: src/readelf.c:5240 src/readelf.c:5285 src/readelf.c:5667 src/readelf.c:9076
+#: src/readelf.c:5277 src/readelf.c:5322 src/readelf.c:5704 src/readelf.c:9131
 #, fuzzy, c-format
 msgid " Address size:   %8<PRIu64>\n"
 msgstr " Offset adresu:  %6<PRIu64>\n"
 
-#: src/readelf.c:5242 src/readelf.c:5295 src/readelf.c:5677 src/readelf.c:9086
+#: src/readelf.c:5279 src/readelf.c:5332 src/readelf.c:5714 src/readelf.c:9141
 #, fuzzy, c-format
 msgid " Segment size:   %8<PRIu64>\n"
 msgstr ""
 " Rozmiar segmentu:  %6<PRIu64>\n"
 "\n"
 
-#: src/readelf.c:5280 src/readelf.c:5662 src/readelf.c:9071 src/readelf.c:10435
+#: src/readelf.c:5317 src/readelf.c:5699 src/readelf.c:9126 src/readelf.c:10533
 #, fuzzy, c-format
 msgid "Unknown version"
 msgstr "nieznana wersja"
 
-#: src/readelf.c:5290 src/readelf.c:5503 src/readelf.c:5672 src/readelf.c:9081
+#: src/readelf.c:5327 src/readelf.c:5540 src/readelf.c:5709 src/readelf.c:9136
 #, c-format
 msgid "unsupported address size"
 msgstr "nieobsługiwany rozmiar adresu"
 
-#: src/readelf.c:5301 src/readelf.c:5514 src/readelf.c:5682 src/readelf.c:9091
+#: src/readelf.c:5338 src/readelf.c:5551 src/readelf.c:5719 src/readelf.c:9146
 #, c-format
 msgid "unsupported segment size"
 msgstr "nieobsługiwany rozmiar segmentu"
 
-#: src/readelf.c:5354 src/readelf.c:5428
+#: src/readelf.c:5391 src/readelf.c:5465
 #, c-format
 msgid "cannot get .debug_aranges content: %s"
 msgstr "nie można uzyskać zawartości .debug_aranges: %s"
 
-#: src/readelf.c:5369
+#: src/readelf.c:5406
 #, c-format
 msgid ""
 "\n"
@@ -5070,12 +5095,12 @@
 "\n"
 "Sekcja DWARF [%2zu] „%s” pod offsetem %#<PRIx64> zawiera %zu wpisów:\n"
 
-#: src/readelf.c:5400
+#: src/readelf.c:5437
 #, c-format
 msgid " [%*zu] ???\n"
 msgstr " [%*zu] ???\n"
 
-#: src/readelf.c:5402
+#: src/readelf.c:5439
 #, c-format
 msgid ""
 " [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
@@ -5083,7 +5108,7 @@
 " [%*zu] początek: %0#*<PRIx64>, długość: %5<PRIu64>, offset CU DIE: "
 "%6<PRId64>\n"
 
-#: src/readelf.c:5446 src/readelf.c:8350
+#: src/readelf.c:5483 src/readelf.c:8402
 #, c-format
 msgid ""
 "\n"
@@ -5092,13 +5117,13 @@
 "\n"
 "Tabela pod offsetem %zu:\n"
 
-#: src/readelf.c:5450 src/readelf.c:5626 src/readelf.c:6610 src/readelf.c:8361
-#: src/readelf.c:9035
+#: src/readelf.c:5487 src/readelf.c:5663 src/readelf.c:6662 src/readelf.c:8413
+#: src/readelf.c:9090
 #, c-format
 msgid "invalid data in section [%zu] '%s'"
 msgstr "nieprawidłowe dane w sekcji [%zu] „%s”"
 
-#: src/readelf.c:5466
+#: src/readelf.c:5503
 #, c-format
 msgid ""
 "\n"
@@ -5107,27 +5132,27 @@
 "\n"
 " Długość:        %6<PRIu64>\n"
 
-#: src/readelf.c:5478
+#: src/readelf.c:5515
 #, c-format
 msgid " DWARF version: %6<PRIuFAST16>\n"
 msgstr " Wersja DWARF: %6<PRIuFAST16>\n"
 
-#: src/readelf.c:5482
+#: src/readelf.c:5519
 #, c-format
 msgid "unsupported aranges version"
 msgstr "nieobsługiwana wersja aranges"
 
-#: src/readelf.c:5493
+#: src/readelf.c:5530
 #, c-format
 msgid " CU offset:     %6<PRIx64>\n"
 msgstr " Offset CU:     %6<PRIx64>\n"
 
-#: src/readelf.c:5499
+#: src/readelf.c:5536
 #, c-format
 msgid " Address size:  %6<PRIu64>\n"
 msgstr " Offset adresu:  %6<PRIu64>\n"
 
-#: src/readelf.c:5510
+#: src/readelf.c:5547
 #, c-format
 msgid ""
 " Segment size:  %6<PRIu64>\n"
@@ -5136,111 +5161,109 @@
 " Rozmiar segmentu:  %6<PRIu64>\n"
 "\n"
 
-#: src/readelf.c:5565
+#: src/readelf.c:5602
 #, c-format
 msgid "   %zu padding bytes\n"
 msgstr "   bajty wypełnienia: %zu\n"
 
-#: src/readelf.c:5609
+#: src/readelf.c:5646
 #, fuzzy, c-format
 msgid "cannot get .debug_rnglists content: %s"
 msgstr "nie można uzyskać zawartości .debug_ranges: %s"
 
-#: src/readelf.c:5632 src/readelf.c:9041
+#: src/readelf.c:5669 src/readelf.c:9096
 #, fuzzy, c-format
 msgid ""
 "Table at Offset 0x%<PRIx64>:\n"
 "\n"
 msgstr " Offset .debug_line: 0x%<PRIx64>\n"
 
-#: src/readelf.c:5687 src/readelf.c:9096
+#: src/readelf.c:5724 src/readelf.c:9151
 #, fuzzy, c-format
 msgid " Offset entries: %8<PRIu64>\n"
 msgstr " Długość offsetu:    %<PRIu8>\n"
 
-#: src/readelf.c:5703 src/readelf.c:9112
+#: src/readelf.c:5740 src/readelf.c:9167
 #, c-format
 msgid " Unknown CU base: "
 msgstr ""
 
-#: src/readelf.c:5705 src/readelf.c:9114
+#: src/readelf.c:5742 src/readelf.c:9169
 #, c-format
 msgid " CU [%6<PRIx64>] base: "
 msgstr ""
 
-#: src/readelf.c:5711 src/readelf.c:9120
+#: src/readelf.c:5748 src/readelf.c:9175
 #, c-format
 msgid " Not associated with a CU.\n"
 msgstr ""
 
-#: src/readelf.c:5722 src/readelf.c:9131
+#: src/readelf.c:5759 src/readelf.c:9186
 #, c-format
 msgid "too many offset entries for unit length"
 msgstr ""
 
-#: src/readelf.c:5726 src/readelf.c:9135
+#: src/readelf.c:5763 src/readelf.c:9190
 #, fuzzy, c-format
 msgid "  Offsets starting at 0x%<PRIx64>:\n"
 msgstr " Offset:             0x%<PRIx64>\n"
 
-#: src/readelf.c:5778
+#: src/readelf.c:5815
 #, fuzzy, c-format
 msgid "invalid range list data"
 msgstr "nieprawidłowe dane"
 
-#: src/readelf.c:5963 src/readelf.c:9423
+#: src/readelf.c:6000 src/readelf.c:9515
 #, fuzzy, c-format
 msgid ""
 "   %zu padding bytes\n"
 "\n"
 msgstr "   bajty wypełnienia: %zu\n"
 
-#: src/readelf.c:5980
+#: src/readelf.c:6017
 #, c-format
 msgid "cannot get .debug_ranges content: %s"
 msgstr "nie można uzyskać zawartości .debug_ranges: %s"
 
-#: src/readelf.c:6016 src/readelf.c:9478
+#: src/readelf.c:6053 src/readelf.c:9570
 #, c-format
 msgid ""
 "\n"
 " Unknown CU base: "
 msgstr ""
 
-#: src/readelf.c:6018 src/readelf.c:9480
+#: src/readelf.c:6055 src/readelf.c:9572
 #, c-format
 msgid ""
 "\n"
 " CU [%6<PRIx64>] base: "
 msgstr ""
 
-#: src/readelf.c:6027 src/readelf.c:9506 src/readelf.c:9532
+#: src/readelf.c:6064 src/readelf.c:9598 src/readelf.c:9624
 #, c-format
 msgid " [%6tx]  <INVALID DATA>\n"
 msgstr " [%6tx]  <NIEPRAWIDŁOWE DANE>\n"
 
-#: src/readelf.c:6048 src/readelf.c:9612
-#, fuzzy, c-format
-msgid ""
-" [%6tx] base address\n"
-"          "
-msgstr " [%6tx]  adres podstawowy %s\n"
+#: src/readelf.c:6089 src/readelf.c:9708
+#, fuzzy
+msgid "base address"
+msgstr " ustawienie adresu na %s\n"
 
-#: src/readelf.c:6056 src/readelf.c:9620
+#: src/readelf.c:6099 src/readelf.c:9718
 #, fuzzy, c-format
 msgid " [%6tx] empty list\n"
 msgstr " [%6tx]  pusta lista\n"
 
-#: src/readelf.c:6311
+#: src/readelf.c:6359
 msgid "         <INVALID DATA>\n"
 msgstr "         <NIEPRAWIDŁOWE DANE>\n"
 
-#: src/readelf.c:6564
+#: src/readelf.c:6616
 #, c-format
 msgid "cannot get ELF: %s"
 msgstr "nie można uzyskać ELF: %s"
 
-#: src/readelf.c:6582
+#: src/readelf.c:6634
 #, c-format
 msgid ""
 "\n"
@@ -5249,7 +5272,7 @@
 "\n"
 "Sekcja informacji o ramce wywołania [%2zu] „%s” pod offsetem %#<PRIx64>:\n"
 
-#: src/readelf.c:6632
+#: src/readelf.c:6684
 #, c-format
 msgid ""
 "\n"
@@ -5258,65 +5281,65 @@
 "\n"
 " [%6tx] Zerowy koniec\n"
 
-#: src/readelf.c:6733 src/readelf.c:6887
+#: src/readelf.c:6785 src/readelf.c:6939
 #, c-format
 msgid "invalid augmentation length"
 msgstr "nieprawidłowa długość powiększenia"
 
-#: src/readelf.c:6748
+#: src/readelf.c:6800
 msgid "FDE address encoding: "
 msgstr "Kodowanie adresu FDE: "
 
-#: src/readelf.c:6754
+#: src/readelf.c:6806
 msgid "LSDA pointer encoding: "
 msgstr "Kodowanie wskaźnika LSDA: "
 
-#: src/readelf.c:6864
+#: src/readelf.c:6916
 #, c-format
 msgid " (offset: %#<PRIx64>)"
 msgstr " (offset: %#<PRIx64>)"
 
-#: src/readelf.c:6871
+#: src/readelf.c:6923
 #, c-format
 msgid " (end offset: %#<PRIx64>)"
 msgstr " (kończący offset: %#<PRIx64>)"
 
-#: src/readelf.c:6908
+#: src/readelf.c:6960
 #, c-format
 msgid "   %-26sLSDA pointer: %#<PRIx64>\n"
 msgstr "   %-26sWskaźnik LSDA: %#<PRIx64>\n"
 
-#: src/readelf.c:6993
+#: src/readelf.c:7045
 #, fuzzy, c-format
 msgid "DIE [%<PRIx64>] cannot get attribute code: %s"
 msgstr "nie można uzyskać kodu atrybutu: %s"
 
-#: src/readelf.c:7003
+#: src/readelf.c:7055
 #, fuzzy, c-format
 msgid "DIE [%<PRIx64>] cannot get attribute form: %s"
 msgstr "nie można uzyskać formy atrybutu: %s"
 
-#: src/readelf.c:7025
+#: src/readelf.c:7077
 #, fuzzy, c-format
 msgid "DIE [%<PRIx64>] cannot get attribute '%s' (%s) value: %s"
 msgstr "nie można uzyskać wartości atrybutu: %s"
 
-#: src/readelf.c:7355
+#: src/readelf.c:7407
 #, fuzzy, c-format
 msgid "invalid file (%<PRId64>): %s"
 msgstr "nieprawidłowy plik"
 
-#: src/readelf.c:7359
+#: src/readelf.c:7411
 #, fuzzy, c-format
 msgid "no srcfiles for CU [%<PRIx64>]"
 msgstr " ustawienie pliku na %<PRIu64>\n"
 
-#: src/readelf.c:7363
+#: src/readelf.c:7415
 #, fuzzy, c-format
 msgid "couldn't get DWARF CU: %s"
 msgstr "nie można uzyskać ELF: %s"
 
-#: src/readelf.c:7676
+#: src/readelf.c:7728
 #, c-format
 msgid ""
 "\n"
@@ -5327,12 +5350,12 @@
 "Sekcja DWARF [%2zu] „%s” pod offsetem %#<PRIx64>:\n"
 " [Offset]\n"
 
-#: src/readelf.c:7726
+#: src/readelf.c:7778
 #, fuzzy, c-format
 msgid "cannot get next unit: %s"
 msgstr "nie można uzyskać następnego DIE: %s"
 
-#: src/readelf.c:7745
+#: src/readelf.c:7797
 #, fuzzy, c-format
 msgid ""
 " Type unit at offset %<PRIu64>:\n"
@@ -5345,7 +5368,7 @@
 "%<PRIu8>, rozmiar offsetu: %<PRIu8>\n"
 " Podpis typu: %#<PRIx64>, offset typu: %#<PRIx64>\n"
 
-#: src/readelf.c:7757
+#: src/readelf.c:7809
 #, c-format
 msgid ""
 " Compilation unit at offset %<PRIu64>:\n"
@@ -5356,38 +5379,38 @@
 " Wersja: %<PRIu16>, offset sekcji skrótów: %<PRIu64>, rozmiar adresu: "
 "%<PRIu8>, rozmiar offsetu: %<PRIu8>\n"
 
-#: src/readelf.c:7767 src/readelf.c:7930
+#: src/readelf.c:7819 src/readelf.c:7982
 #, c-format
 msgid " Unit type: %s (%<PRIu8>)"
 msgstr ""
 
-#: src/readelf.c:7794
+#: src/readelf.c:7846
 #, c-format
 msgid "unknown version (%d) or unit type (%d)"
 msgstr ""
 
-#: src/readelf.c:7823
+#: src/readelf.c:7875
 #, c-format
 msgid "cannot get DIE offset: %s"
 msgstr "nie można uzyskać offsetu DIE: %s"
 
-#: src/readelf.c:7832
+#: src/readelf.c:7884
 #, fuzzy, c-format
 msgid "cannot get tag of DIE at offset [%<PRIx64>] in section '%s': %s"
 msgstr ""
 "nie można uzyskać znacznika DIE pod offsetem %<PRIu64> w sekcji „%s”: %s"
 
-#: src/readelf.c:7870
+#: src/readelf.c:7922
 #, c-format
 msgid "cannot get next DIE: %s\n"
 msgstr "nie można uzyskać następnego DIE: %s\n"
 
-#: src/readelf.c:7878
+#: src/readelf.c:7930
 #, c-format
 msgid "cannot get next DIE: %s"
 msgstr "nie można uzyskać następnego DIE: %s"
 
-#: src/readelf.c:7922
+#: src/readelf.c:7974
 #, fuzzy, c-format
 msgid ""
 " Split compilation unit at offset %<PRIu64>:\n"
@@ -5398,7 +5421,7 @@
 " Wersja: %<PRIu16>, offset sekcji skrótów: %<PRIu64>, rozmiar adresu: "
 "%<PRIu8>, rozmiar offsetu: %<PRIu8>\n"
 
-#: src/readelf.c:7974
+#: src/readelf.c:8026
 #, c-format
 msgid ""
 "\n"
@@ -5409,18 +5432,18 @@
 "Sekcja DWARF [%2zu] „%s” pod offsetem %#<PRIx64>:\n"
 "\n"
 
-#: src/readelf.c:8306
+#: src/readelf.c:8358
 #, fuzzy, c-format
 msgid "unknown form: %s"
 msgstr "nieznany błąd"
 
-#: src/readelf.c:8337
+#: src/readelf.c:8389
 #, c-format
 msgid "cannot get line data section data: %s"
 msgstr "nie można uzyskać danych sekcji danych wiersza: %s"
 
 #. Print what we got so far.
-#: src/readelf.c:8439
+#: src/readelf.c:8491
 #, fuzzy, c-format
 msgid ""
 "\n"
@@ -5451,27 +5474,27 @@
 "\n"
 "Instrukcje:\n"
 
-#: src/readelf.c:8461
+#: src/readelf.c:8513
 #, fuzzy, c-format
 msgid "cannot handle .debug_line version: %u\n"
 msgstr "nie można uzyskać wersji symbolu: %s"
 
-#: src/readelf.c:8469
+#: src/readelf.c:8521
 #, fuzzy, c-format
 msgid "cannot handle address size: %u\n"
 msgstr "nieobsługiwany rozmiar adresu"
 
-#: src/readelf.c:8477
+#: src/readelf.c:8529
 #, fuzzy, c-format
 msgid "cannot handle segment selector size: %u\n"
 msgstr "nie można uzyskać sekcji: %s"
 
-#: src/readelf.c:8487
+#: src/readelf.c:8539
 #, c-format
 msgid "invalid data at offset %tu in section [%zu] '%s'"
 msgstr "nieprawidłowe dane pod offsetem %tu w sekcji [%zu] „%s”"
 
-#: src/readelf.c:8502
+#: src/readelf.c:8554
 #, c-format
 msgid "  [%*<PRIuFAST8>]  %hhu argument\n"
 msgid_plural "  [%*<PRIuFAST8>]  %hhu arguments\n"
@@ -5479,7 +5502,7 @@
 msgstr[1] "  [%*<PRIuFAST8>]  %hhu parametry\n"
 msgstr[2] "  [%*<PRIuFAST8>]  %hhu parametrów\n"
 
-#: src/readelf.c:8513
+#: src/readelf.c:8565
 msgid ""
 "\n"
 "Directory table:"
@@ -5487,12 +5510,12 @@
 "\n"
 "Tabela katalogu:"
 
-#: src/readelf.c:8519 src/readelf.c:8596
+#: src/readelf.c:8571 src/readelf.c:8648
 #, fuzzy, c-format
 msgid "      ["
 msgstr "    PC: "
 
-#: src/readelf.c:8590
+#: src/readelf.c:8642
 #, fuzzy
 msgid ""
 "\n"
@@ -5501,7 +5524,7 @@
 "\n"
 " Tabela strony wywołania:"
 
-#: src/readelf.c:8651
+#: src/readelf.c:8703
 #, fuzzy
 msgid " Entry Dir   Time      Size      Name"
 msgstr ""
@@ -5509,7 +5532,16 @@
 "Tabela nazw plików:\n"
 " Wpis Kat    Czas      Rozmiar   Nazwa"
 
-#: src/readelf.c:8688
+#: src/readelf.c:8742
+#, fuzzy
+msgid ""
+"\n"
+"No line number statements."
+msgstr ""
+"\n"
+"Instrukcje numerów wierszy:"
+
+#: src/readelf.c:8746
 msgid ""
 "\n"
 "Line number statements:"
@@ -5517,119 +5549,119 @@
 "\n"
 "Instrukcje numerów wierszy:"
 
-#: src/readelf.c:8711
+#: src/readelf.c:8766
 #, c-format
 msgid "invalid maximum operations per instruction is zero"
 msgstr "nieprawidłowe maksimum operacji na instrukcję wynosi zero"
 
-#: src/readelf.c:8745
+#: src/readelf.c:8800
 #, fuzzy, c-format
 msgid " special opcode %u: address+%u = "
 msgstr " instrukcja specjalna %u: adres+%u = %s, wiersz%+d = %zu\n"
 
-#: src/readelf.c:8749
+#: src/readelf.c:8804
 #, fuzzy, c-format
 msgid ", op_index = %u, line%+d = %zu\n"
 msgstr ""
 " instrukcja specjalna %u: adres+%u = %s, op_index = %u, wiersz%+d = %zu\n"
 
-#: src/readelf.c:8752
+#: src/readelf.c:8807
 #, c-format
 msgid ", line%+d = %zu\n"
 msgstr ""
 
-#: src/readelf.c:8770
+#: src/readelf.c:8825
 #, c-format
 msgid " extended opcode %u: "
 msgstr " instrukcja rozszerzona %u: "
 
-#: src/readelf.c:8775
+#: src/readelf.c:8830
 msgid " end of sequence"
 msgstr " koniec sekwencji"
 
-#: src/readelf.c:8793
+#: src/readelf.c:8848
 #, fuzzy, c-format
 msgid " set address to "
 msgstr " ustawienie adresu na %s\n"
 
-#: src/readelf.c:8821
+#: src/readelf.c:8876
 #, c-format
 msgid " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
 msgstr ""
 " definicja nowego pliku: dir=%u, mtime=%<PRIu64>, długość=%<PRIu64>, nazwa="
 "%s\n"
 
-#: src/readelf.c:8835
+#: src/readelf.c:8890
 #, c-format
 msgid " set discriminator to %u\n"
 msgstr " ustawienie dyskryminatora na %u\n"
 
 #. Unknown, ignore it.
-#: src/readelf.c:8840
+#: src/readelf.c:8895
 msgid " unknown opcode"
 msgstr " nieznana instrukcja"
 
 #. Takes no argument.
-#: src/readelf.c:8852
+#: src/readelf.c:8907
 msgid " copy"
 msgstr " kopiowanie"
 
-#: src/readelf.c:8863
+#: src/readelf.c:8918
 #, fuzzy, c-format
 msgid " advance address by %u to "
 msgstr " zwiększenie adresu o %u do %s\n"
 
-#: src/readelf.c:8867 src/readelf.c:8928
+#: src/readelf.c:8922 src/readelf.c:8983
 #, c-format
 msgid ", op_index to %u"
 msgstr ""
 
-#: src/readelf.c:8879
+#: src/readelf.c:8934
 #, c-format
 msgid " advance line by constant %d to %<PRId64>\n"
 msgstr " zwiększenie wiersza o stałą %d do %<PRId64>\n"
 
-#: src/readelf.c:8889
+#: src/readelf.c:8944
 #, c-format
 msgid " set file to %<PRIu64>\n"
 msgstr " ustawienie pliku na %<PRIu64>\n"
 
-#: src/readelf.c:8900
+#: src/readelf.c:8955
 #, c-format
 msgid " set column to %<PRIu64>\n"
 msgstr " ustawienie kolumny na %<PRIu64>\n"
 
-#: src/readelf.c:8907
+#: src/readelf.c:8962
 #, c-format
 msgid " set '%s' to %<PRIuFAST8>\n"
 msgstr " ustawienie „%s” na %<PRIuFAST8>\n"
 
 #. Takes no argument.
-#: src/readelf.c:8913
+#: src/readelf.c:8968
 msgid " set basic block flag"
 msgstr " ustawienie podstawowej flagi bloku"
 
-#: src/readelf.c:8924
+#: src/readelf.c:8979
 #, fuzzy, c-format
 msgid " advance address by constant %u to "
 msgstr " zwiększenie adresu o stałą %u do %s\n"
 
-#: src/readelf.c:8944
+#: src/readelf.c:8999
 #, fuzzy, c-format
 msgid " advance address by fixed value %u to \n"
 msgstr " zwiększenie adresu o stałą wartość %u do %s\n"
 
 #. Takes no argument.
-#: src/readelf.c:8954
+#: src/readelf.c:9009
 msgid " set prologue end flag"
 msgstr " ustawienie flagi końca prologu"
 
 #. Takes no argument.
-#: src/readelf.c:8959
+#: src/readelf.c:9014
 msgid " set epilogue begin flag"
 msgstr " ustawienie flagi początku epilogu"
 
-#: src/readelf.c:8969
+#: src/readelf.c:9024
 #, c-format
 msgid " set isa to %u\n"
 msgstr " ustawienie isa na %u\n"
@@ -5637,7 +5669,7 @@
 #. 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:8978
+#: src/readelf.c:9033
 #, c-format
 msgid " unknown opcode with %<PRIu8> parameter:"
 msgid_plural " unknown opcode with %<PRIu8> parameters:"
@@ -5645,96 +5677,101 @@
 msgstr[1] " nieznana instrukcja z %<PRIu8> parametrami:"
 msgstr[2] " nieznana instrukcja z %<PRIu8> parametrami:"
 
-#: src/readelf.c:9018
+#: src/readelf.c:9073
 #, fuzzy, c-format
 msgid "cannot get .debug_loclists content: %s"
 msgstr "nie można uzyskać zawartości .debug_log: %s"
 
-#: src/readelf.c:9187
+#: src/readelf.c:9239
+#, fuzzy, c-format
+msgid "    <INVALID DATA>\n"
+msgstr "   <NIEPRAWIDŁOWE DANE>\n"
+
+#: src/readelf.c:9279
 #, fuzzy, c-format
 msgid "invalid loclists data"
 msgstr "nieprawidłowe dane"
 
-#: src/readelf.c:9440
+#: src/readelf.c:9532
 #, c-format
 msgid "cannot get .debug_loc content: %s"
 msgstr "nie można uzyskać zawartości .debug_log: %s"
 
-#: src/readelf.c:9647 src/readelf.c:10691
+#: src/readelf.c:9745 src/readelf.c:10789
 msgid "   <INVALID DATA>\n"
 msgstr "   <NIEPRAWIDŁOWE DANE>\n"
 
-#: src/readelf.c:9702 src/readelf.c:9865
+#: src/readelf.c:9800 src/readelf.c:9963
 #, c-format
 msgid "cannot get macro information section data: %s"
 msgstr "nie można uzyskać danych sekcji informacji o makrach: %s"
 
-#: src/readelf.c:9782
+#: src/readelf.c:9880
 #, c-format
 msgid "%*s*** non-terminated string at end of section"
 msgstr "%*s*** niezakończony ciąg na końcu sekcji"
 
-#: src/readelf.c:9805
+#: src/readelf.c:9903
 #, c-format
 msgid "%*s*** missing DW_MACINFO_start_file argument at end of section"
 msgstr "%*s*** brak parametru DW_MACINFO_start_file na końcu sekcji"
 
-#: src/readelf.c:9906
+#: src/readelf.c:10004
 #, c-format
 msgid " Offset:             0x%<PRIx64>\n"
 msgstr " Offset:             0x%<PRIx64>\n"
 
-#: src/readelf.c:9918
+#: src/readelf.c:10016
 #, c-format
 msgid " Version:            %<PRIu16>\n"
 msgstr " Wersja:             %<PRIu16>\n"
 
-#: src/readelf.c:9924 src/readelf.c:10811
+#: src/readelf.c:10022 src/readelf.c:10909
 #, c-format
 msgid "  unknown version, cannot parse section\n"
 msgstr "  nieznana wersja, nie można przetworzyć sekcji\n"
 
-#: src/readelf.c:9931
+#: src/readelf.c:10029
 #, fuzzy, c-format
 msgid " Flag:               0x%<PRIx8>"
 msgstr " Flaga:              0x%<PRIx8>\n"
 
-#: src/readelf.c:9960
+#: src/readelf.c:10058
 #, c-format
 msgid " Offset length:      %<PRIu8>\n"
 msgstr " Długość offsetu:    %<PRIu8>\n"
 
-#: src/readelf.c:9968
+#: src/readelf.c:10066
 #, c-format
 msgid " .debug_line offset: 0x%<PRIx64>\n"
 msgstr " Offset .debug_line: 0x%<PRIx64>\n"
 
-#: src/readelf.c:9993
+#: src/readelf.c:10091
 #, c-format
 msgid "  extension opcode table, %<PRIu8> items:\n"
 msgstr "  tabela instrukcji rozszerzenia, %<PRIu8> elementów:\n"
 
-#: src/readelf.c:10000
+#: src/readelf.c:10098
 #, c-format
 msgid "    [%<PRIx8>]"
 msgstr "    [%<PRIx8>]"
 
-#: src/readelf.c:10012
+#: src/readelf.c:10110
 #, c-format
 msgid " %<PRIu8> arguments:"
 msgstr " Parametry %<PRIu8>:"
 
-#: src/readelf.c:10027
+#: src/readelf.c:10125
 #, c-format
 msgid " no arguments."
 msgstr " brak parametrów."
 
-#: src/readelf.c:10228
+#: src/readelf.c:10326
 #, c-format
 msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
 msgstr " [%5d] offset DIE: %6<PRId64>, offset CU DIE: %6<PRId64>, nazwa: %s\n"
 
-#: src/readelf.c:10272
+#: src/readelf.c:10370
 #, c-format
 msgid ""
 "\n"
@@ -5745,41 +5782,41 @@
 "Sekcja DWARF [%2zu] „%s” pod offsetem %#<PRIx64>:\n"
 " %*s  Ciąg\n"
 
-#: src/readelf.c:10287
+#: src/readelf.c:10385
 #, fuzzy, c-format
 msgid " *** error, missing string terminator\n"
 msgstr " *** błąd podczas odczytywania ciągów: %s\n"
 
-#: src/readelf.c:10316
+#: src/readelf.c:10414
 #, fuzzy, c-format
 msgid "cannot get .debug_str_offsets section data: %s"
 msgstr "nie można uzyskać danych sekcji: %s"
 
-#: src/readelf.c:10415
+#: src/readelf.c:10513
 #, fuzzy, c-format
 msgid " Length:        %8<PRIu64>\n"
 msgstr ""
 "\n"
 " Długość:        %6<PRIu64>\n"
 
-#: src/readelf.c:10417
+#: src/readelf.c:10515
 #, fuzzy, c-format
 msgid " Offset size:   %8<PRIu8>\n"
 msgstr " Długość offsetu:    %<PRIu8>\n"
 
-#: src/readelf.c:10431
+#: src/readelf.c:10529
 #, fuzzy, c-format
 msgid " DWARF version: %8<PRIu16>\n"
 msgstr " Wersja DWARF: %6<PRIuFAST16>\n"
 
-#: src/readelf.c:10440
+#: src/readelf.c:10538
 #, fuzzy, c-format
 msgid " Padding:       %8<PRIx16>\n"
 msgstr ""
 "\n"
 " Długość:        %6<PRIu64>\n"
 
-#: src/readelf.c:10494
+#: src/readelf.c:10592
 #, c-format
 msgid ""
 "\n"
@@ -5788,7 +5825,7 @@
 "\n"
 "Sekcja tabeli wyszukiwania ramki wywołania [%2zu] „.eh_frame_hdr”:\n"
 
-#: src/readelf.c:10596
+#: src/readelf.c:10694
 #, c-format
 msgid ""
 "\n"
@@ -5797,22 +5834,22 @@
 "\n"
 "Sekcja tabeli obsługiwania wyjątków [%2zu] „.gcc_except_table”:\n"
 
-#: src/readelf.c:10619
+#: src/readelf.c:10717
 #, c-format
 msgid " LPStart encoding:    %#x "
 msgstr " Kodowanie LPStart:    %#x "
 
-#: src/readelf.c:10631
+#: src/readelf.c:10729
 #, c-format
 msgid " TType encoding:      %#x "
 msgstr " Kodowanie TType:      %#x "
 
-#: src/readelf.c:10646
+#: src/readelf.c:10744
 #, c-format
 msgid " Call site encoding:  %#x "
 msgstr " Kodowanie strony wywołania:  %#x "
 
-#: src/readelf.c:10659
+#: src/readelf.c:10757
 msgid ""
 "\n"
 " Call site table:"
@@ -5820,7 +5857,7 @@
 "\n"
 " Tabela strony wywołania:"
 
-#: src/readelf.c:10673
+#: src/readelf.c:10771
 #, c-format
 msgid ""
 " [%4u] Call site start:   %#<PRIx64>\n"
@@ -5833,12 +5870,12 @@
 "        Lądowisko:                 %#<PRIx64>\n"
 "        Działanie:                 %u\n"
 
-#: src/readelf.c:10746
+#: src/readelf.c:10844
 #, c-format
 msgid "invalid TType encoding"
 msgstr "nieprawidłowe kodowanie TType"
 
-#: src/readelf.c:10773
+#: src/readelf.c:10871
 #, c-format
 msgid ""
 "\n"
@@ -5847,37 +5884,37 @@
 "\n"
 "Sekcja GDB [%2zu] „%s” pod offsetem %#<PRIx64> zawiera %<PRId64> bajtów:\n"
 
-#: src/readelf.c:10802
+#: src/readelf.c:10900
 #, c-format
 msgid " Version:         %<PRId32>\n"
 msgstr " Wersja:         %<PRId32>\n"
 
-#: src/readelf.c:10820
+#: src/readelf.c:10918
 #, c-format
 msgid " CU offset:       %#<PRIx32>\n"
 msgstr " offset CU:       %#<PRIx32>\n"
 
-#: src/readelf.c:10827
+#: src/readelf.c:10925
 #, c-format
 msgid " TU offset:       %#<PRIx32>\n"
 msgstr " offset TU:       %#<PRIx32>\n"
 
-#: src/readelf.c:10834
+#: src/readelf.c:10932
 #, c-format
 msgid " address offset:  %#<PRIx32>\n"
 msgstr " offset adresu:  %#<PRIx32>\n"
 
-#: src/readelf.c:10841
+#: src/readelf.c:10939
 #, c-format
 msgid " symbol offset:   %#<PRIx32>\n"
 msgstr " offset symbolu:   %#<PRIx32>\n"
 
-#: src/readelf.c:10848
+#: src/readelf.c:10946
 #, c-format
 msgid " constant offset: %#<PRIx32>\n"
 msgstr " offset stałej: %#<PRIx32>\n"
 
-#: src/readelf.c:10862
+#: src/readelf.c:10960
 #, c-format
 msgid ""
 "\n"
@@ -5886,7 +5923,7 @@
 "\n"
 " Lista CU pod offsetem %#<PRIx32> zawiera %zu wpisów:\n"
 
-#: src/readelf.c:10887
+#: src/readelf.c:10985
 #, c-format
 msgid ""
 "\n"
@@ -5895,7 +5932,7 @@
 "\n"
 " Lista TU pod offsetem %#<PRIx32> zawiera %zu wpisów:\n"
 
-#: src/readelf.c:10916
+#: src/readelf.c:11014
 #, c-format
 msgid ""
 "\n"
@@ -5904,7 +5941,7 @@
 "\n"
 " Lista adresów pod offsetem %#<PRIx32> zawiera %zu wpisów:\n"
 
-#: src/readelf.c:10948
+#: src/readelf.c:11046
 #, c-format
 msgid ""
 "\n"
@@ -5913,18 +5950,18 @@
 "\n"
 " Tabela symboli pod offsetem %#<PRIx32> zawiera %zu gniazd:\n"
 
-#: src/readelf.c:11086
+#: src/readelf.c:11184
 #, c-format
 msgid "cannot get debug context descriptor: %s"
 msgstr "nie można uzyskać deskryptora kontekstu debugowania: %s"
 
-#: src/readelf.c:11449 src/readelf.c:12071 src/readelf.c:12182
-#: src/readelf.c:12240
+#: src/readelf.c:11552 src/readelf.c:12179 src/readelf.c:12290
+#: src/readelf.c:12348
 #, c-format
 msgid "cannot convert core note data: %s"
 msgstr "nie można konwertować danych notatki core: %s"
 
-#: src/readelf.c:11812
+#: src/readelf.c:11915
 #, c-format
 msgid ""
 "\n"
@@ -5933,21 +5970,21 @@
 "\n"
 "%*s… <powtarza się jeszcze %u razy>…"
 
-#: src/readelf.c:12319
+#: src/readelf.c:12427
 msgid "  Owner          Data size  Type\n"
 msgstr "  Właściciel     Rozmiar danych  Typ\n"
 
-#: src/readelf.c:12348
+#: src/readelf.c:12456
 #, c-format
 msgid "  %-13.*s  %9<PRId32>  %s\n"
 msgstr "  %-13.*s  %9<PRId32>  %s\n"
 
-#: src/readelf.c:12400
+#: src/readelf.c:12508
 #, fuzzy, c-format
 msgid "cannot get content of note: %s"
 msgstr "nie można uzyskać zawartości sekcji notatki: %s"
 
-#: src/readelf.c:12434
+#: src/readelf.c:12542
 #, c-format
 msgid ""
 "\n"
@@ -5957,7 +5994,7 @@
 "Segment notatki [%2zu] „%s” o długości %<PRIu64> bajtów pod offsetem "
 "%#0<PRIx64>:\n"
 
-#: src/readelf.c:12457
+#: src/readelf.c:12565
 #, c-format
 msgid ""
 "\n"
@@ -5966,7 +6003,7 @@
 "\n"
 "Segment notatki o długości %<PRIu64> bajtów pod offsetem %#0<PRIx64>:\n"
 
-#: src/readelf.c:12504
+#: src/readelf.c:12612
 #, c-format
 msgid ""
 "\n"
@@ -5975,12 +6012,12 @@
 "\n"
 "Sekcja [%zu] „%s” nie ma danych do zrzucenia.\n"
 
-#: src/readelf.c:12531 src/readelf.c:12582
+#: src/readelf.c:12639 src/readelf.c:12690
 #, c-format
 msgid "cannot get data for section [%zu] '%s': %s"
 msgstr "nie można uzyskać danych dla sekcji [%zu] „%s”: %s"
 
-#: src/readelf.c:12536
+#: src/readelf.c:12644
 #, c-format
 msgid ""
 "\n"
@@ -5990,7 +6027,7 @@
 "Segment zrzutu szesnastkowego [%zu] „%s”, %<PRIu64> bajtów pod offsetem "
 "%#0<PRIx64>:\n"
 
-#: src/readelf.c:12541
+#: src/readelf.c:12649
 #, c-format
 msgid ""
 "\n"
@@ -6001,7 +6038,7 @@
 "Zrzut szesnastkowy sekcji [%zu] „%s”, %<PRIu64> bajtów (%zd "
 "nieskompresowanych) pod offsetem %#0<PRIx64>:\n"
 
-#: src/readelf.c:12555
+#: src/readelf.c:12663
 #, c-format
 msgid ""
 "\n"
@@ -6010,7 +6047,7 @@
 "\n"
 "Sekcja [%zu] „%s” nie ma ciągów do zrzucenia.\n"
 
-#: src/readelf.c:12587
+#: src/readelf.c:12695
 #, c-format
 msgid ""
 "\n"
@@ -6019,7 +6056,7 @@
 "\n"
 "Sekcja ciągów [%zu] „%s” zawiera %<PRIu64> bajtów pod offsetem %#0<PRIx64>:\n"
 
-#: src/readelf.c:12592
+#: src/readelf.c:12700
 #, c-format
 msgid ""
 "\n"
@@ -6030,7 +6067,7 @@
 "Sekcja ciągów [%zu] „%s” zawiera %<PRIu64> bajtów (%zd nieskompresowanych) "
 "pod offsetem %#0<PRIx64>:\n"
 
-#: src/readelf.c:12641
+#: src/readelf.c:12749
 #, c-format
 msgid ""
 "\n"
@@ -6039,7 +6076,7 @@
 "\n"
 "sekcja [%lu] nie istnieje"
 
-#: src/readelf.c:12671
+#: src/readelf.c:12779
 #, c-format
 msgid ""
 "\n"
@@ -6048,12 +6085,12 @@
 "\n"
 "sekcja „%s” nie istnieje"
 
-#: src/readelf.c:12728
+#: src/readelf.c:12836
 #, c-format
 msgid "cannot get symbol index of archive '%s': %s"
 msgstr "nie można uzyskać indeksu symboli archiwum „%s”: %s"
 
-#: src/readelf.c:12731
+#: src/readelf.c:12839
 #, c-format
 msgid ""
 "\n"
@@ -6062,7 +6099,7 @@
 "\n"
 "Archiwum „%s” nie ma indeksu symboli\n"
 
-#: src/readelf.c:12735
+#: src/readelf.c:12843
 #, c-format
 msgid ""
 "\n"
@@ -6071,12 +6108,12 @@
 "\n"
 "Indeks archiwum „%s” ma %zu wpisów:\n"
 
-#: src/readelf.c:12753
+#: src/readelf.c:12861
 #, c-format
 msgid "cannot extract member at offset %zu in '%s': %s"
 msgstr "nie można wydobyć elementów pod offsetem %zu w „%s”: %s"
 
-#: src/readelf.c:12758
+#: src/readelf.c:12866
 #, c-format
 msgid "Archive member '%s' contains:\n"
 msgstr "Element archiwum „%s” zawiera:\n"
@@ -6140,7 +6177,7 @@
 msgid "%s: file format not recognized"
 msgstr "%s: nie rozpoznano formatu pliku"
 
-#: src/size.c:418 src/size.c:557
+#: src/size.c:418 src/size.c:560
 #, c-format
 msgid " (ex %s)"
 msgstr " (ex %s)"
@@ -6150,65 +6187,65 @@
 msgid "cannot get section header"
 msgstr "nie można uzyskać nagłówka sekcji\n"
 
-#: src/size.c:582
+#: src/size.c:585
 msgid "(TOTALS)\n"
 msgstr "(CAŁKOWITE)\n"
 
-#: src/stack.c:482
+#: src/stack.c:487
 #, c-format
 msgid "-p PID should be a positive process id."
 msgstr "-p PID powinien być dodatnim identyfikatorem procesu."
 
-#: src/stack.c:488
+#: src/stack.c:493
 #, c-format
 msgid "Cannot open core file '%s'"
 msgstr "Nie można otworzyć pliku core „%s”"
 
-#: src/stack.c:548
+#: src/stack.c:553
 #, c-format
 msgid "-n MAXFRAMES should be 0 or higher."
 msgstr "-n MAKSYMALNA_LICZBA_RAMEK powinna wynosić 0 lub więcej."
 
-#: src/stack.c:560
+#: src/stack.c:565
 #, c-format
 msgid "-e EXEC needs a core given by --core."
 msgstr "-e PLIK_WYKONYWALNY wymaga pliku core podanego za pomocą opcji --core."
 
-#: src/stack.c:564
+#: src/stack.c:569
 #, c-format
 msgid "-1 needs a thread id given by -p."
 msgstr "-1 wymaga identyfikatora wątku podanego za pomocą opcji -p."
 
-#: src/stack.c:568
+#: src/stack.c:573
 #, c-format
 msgid "One of -p PID or --core COREFILE should be given."
 msgstr "Tylko jedna z opcji -p PID lub --core PLIK_CORE powinna zostać podana."
 
-#: src/stack.c:640
+#: src/stack.c:645
 msgid "Show stack of process PID"
 msgstr "Wyświetla stos numeru PID procesu"
 
-#: src/stack.c:642
+#: src/stack.c:647
 msgid "Show stack found in COREFILE"
 msgstr "Wyświetla stos odnaleziony w PLIKU_CORE"
 
-#: src/stack.c:643
+#: src/stack.c:648
 msgid "(optional) EXECUTABLE that produced COREFILE"
 msgstr "(opcjonalnie) PLIK_WYKONYWALNY, który utworzył PLIK_CORE"
 
-#: src/stack.c:647
+#: src/stack.c:652
 msgid "Output selection options:"
 msgstr "Opcje wyboru wyjścia:"
 
-#: src/stack.c:649
+#: src/stack.c:654
 msgid "Additionally show frame activation"
 msgstr "Dodatkowo wyświetla aktywację ramki"
 
-#: src/stack.c:651
+#: src/stack.c:656
 msgid "Additionally try to lookup DWARF debuginfo name for frame address"
 msgstr "Dodatkowo próbuje wyszukać nazwy debuginfo DWARF dla adresu ramki"
 
-#: src/stack.c:654
+#: src/stack.c:659
 msgid ""
 "Additionally show inlined function frames using DWARF debuginfo if available "
 "(implies -d)"
@@ -6216,15 +6253,15 @@
 "Dodatkowo wyświetla wstawione ramki używając debuginfo DWARF, jeśli jest "
 "dostępne (zakłada opcję -d)"
 
-#: src/stack.c:656
+#: src/stack.c:661
 msgid "Additionally show module file information"
 msgstr "Dodatkowo wyświetla informacje o pliku modułu"
 
-#: src/stack.c:658
+#: src/stack.c:663
 msgid "Additionally show source file information"
 msgstr "Dodatkowo wyświetla informacje o pliku źródłowym"
 
-#: src/stack.c:660
+#: src/stack.c:665
 msgid ""
 "Show all additional information (activation, debugname, inlines, module and "
 "source)"
@@ -6232,36 +6269,36 @@
 "Wyświetla wszystkie dodatkowe informacje (aktywację, nazwę debugowania, "
 "wstawki, moduł i źródło)"
 
-#: src/stack.c:662
+#: src/stack.c:667
 msgid "Do not resolve address to function symbol name"
 msgstr "Nie rozwiązuje nazw symboli adresów do funkcji"
 
-#: src/stack.c:664
+#: src/stack.c:669
 msgid "Show raw function symbol names, do not try to demangle names"
 msgstr ""
 "Wyświetla surowe nazwy symboli funkcji, nie próbuje usuwać dekoracji z nazw"
 
-#: src/stack.c:666
+#: src/stack.c:671
 msgid "Show module build-id, load address and pc offset"
 msgstr "Wyświetla identyfikator kopii modułu, wczytuje adres i offset pc"
 
-#: src/stack.c:668
+#: src/stack.c:673
 msgid "Show the backtrace of only one thread"
 msgstr "Wyświetla wyjątek, jeśli jest tylko jeden wątek"
 
-#: src/stack.c:670
+#: src/stack.c:675
 msgid "Show at most MAXFRAMES per thread (default 256, use 0 for unlimited)"
 msgstr ""
 "Wyświetla najwyżej MAKSYMALNĄ_LICZBĘ_KLATEK na wątek (domyślnie 256, 0 "
 "oznacza brak ograniczenia)"
 
-#: src/stack.c:672
+#: src/stack.c:677
 msgid "Show module memory map with build-id, elf and debug files detected"
 msgstr ""
 "Wyświetla mapę pamięci modułu z identyfikatorem kopii, wykryte pliki elf "
 "i debug"
 
-#: src/stack.c:680
+#: src/stack.c:685
 #, fuzzy
 msgid ""
 "Print a stack for each thread in a process or core file.\n"
@@ -6269,7 +6306,7 @@
 "Program exits with return code 0 if all frames were shown without any "
 "errors.  If some frames were shown, but there were some non-fatal errors, "
 "possibly causing an incomplete backtrace, the program exits with return code "
-"1.  If no frames could be shown, or a fatal error occured the program exits "
+"1.  If no frames could be shown, or a fatal error occurred the program exits "
 "with return code 2.  If the program was invoked with bad or missing "
 "arguments it will exit with return code 64."
 msgstr ""
@@ -6283,7 +6320,7 @@
 "z kodem zwrotnym 2. Jeśli program został wywołany za pomocą błędnych lub "
 "brakujących parametrów, to zakończy on działanie z kodem zwrotnym 64."
 
-#: src/stack.c:755
+#: src/stack.c:760
 #, c-format
 msgid "Couldn't show any frames."
 msgstr "Nie można wyświetlić żadnych ramek."
@@ -6304,7 +6341,7 @@
 
 #: src/strings.c:69
 msgid ""
-"Select character size and endianess: s = 7-bit, S = 8-bit, {b,l} = 16-bit, "
+"Select character size and endianness: s = 7-bit, S = 8-bit, {b,l} = 16-bit, "
 "{B,L} = 32-bit"
 msgstr ""
 "Wybór rozmiaru i kolejności znaków: s = 7 bitów, S = 8 bitów, {b,l} = 16 "
@@ -6385,7 +6422,7 @@
 msgid ""
 "Resolve all trivial relocations between debug sections if the removed "
 "sections are placed in a debug file (only relevant for ET_REL files, "
-"operation is not reversable, needs -f)"
+"operation is not reversible, needs -f)"
 msgstr ""
 "Rozwiązuje wszystkie proste relokacje między sekcjami debugowania, jeśli "
 "usunięte sekcje zostały umieszczone w pliku debugowania (ma znaczenie tylko "
@@ -6395,7 +6432,7 @@
 msgid ""
 "Similar to --reloc-debug-sections, but resolve all trivial relocations "
 "between debug sections in place.  No other stripping is performed (operation "
-"is not reversable, incompatible with -f, -g, --remove-comment and --remove-"
+"is not reversible, incompatible with -f, -g, --remove-comment and --remove-"
 "section)"
 msgstr ""
 
@@ -6452,22 +6489,22 @@
 msgid "cannot both keep and remove .comment section"
 msgstr "Usuwa sekcję .comment"
 
-#: src/strip.c:574
+#: src/strip.c:481
 #, c-format
 msgid "bad relocation"
 msgstr "błędna relokacja"
 
-#: src/strip.c:726 src/strip.c:750
+#: src/strip.c:747 src/strip.c:771
 #, c-format
 msgid "cannot stat input file '%s'"
 msgstr "nie można wykonać stat na pliku wejściowym „%s”"
 
-#: src/strip.c:740
+#: src/strip.c:761
 #, c-format
 msgid "while opening '%s'"
 msgstr "podczas otwierania „%s”"
 
-#: src/strip.c:778
+#: src/strip.c:799
 #, c-format
 msgid "%s: cannot use -o or -f when stripping archive"
 msgstr "%s: nie można używać -o lub -f podczas okrajania archiwum"
@@ -6478,265 +6515,265 @@
 #. result = handle_ar (fd, elf, NULL, fname,
 #. preserve_dates ? tv : NULL);
 #.
-#: src/strip.c:790
+#: src/strip.c:811
 #, c-format
 msgid "%s: no support for stripping archive"
 msgstr "%s: brak obsługi okrajania archiwum"
 
-#: src/strip.c:1001
+#: src/strip.c:1047
 #, c-format
 msgid "cannot open EBL backend"
 msgstr "nie można otworzyć zaplecza EBL"
 
-#: src/strip.c:1046
+#: src/strip.c:1092
 #, c-format
 msgid "cannot get number of phdrs"
 msgstr "nie można uzyskać liczby phdr"
 
-#: src/strip.c:1060 src/strip.c:1103
+#: src/strip.c:1106 src/strip.c:1149
 #, fuzzy, c-format
 msgid "cannot create new ehdr for file '%s': %s"
 msgstr "nie można utworzyć nowego pliku „%s”: %s"
 
-#: src/strip.c:1070 src/strip.c:1113
+#: src/strip.c:1116 src/strip.c:1159
 #, fuzzy, c-format
 msgid "cannot create new phdr for file '%s': %s"
 msgstr "nie można utworzyć nowego pliku „%s”: %s"
 
-#: src/strip.c:1194
+#: src/strip.c:1240
 #, c-format
 msgid "illformed file '%s'"
 msgstr "plik „%s” ma błędny format"
 
-#: src/strip.c:1204
+#: src/strip.c:1250
 #, fuzzy, c-format
 msgid "Cannot remove allocated section '%s'"
 msgstr "nie można przydzielić danych sekcji: %s"
 
-#: src/strip.c:1213
+#: src/strip.c:1259
 #, fuzzy, c-format
 msgid "Cannot both keep and remove section '%s'"
 msgstr "nie można dodać nowej sekcji: %s"
 
-#: src/strip.c:1573 src/strip.c:1688
+#: src/strip.c:1624 src/strip.c:1739
 #, c-format
 msgid "while generating output file: %s"
 msgstr "podczas tworzenia pliku wyjściowego: %s"
 
-#: src/strip.c:1637
+#: src/strip.c:1688
 #, fuzzy, c-format
 msgid "%s: error while updating ELF header: %s"
 msgstr "%s: błąd podczas tworzenia nagłówka ELF: %s"
 
-#: src/strip.c:1646
+#: src/strip.c:1697
 #, fuzzy, c-format
 msgid "%s: error while getting shdrstrndx: %s"
 msgstr "%s: błąd podczas tworzenia nagłówka ELF: %s"
 
-#: src/strip.c:1654 src/strip.c:2535
+#: src/strip.c:1705 src/strip.c:2550
 #, fuzzy, c-format
 msgid "%s: error updating shdrstrndx: %s"
 msgstr "%s: błąd podczas tworzenia nagłówka ELF: %s"
 
-#: src/strip.c:1671
+#: src/strip.c:1722
 #, c-format
 msgid "while preparing output for '%s'"
 msgstr "podczas przygotowywania wyjścia dla „%s”"
 
-#: src/strip.c:1733 src/strip.c:1796
+#: src/strip.c:1784 src/strip.c:1847
 #, c-format
 msgid "while create section header section: %s"
 msgstr "podczas tworzenia sekcji nagłówka sekcji: %s"
 
-#: src/strip.c:1742
+#: src/strip.c:1793
 #, c-format
 msgid "cannot allocate section data: %s"
 msgstr "nie można przydzielić danych sekcji: %s"
 
-#: src/strip.c:1808
+#: src/strip.c:1859
 #, c-format
 msgid "while create section header string table: %s"
 msgstr "podczas tworzenia tabeli ciągów nagłówka sekcji: %s"
 
-#: src/strip.c:1815
+#: src/strip.c:1866
 #, c-format
 msgid "no memory to create section header string table"
 msgstr "brak pamięci do utworzenia tabeli ciągów nagłówka sekcji"
 
-#: src/strip.c:2028
+#: src/strip.c:2079
 #, c-format
 msgid "Cannot remove symbol [%zd] from allocated symbol table [%zd]"
 msgstr "Nie można usunąć symbolu [%zd] z przydzielonej tabeli symboli [%zd]"
 
-#: src/strip.c:2451 src/strip.c:2559
+#: src/strip.c:2466 src/strip.c:2574
 #, c-format
 msgid "while writing '%s': %s"
 msgstr "podczas zapisywania „%s”: %s"
 
-#: src/strip.c:2462
+#: src/strip.c:2477
 #, c-format
 msgid "while creating '%s'"
 msgstr "podczas tworzenia „%s”"
 
-#: src/strip.c:2485
+#: src/strip.c:2500
 #, c-format
 msgid "while computing checksum for debug information"
 msgstr "podczas obliczania sumy kontrolnej dla informacji debugowania"
 
-#: src/strip.c:2526
+#: src/strip.c:2541
 #, c-format
 msgid "%s: error while creating ELF header: %s"
 msgstr "%s: błąd podczas tworzenia nagłówka ELF: %s"
 
-#: src/strip.c:2544
+#: src/strip.c:2559
 #, c-format
 msgid "%s: error while reading the file: %s"
 msgstr "%s: błąd podczas odczytywania pliku: %s"
 
-#: src/strip.c:2584 src/strip.c:2604
+#: src/strip.c:2599 src/strip.c:2619
 #, c-format
 msgid "while writing '%s'"
 msgstr "podczas zapisywania „%s”"
 
-#: src/strip.c:2641 src/strip.c:2648
+#: src/strip.c:2656 src/strip.c:2663
 #, c-format
 msgid "error while finishing '%s': %s"
 msgstr "błąd podczas kończenia „%s”: %s"
 
-#: src/strip.c:2665 src/strip.c:2741
+#: src/strip.c:2680 src/strip.c:2756
 #, c-format
 msgid "cannot set access and modification date of '%s'"
 msgstr "nie można ustawić czasu dostępu i modyfikacji „%s”"
 
-#: src/unstrip.c:70
+#: src/unstrip.c:66
 msgid "Match MODULE against file names, not module names"
 msgstr "Dopasowuje MODUŁY do nazw plików, a nie nazwy modułów"
 
-#: src/unstrip.c:71
+#: src/unstrip.c:67
 msgid "Silently skip unfindable files"
 msgstr "Pomija nieodnalezione pliki bez zgłaszania tego"
 
-#: src/unstrip.c:74
+#: src/unstrip.c:70
 msgid "Place output into FILE"
 msgstr "Umieszcza wyjście w PLIKU"
 
-#: src/unstrip.c:76
+#: src/unstrip.c:72
 msgid "Create multiple output files under DIRECTORY"
 msgstr "Tworzy wiele plików wyjściowych w KATALOGU"
 
-#: src/unstrip.c:77
+#: src/unstrip.c:73
 msgid "Use module rather than file names"
 msgstr "Używa nazw modułów zamiast nazw plików"
 
-#: src/unstrip.c:79
+#: src/unstrip.c:75
 msgid "Create output for modules that have no separate debug information"
 msgstr ""
 "Tworzy wyjście dla modułów niemających oddzielnych informacji debugowania"
 
-#: src/unstrip.c:82
+#: src/unstrip.c:78
 msgid "Apply relocations to section contents in ET_REL files"
 msgstr "Zastosowuje relokacje do zawartości sekcji w plikach ET_REL"
 
-#: src/unstrip.c:84
+#: src/unstrip.c:80
 msgid "Only list module and file names, build IDs"
 msgstr "Wyświetla tylko nazwy modułów i plików, identyfikatory kopii"
 
-#: src/unstrip.c:86
+#: src/unstrip.c:82
 msgid "Force combining files even if some ELF headers don't seem to match"
 msgstr ""
 "Wymusza łączenie plików nawet, jeśli niektóre nagłówki ELF się nie zgadzają"
 
-#: src/unstrip.c:130
+#: src/unstrip.c:126
 #, c-format
 msgid "-d option specified twice"
 msgstr "opcję -d podano dwukrotnie"
 
-#: src/unstrip.c:165
+#: src/unstrip.c:161
 #, c-format
 msgid "only one of -o or -d allowed"
 msgstr "dozwolona jest tylko jedna z opcji -o lub -d"
 
-#: src/unstrip.c:174
+#: src/unstrip.c:170
 #, c-format
 msgid "-n cannot be used with explicit files or -o or -d"
 msgstr "opcja -n nie może być używana z jawnymi plikami albo z opcją -o lub -d"
 
-#: src/unstrip.c:189
+#: src/unstrip.c:185
 #, c-format
 msgid "output directory '%s'"
 msgstr "katalog wyjściowy „%s”"
 
-#: src/unstrip.c:198
+#: src/unstrip.c:194
 #, c-format
 msgid "exactly two file arguments are required"
 msgstr "wymagane są dokładnie dwa parametry plików"
 
-#: src/unstrip.c:204
+#: src/unstrip.c:200
 #, c-format
 msgid "-m, -a, -R, and -i options not allowed with explicit files"
 msgstr "opcje -m, -a, -R oraz -i nie są dozwolone z jawnymi plikami"
 
-#: src/unstrip.c:217
+#: src/unstrip.c:213
 #, c-format
 msgid "-o or -d is required when using implicit files"
 msgstr "opcja -o lub -d jest wymagana podczas używania ukrytych plików"
 
-#: src/unstrip.c:240
+#: src/unstrip.c:236
 #, c-format
 msgid "cannot create ELF header: %s"
 msgstr "nie można utworzyć nagłówka ELF: %s"
 
-#: src/unstrip.c:244
+#: src/unstrip.c:240
 #, fuzzy, c-format
 msgid "cannot get shdrstrndx:%s"
 msgstr "nie można uzyskać sekcji: %s"
 
-#: src/unstrip.c:248 src/unstrip.c:2081
+#: src/unstrip.c:244 src/unstrip.c:2085
 #, c-format
 msgid "cannot get ELF header: %s"
 msgstr "nie można uzyskać nagłówka ELF: %s"
 
-#: src/unstrip.c:258
+#: src/unstrip.c:254
 #, fuzzy, c-format
 msgid "cannot get new zero section: %s"
 msgstr "nie można uzyskać sekcji: %s"
 
-#: src/unstrip.c:261
+#: src/unstrip.c:257
 #, fuzzy, c-format
 msgid "cannot update new zero section: %s"
 msgstr "nie można zaktualizować relokacji: %s"
 
-#: src/unstrip.c:265
+#: src/unstrip.c:261
 #, c-format
 msgid "cannot copy ELF header: %s"
 msgstr "nie można skopiować nagłówka ELF: %s"
 
-#: src/unstrip.c:269 src/unstrip.c:2099 src/unstrip.c:2142
+#: src/unstrip.c:265 src/unstrip.c:2103 src/unstrip.c:2146
 #, c-format
 msgid "cannot get number of program headers: %s"
 msgstr "nie można uzyskać liczby nagłówków programu: %s"
 
-#: src/unstrip.c:274 src/unstrip.c:2103
+#: src/unstrip.c:270 src/unstrip.c:2107
 #, c-format
 msgid "cannot create program headers: %s"
 msgstr "nie można utworzyć nagłówków programu: %s"
 
-#: src/unstrip.c:280
+#: src/unstrip.c:276
 #, c-format
 msgid "cannot copy program header: %s"
 msgstr "nie można skopiować nagłówka programu: %s"
 
-#: src/unstrip.c:290
+#: src/unstrip.c:286
 #, c-format
 msgid "cannot copy section header: %s"
 msgstr "nie można skopiować nagłówka sekcji: %s"
 
-#: src/unstrip.c:293 src/unstrip.c:1703
+#: src/unstrip.c:289 src/unstrip.c:1707
 #, c-format
 msgid "cannot get section data: %s"
 msgstr "nie można uzyskać danych sekcji: %s"
 
-#: src/unstrip.c:295 src/unstrip.c:1705
+#: src/unstrip.c:291 src/unstrip.c:1709
 #, c-format
 msgid "cannot copy section data: %s"
 msgstr "nie można skopiować danych sekcji: %s"
@@ -6746,183 +6783,183 @@
 msgid "cannot create directory '%s'"
 msgstr "nie można utworzyć katalogu „%s”"
 
-#: src/unstrip.c:391 src/unstrip.c:651 src/unstrip.c:685 src/unstrip.c:853
-#: src/unstrip.c:1745
+#: src/unstrip.c:393 src/unstrip.c:655 src/unstrip.c:689 src/unstrip.c:857
+#: src/unstrip.c:1749
 #, c-format
 msgid "cannot get symbol table entry: %s"
 msgstr "nie można uzyskać wpisu tabeli symboli: %s"
 
-#: src/unstrip.c:407 src/unstrip.c:654 src/unstrip.c:675 src/unstrip.c:688
-#: src/unstrip.c:1766 src/unstrip.c:1961 src/unstrip.c:1985
+#: src/unstrip.c:409 src/unstrip.c:658 src/unstrip.c:679 src/unstrip.c:692
+#: src/unstrip.c:1770 src/unstrip.c:1965 src/unstrip.c:1989
 #, c-format
 msgid "cannot update symbol table: %s"
 msgstr "nie można zaktualizować tabeli symboli: %s"
 
-#: src/unstrip.c:417
+#: src/unstrip.c:419
 #, c-format
 msgid "cannot update section header: %s"
 msgstr "nie można zaktualizować nagłówka sekcji: %s"
 
-#: src/unstrip.c:463 src/unstrip.c:477
+#: src/unstrip.c:465 src/unstrip.c:479
 #, c-format
 msgid "cannot update relocation: %s"
 msgstr "nie można zaktualizować relokacji: %s"
 
-#: src/unstrip.c:574
+#: src/unstrip.c:578
 #, c-format
 msgid "cannot get symbol version: %s"
 msgstr "nie można uzyskać wersji symbolu: %s"
 
-#: src/unstrip.c:587
+#: src/unstrip.c:591
 #, c-format
 msgid "unexpected section type in [%zu] with sh_link to symtab"
 msgstr "nieoczekiwany typ sekcji w [%zu] z sh_link do tabeli symboli"
 
-#: src/unstrip.c:842
+#: src/unstrip.c:846
 #, fuzzy, c-format
 msgid "cannot get symbol section data: %s"
 msgstr "nie można uzyskać danych sekcji: %s"
 
-#: src/unstrip.c:844
+#: src/unstrip.c:848
 #, fuzzy, c-format
 msgid "cannot get string section data: %s"
 msgstr "nie można uzyskać danych sekcji: %s"
 
-#: src/unstrip.c:861
+#: src/unstrip.c:865
 #, c-format
 msgid "invalid string offset in symbol [%zu]"
 msgstr "nieprawidłowy offset ciągu w symbolu [%zu]"
 
-#: src/unstrip.c:1019 src/unstrip.c:1423
+#: src/unstrip.c:1023 src/unstrip.c:1427
 #, c-format
 msgid "cannot read section [%zu] name: %s"
 msgstr "nie można odczytać nazwy sekcji [%zu]: %s"
 
-#: src/unstrip.c:1034
+#: src/unstrip.c:1038
 #, fuzzy, c-format
 msgid "bad sh_link for group section: %s"
 msgstr "nieprawidłowa wartość sh_link w sekcji %zu"
 
-#: src/unstrip.c:1040
+#: src/unstrip.c:1044
 #, fuzzy, c-format
 msgid "couldn't get shdr for group section: %s"
 msgstr "nie można uzyskać danych dla sekcji %d: %s"
 
-#: src/unstrip.c:1045
+#: src/unstrip.c:1049
 #, fuzzy, c-format
 msgid "bad data for group symbol section: %s"
 msgstr "nie można uzyskać danych dla sekcji symboli\n"
 
-#: src/unstrip.c:1051
+#: src/unstrip.c:1055
 #, fuzzy, c-format
 msgid "couldn't get symbol for group section: %s"
 msgstr "nie można uzyskać wersji symbolu: %s"
 
-#: src/unstrip.c:1056
+#: src/unstrip.c:1060
 #, fuzzy, c-format
 msgid "bad symbol name for group section: %s"
 msgstr "błędny nagłówek kompresji dla sekcji %zd: %s"
 
-#: src/unstrip.c:1098 src/unstrip.c:1117 src/unstrip.c:1155
+#: src/unstrip.c:1102 src/unstrip.c:1121 src/unstrip.c:1159
 #, c-format
 msgid "cannot read '.gnu.prelink_undo' section: %s"
 msgstr "nie można odczytać sekcji „.gnu.prelink_undo”: %s"
 
-#: src/unstrip.c:1135
+#: src/unstrip.c:1139
 #, c-format
 msgid "overflow with shnum = %zu in '%s' section"
 msgstr "przepełnienie z shnum = %zu w sekcji „%s”"
 
-#: src/unstrip.c:1146
+#: src/unstrip.c:1150
 #, c-format
 msgid "invalid contents in '%s' section"
 msgstr "nieprawidłowa zawartość w sekcji „%s”"
 
-#: src/unstrip.c:1202 src/unstrip.c:1549
+#: src/unstrip.c:1206 src/unstrip.c:1553
 #, c-format
 msgid "cannot find matching section for [%zu] '%s'"
 msgstr "nie można odnaleźć pasującej sekcji dla [%zu] „%s”"
 
-#: src/unstrip.c:1327 src/unstrip.c:1343 src/unstrip.c:1629 src/unstrip.c:1920
+#: src/unstrip.c:1331 src/unstrip.c:1347 src/unstrip.c:1633 src/unstrip.c:1924
 #, c-format
 msgid "cannot add section name to string table: %s"
 msgstr "nie można nazwy sekcji do tabeli ciągów: %s"
 
-#: src/unstrip.c:1352
+#: src/unstrip.c:1356
 #, c-format
 msgid "cannot update section header string table data: %s"
 msgstr "nie można zaktualizować danych tabeli ciągów nagłówków sekcji: %s"
 
-#: src/unstrip.c:1381 src/unstrip.c:1385
+#: src/unstrip.c:1385 src/unstrip.c:1389
 #, c-format
 msgid "cannot get section header string table section index: %s"
 msgstr "nie można uzyskać indeksu sekcji tabeli ciągów nagłówków sekcji: %s"
 
-#: src/unstrip.c:1389 src/unstrip.c:1393 src/unstrip.c:1644
+#: src/unstrip.c:1393 src/unstrip.c:1397 src/unstrip.c:1648
 #, c-format
 msgid "cannot get section count: %s"
 msgstr "nie można uzyskać licznika sekcji: %s"
 
-#: src/unstrip.c:1396
+#: src/unstrip.c:1400
 #, c-format
 msgid "more sections in stripped file than debug file -- arguments reversed?"
 msgstr ""
 "więcej sekcji w okrojonym pliku niż w pliku debugowania — odwrócono "
 "parametry?"
 
-#: src/unstrip.c:1400
+#: src/unstrip.c:1404
 #, c-format
 msgid "no sections in stripped file"
 msgstr ""
 
-#: src/unstrip.c:1471 src/unstrip.c:1564
+#: src/unstrip.c:1475 src/unstrip.c:1568
 #, c-format
 msgid "cannot read section header string table: %s"
 msgstr "nie można odczytać tabeli ciągów nagłówków sekcji: %s"
 
-#: src/unstrip.c:1623
+#: src/unstrip.c:1627
 #, c-format
 msgid "cannot add new section: %s"
 msgstr "nie można dodać nowej sekcji: %s"
 
-#: src/unstrip.c:1753
+#: src/unstrip.c:1757
 #, c-format
 msgid "symbol [%zu] has invalid section index"
 msgstr "symbol [%zu] ma nieprawidłowy indeks sekcji"
 
-#: src/unstrip.c:1785
+#: src/unstrip.c:1789
 #, fuzzy, c-format
 msgid "group has invalid section index [%zd]"
 msgstr "symbol [%zu] ma nieprawidłowy indeks sekcji"
 
-#: src/unstrip.c:2060
+#: src/unstrip.c:2064
 #, c-format
 msgid "cannot read section data: %s"
 msgstr "nie można odczytać danych sekcji: %s"
 
-#: src/unstrip.c:2089
+#: src/unstrip.c:2093
 #, c-format
 msgid "cannot update ELF header: %s"
 msgstr "nie można zaktualizować nagłówka ELF: %s"
 
-#: src/unstrip.c:2113
+#: src/unstrip.c:2117
 #, c-format
 msgid "cannot update program header: %s"
 msgstr "nie można zaktualizować nagłówka programu: %s"
 
-#: src/unstrip.c:2118 src/unstrip.c:2200
+#: src/unstrip.c:2122 src/unstrip.c:2205
 #, c-format
 msgid "cannot write output file: %s"
 msgstr "nie można zapisać pliku wyjściowego: %s"
 
-#: src/unstrip.c:2169
+#: src/unstrip.c:2173
 #, c-format
 msgid "DWARF data not adjusted for prelinking bias; consider prelink -u"
 msgstr ""
 "Dane DWARF nie zostały dostosowane do przesunięcia wczesnego konsolidowania; "
 "proszę rozważyć polecenie prelink -u"
 
-#: src/unstrip.c:2172
+#: src/unstrip.c:2176
 #, c-format
 msgid ""
 "DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u"
@@ -6930,77 +6967,77 @@
 "Dane DWARF w „%s” nie zostały dostosowane do przesunięcia wczesnego "
 "konsolidowania; proszę rozważyć polecenie prelink -u"
 
-#: src/unstrip.c:2191 src/unstrip.c:2242 src/unstrip.c:2254 src/unstrip.c:2340
+#: src/unstrip.c:2196 src/unstrip.c:2247 src/unstrip.c:2259 src/unstrip.c:2345
 #, c-format
 msgid "cannot create ELF descriptor: %s"
 msgstr "nie można utworzyć deskryptora ELF: %s"
 
-#: src/unstrip.c:2233
+#: src/unstrip.c:2238
 msgid "WARNING: "
 msgstr "OSTRZEŻENIE: "
 
-#: src/unstrip.c:2235
+#: src/unstrip.c:2240
 msgid ", use --force"
 msgstr ", należy użyć opcji --force"
 
-#: src/unstrip.c:2258
+#: src/unstrip.c:2263
 msgid "ELF header identification (e_ident) different"
 msgstr "Różna identyfikacja nagłówka ELF (e_ident)"
 
-#: src/unstrip.c:2261
+#: src/unstrip.c:2266
 msgid "ELF header type (e_type) different"
 msgstr "Różne typy nagłówka ELF (e_type)"
 
-#: src/unstrip.c:2264
+#: src/unstrip.c:2269
 msgid "ELF header machine type (e_machine) different"
 msgstr "Różne typy maszyny nagłówka ELF (e_machine)"
 
-#: src/unstrip.c:2267
+#: src/unstrip.c:2272
 msgid "stripped program header (e_phnum) smaller than unstripped"
 msgstr "okrojony nagłówek programu (e_phnum) jest mniejszy niż nieokrojony"
 
-#: src/unstrip.c:2297
+#: src/unstrip.c:2302
 #, c-format
 msgid "cannot find stripped file for module '%s': %s"
 msgstr "nie można odnaleźć okrojonego pliku dla modułu „%s”: %s"
 
-#: src/unstrip.c:2301
+#: src/unstrip.c:2306
 #, c-format
 msgid "cannot open stripped file '%s' for module '%s': %s"
 msgstr "nie można otworzyć okrojonego pliku „%s” dla modułu „%s”: %s"
 
-#: src/unstrip.c:2316
+#: src/unstrip.c:2321
 #, c-format
 msgid "cannot find debug file for module '%s': %s"
 msgstr "nie można odnaleźć pliku debugowania dla modułu „%s”: %s"
 
-#: src/unstrip.c:2320
+#: src/unstrip.c:2325
 #, c-format
 msgid "cannot open debug file '%s' for module '%s': %s"
 msgstr "nie można otworzyć pliku debugowania „%s” dla modułu „%s”: %s"
 
-#: src/unstrip.c:2333
+#: src/unstrip.c:2338
 #, c-format
 msgid "module '%s' file '%s' is not stripped"
 msgstr "moduł „%s” pliku „%s” nie został okrojony"
 
-#: src/unstrip.c:2364
+#: src/unstrip.c:2369
 #, c-format
 msgid "cannot cache section addresses for module '%s': %s"
 msgstr ""
 "nie można utworzyć pamięci podręcznej adresów sekcji dla modułu „%s”: %s"
 
-#: src/unstrip.c:2497
+#: src/unstrip.c:2501
 #, c-format
 msgid "no matching modules found"
 msgstr "nie odnaleziono pasujących modułów"
 
-#: src/unstrip.c:2506
+#: src/unstrip.c:2510
 #, c-format
 msgid "matched more than one module"
 msgstr "pasuje więcej niż jeden moduł"
 
-#: src/unstrip.c:2550
+#: src/unstrip.c:2554
 msgid ""
 "STRIPPED-FILE DEBUG-FILE\n"
 "[MODULE...]"
@@ -7008,7 +7045,7 @@
 "OKROJONY-PLIK PLIK-DEBUGOWANIA\n"
 "[MODUŁ…]"
 
-#: src/unstrip.c:2551
+#: src/unstrip.c:2555
 #, fuzzy
 msgid ""
 "Combine stripped files with separate symbols and debug information.\n"
@@ -7068,15 +7105,21 @@
 msgid "Run executable"
 msgstr "Uruchamia plik wykonywalny"
 
-#: tests/dwflmodtest.c:213
+#: tests/dwflmodtest.c:209
 msgid "Additionally show function names"
 msgstr "Dodatkowo wyświetla nazwy funkcji"
 
-#: tests/dwflmodtest.c:214
+#: tests/dwflmodtest.c:210
 msgid "Show instances of inlined functions"
 msgstr "Wyświetla wystąpienia wstawionych funkcji"
 
 #, fuzzy
+#~ msgid ""
+#~ " [%6tx] base address\n"
+#~ "          "
+#~ msgstr " [%6tx]  adres podstawowy %s\n"
+
+#, fuzzy
 #~ msgid "%s: error getting zero section: %s"
 #~ msgstr "%s: błąd podczas odczytywania pliku: %s"
 
diff --git a/po/quot.sed b/po/quot.sed
deleted file mode 100644
index 0122c46..0000000
--- a/po/quot.sed
+++ /dev/null
@@ -1,6 +0,0 @@
-s/"\([^"]*\)"/“\1”/g
-s/`\([^`']*\)'/‘\1’/g
-s/ '\([^`']*\)' / ‘\1’ /g
-s/ '\([^`']*\)'$/ ‘\1’/g
-s/^'\([^`']*\)' /‘\1’ /g
-s/“”/""/g
diff --git a/po/remove-potcdate.sin b/po/remove-potcdate.sin
deleted file mode 100644
index 2436c49..0000000
--- a/po/remove-potcdate.sin
+++ /dev/null
@@ -1,19 +0,0 @@
-# Sed script that remove the POT-Creation-Date line in the header entry
-# from a POT file.
-#
-# The distinction between the first and the following occurrences of the
-# pattern is achieved by looking at the hold space.
-/^"POT-Creation-Date: .*"$/{
-x
-# Test if the hold space is empty.
-s/P/P/
-ta
-# Yes it was empty. First occurrence. Remove the line.
-g
-d
-bb
-:a
-# The hold space was nonempty. Following occurrences. Do nothing.
-x
-:b
-}
diff --git a/po/ru.po b/po/ru.po
deleted file mode 100644
index 99505d6..0000000
--- a/po/ru.po
+++ /dev/null
@@ -1,5665 +0,0 @@
-# translation of ru.po to
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-#
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: ru\n"
-"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2010-04-21 07:41-0700\n"
-"PO-Revision-Date: 2009-11-12 10:27+1100\n"
-"Last-Translator: NAME <EMAIL>\n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: 8bit\n"
-"X-Generator: KBabel 1.11.4\n"
-
-#: lib/xmalloc.c:51 lib/xmalloc.c:65 lib/xmalloc.c:79 src/readelf.c:2822
-#: src/readelf.c:3161 src/unstrip.c:2087 src/unstrip.c:2295
-#, c-format
-msgid "memory exhausted"
-msgstr ""
-
-#: libasm/asm_error.c:62 libdw/dwarf_error.c:79 libdwfl/libdwflP.h:70
-#: libelf/elf_error.c:81
-msgid "no error"
-msgstr ""
-
-#: libasm/asm_error.c:63 libdw/dwarf_error.c:88 libdwfl/libdwflP.h:72
-#: libelf/elf_error.c:112
-msgid "out of memory"
-msgstr ""
-
-#: libasm/asm_error.c:64 src/ldgeneric.c:2687
-#, c-format
-msgid "cannot create output file"
-msgstr ""
-
-#: libasm/asm_error.c:65
-msgid "invalid parameter"
-msgstr ""
-
-#: libasm/asm_error.c:66
-msgid "cannot change mode of output file"
-msgstr ""
-
-#: libasm/asm_error.c:67 src/ldgeneric.c:7001
-#, c-format
-msgid "cannot rename output file"
-msgstr ""
-
-#: libasm/asm_error.c:68
-msgid "duplicate symbol"
-msgstr ""
-
-#: libasm/asm_error.c:69
-msgid "invalid section type for operation"
-msgstr ""
-
-#: libasm/asm_error.c:70
-msgid "error during output of data"
-msgstr ""
-
-#: libasm/asm_error.c:71
-msgid "no backend support available"
-msgstr ""
-
-#: libasm/asm_error.c:81 libdw/dwarf_error.c:80 libdwfl/libdwflP.h:71
-#: libelf/elf_error.c:84
-msgid "unknown error"
-msgstr ""
-
-#: libdw/dwarf_error.c:81
-msgid "invalid access"
-msgstr ""
-
-#: libdw/dwarf_error.c:82
-msgid "no regular file"
-msgstr ""
-
-#: libdw/dwarf_error.c:83
-msgid "I/O error"
-msgstr ""
-
-#: libdw/dwarf_error.c:84
-msgid "invalid ELF file"
-msgstr ""
-
-#: libdw/dwarf_error.c:85
-msgid "no DWARF information"
-msgstr ""
-
-#: libdw/dwarf_error.c:86
-msgid "no ELF file"
-msgstr ""
-
-#: libdw/dwarf_error.c:87
-msgid "cannot get ELF header"
-msgstr ""
-
-#: libdw/dwarf_error.c:89
-msgid "not implemented"
-msgstr ""
-
-#: libdw/dwarf_error.c:90 libelf/elf_error.c:128 libelf/elf_error.c:176
-msgid "invalid command"
-msgstr ""
-
-#: libdw/dwarf_error.c:91
-msgid "invalid version"
-msgstr ""
-
-#: libdw/dwarf_error.c:92
-msgid "invalid file"
-msgstr ""
-
-#: libdw/dwarf_error.c:93
-msgid "no entries found"
-msgstr ""
-
-#: libdw/dwarf_error.c:94
-msgid "invalid DWARF"
-msgstr ""
-
-#: libdw/dwarf_error.c:95
-msgid "no string data"
-msgstr ""
-
-#: libdw/dwarf_error.c:96
-msgid "no address value"
-msgstr ""
-
-#: libdw/dwarf_error.c:97
-msgid "no constant value"
-msgstr ""
-
-#: libdw/dwarf_error.c:98
-msgid "no reference value"
-msgstr ""
-
-#: libdw/dwarf_error.c:99
-msgid "invalid reference value"
-msgstr ""
-
-#: libdw/dwarf_error.c:100
-msgid ".debug_line section missing"
-msgstr ""
-
-#: libdw/dwarf_error.c:101
-msgid "invalid .debug_line section"
-msgstr ""
-
-#: libdw/dwarf_error.c:102
-msgid "debug information too big"
-msgstr ""
-
-#: libdw/dwarf_error.c:103
-msgid "invalid DWARF version"
-msgstr ""
-
-#: libdw/dwarf_error.c:104
-msgid "invalid directory index"
-msgstr ""
-
-#: libdw/dwarf_error.c:105 libdwfl/libdwflP.h:91
-msgid "address out of range"
-msgstr ""
-
-#: 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 ""
-
-#: libdw/dwarf_error.c:109
-msgid "invalid address range index"
-msgstr ""
-
-#: libdw/dwarf_error.c:110 libdwfl/libdwflP.h:92
-msgid "no matching address range"
-msgstr ""
-
-#: libdw/dwarf_error.c:111
-msgid "no flag value"
-msgstr ""
-
-#: libdw/dwarf_error.c:112 libelf/elf_error.c:253
-msgid "invalid offset"
-msgstr ""
-
-#: libdw/dwarf_error.c:113
-msgid ".debug_ranges section missing"
-msgstr ""
-
-#: libdw/dwarf_error.c:114
-msgid "invalid CFI section"
-msgstr ""
-
-#: libdwfl/argp-std.c:67 src/unstrip.c:2237
-msgid "Input selection options:"
-msgstr ""
-
-#: libdwfl/argp-std.c:68
-msgid "Find addresses in FILE"
-msgstr ""
-
-#: libdwfl/argp-std.c:70
-msgid "Find addresses from signatures found in COREFILE"
-msgstr ""
-
-#: 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 ""
-
-#: libdwfl/argp-std.c:78
-msgid "Kernel with all modules"
-msgstr ""
-
-#: libdwfl/argp-std.c:80
-msgid "Search path for separate debuginfo files"
-msgstr ""
-
-#: libdwfl/argp-std.c:163
-msgid "only one of -e, -p, -k, -K, or --core allowed"
-msgstr ""
-
-#: libdwfl/argp-std.c:223
-#, c-format
-msgid "cannot read ELF core file: %s"
-msgstr ""
-
-#: libdwfl/argp-std.c:241
-msgid "No modules recognized in core file"
-msgstr ""
-
-#: libdwfl/argp-std.c:253
-msgid "cannot load kernel symbols"
-msgstr ""
-
-#: libdwfl/argp-std.c:257
-msgid "cannot find kernel modules"
-msgstr ""
-
-#: libdwfl/argp-std.c:271
-msgid "cannot find kernel or modules"
-msgstr ""
-
-#: libdwfl/libdwflP.h:73
-msgid "See errno"
-msgstr ""
-
-#: libdwfl/libdwflP.h:74
-msgid "See elf_errno"
-msgstr ""
-
-#: libdwfl/libdwflP.h:75
-msgid "See dwarf_errno"
-msgstr ""
-
-#: libdwfl/libdwflP.h:76
-msgid "See ebl_errno (XXX missing)"
-msgstr ""
-
-#: libdwfl/libdwflP.h:77
-msgid "gzip decompression failed"
-msgstr ""
-
-#: libdwfl/libdwflP.h:78
-msgid "bzip2 decompression failed"
-msgstr ""
-
-#: libdwfl/libdwflP.h:79
-msgid "LZMA decompression failed"
-msgstr ""
-
-#: libdwfl/libdwflP.h:80
-msgid "no support library found for machine"
-msgstr ""
-
-#: libdwfl/libdwflP.h:81
-msgid "Callbacks missing for ET_REL file"
-msgstr ""
-
-#: libdwfl/libdwflP.h:82
-msgid "Unsupported relocation type"
-msgstr ""
-
-#: libdwfl/libdwflP.h:83
-msgid "r_offset is bogus"
-msgstr ""
-
-#: libdwfl/libdwflP.h:84 libelf/elf_error.c:132 libelf/elf_error.c:192
-msgid "offset out of range"
-msgstr ""
-
-#: libdwfl/libdwflP.h:85
-msgid "relocation refers to undefined symbol"
-msgstr ""
-
-#: libdwfl/libdwflP.h:86
-msgid "Callback returned failure"
-msgstr ""
-
-#: libdwfl/libdwflP.h:87
-msgid "No DWARF information found"
-msgstr ""
-
-#: libdwfl/libdwflP.h:88
-msgid "No symbol table found"
-msgstr ""
-
-#: libdwfl/libdwflP.h:89
-msgid "No ELF program headers"
-msgstr ""
-
-#: libdwfl/libdwflP.h:90
-msgid "address range overlaps an existing module"
-msgstr ""
-
-#: libdwfl/libdwflP.h:93
-msgid "image truncated"
-msgstr ""
-
-#: libdwfl/libdwflP.h:94
-msgid "ELF file opened"
-msgstr ""
-
-#: libdwfl/libdwflP.h:95
-msgid "not a valid ELF file"
-msgstr ""
-
-#: libdwfl/libdwflP.h:96
-msgid "cannot handle DWARF type description"
-msgstr ""
-
-#: libebl/eblbackendname.c:63
-msgid "No backend"
-msgstr ""
-
-#: libebl/eblcorenotetypename.c:107 libebl/eblobjecttypename.c:78
-#: libebl/eblobjnotetypename.c:86 libebl/eblosabiname.c:98
-#: libebl/eblsectionname.c:110 libebl/eblsectiontypename.c:140
-#: libebl/eblsegmenttypename.c:104
-msgid "<unknown>"
-msgstr ""
-
-#: libebl/ebldynamictagname.c:126
-#, c-format
-msgid "<unknown>: %#<PRIx64>"
-msgstr ""
-
-#: libebl/eblobjnote.c:76
-#, c-format
-msgid "    Build ID: "
-msgstr ""
-
-#: libebl/eblobjnote.c:87
-#, c-format
-msgid "    Linker version: %.*s\n"
-msgstr ""
-
-#: libebl/eblobjnote.c:136
-#, c-format
-msgid "    OS: %s, ABI: "
-msgstr ""
-
-#: libebl/eblosabiname.c:95
-msgid "Stand alone"
-msgstr ""
-
-#: libebl/eblsymbolbindingname.c:92 libebl/eblsymboltypename.c:98
-#, c-format
-msgid "<unknown>: %d"
-msgstr ""
-
-#: libelf/elf_error.c:88
-msgid "unknown version"
-msgstr ""
-
-#: libelf/elf_error.c:92
-msgid "unknown type"
-msgstr ""
-
-#: 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:4779
-#, c-format
-msgid "invalid encoding"
-msgstr ""
-
-#: libelf/elf_error.c:116
-msgid "invalid file descriptor"
-msgstr ""
-
-#: libelf/elf_error.c:120
-msgid "invalid operation"
-msgstr ""
-
-#: libelf/elf_error.c:124
-msgid "ELF version not set"
-msgstr ""
-
-#: libelf/elf_error.c:136
-msgid "invalid fmag field in archive header"
-msgstr ""
-
-#: libelf/elf_error.c:140
-msgid "invalid archive file"
-msgstr ""
-
-#: 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 ""
-
-#: libelf/elf_error.c:156
-msgid "cannot write data to file"
-msgstr ""
-
-#: 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 file descriptor 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:6242 src/readelf.c:6343
-#, c-format
-msgid "invalid data"
-msgstr ""
-
-#: libelf/elf_error.c:212
-msgid "unknown data encoding"
-msgstr ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/addr2line.c:73
-msgid "Treat addresses as offsets relative to NAME section."
-msgstr ""
-
-#: src/addr2line.c:75 src/elfcmp.c:75 src/findtextrel.c:75 src/nm.c:103
-#: src/strings.c:83
-msgid "Miscellaneous:"
-msgstr ""
-
-#: src/addr2line.c:84
-msgid ""
-"Locate source files and line information for ADDRs (in a.out by default)."
-msgstr ""
-
-#: src/addr2line.c:88
-msgid "[ADDR...]"
-msgstr ""
-
-#: src/addr2line.c:185 src/ar.c:289 src/elfcmp.c:555 src/elflint.c:239
-#: src/findtextrel.c:170 src/ld.c:957 src/nm.c:253 src/objdump.c:181
-#: src/ranlib.c:136 src/readelf.c:449 src/size.c:219 src/strings.c:227
-#: src/strip.c:204 src/unstrip.c:234
-#, 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 ""
-
-#: src/addr2line.c:190 src/ar.c:294 src/elfcmp.c:560 src/elflint.c:244
-#: src/findtextrel.c:175 src/ld.c:962 src/nm.c:258 src/objdump.c:186
-#: src/ranlib.c:141 src/readelf.c:454 src/size.c:224 src/strings.c:232
-#: src/strip.c:209 src/unstrip.c:239
-#, c-format
-msgid "Written by %s.\n"
-msgstr ""
-
-#: src/addr2line.c:405
-#, c-format
-msgid "Section syntax requires exactly one module"
-msgstr ""
-
-#: src/addr2line.c:428
-#, c-format
-msgid "offset %#<PRIxMAX> lies outside section '%s'"
-msgstr ""
-
-#: src/addr2line.c:461
-#, c-format
-msgid "cannot find symbol '%s'"
-msgstr ""
-
-#: src/addr2line.c:466
-#, c-format
-msgid "offset %#<PRIxMAX> lies outside contents of '%s'"
-msgstr ""
-
-#: src/ar.c:76
-msgid "Commands:"
-msgstr ""
-
-#: src/ar.c:77
-msgid "Delete files from archive."
-msgstr ""
-
-#: src/ar.c:78
-msgid "Move files in archive."
-msgstr ""
-
-#: src/ar.c:79
-msgid "Print files in archive."
-msgstr ""
-
-#: src/ar.c:80
-msgid "Quick append files to archive."
-msgstr ""
-
-#: src/ar.c:82
-msgid "Replace existing or insert new file into archive."
-msgstr ""
-
-#: src/ar.c:83
-msgid "Display content of archive."
-msgstr ""
-
-#: src/ar.c:84
-msgid "Extract files from archive."
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:91
-msgid "Allow filename to be truncated if necessary."
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:96
-msgid "Insert file before [MEMBER]."
-msgstr ""
-
-#: src/ar.c:97
-msgid "Same as -b."
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:107
-msgid "Create, modify, and extract from archives."
-msgstr ""
-
-#: src/ar.c:110
-msgid "[MEMBER] [COUNT] ARCHIVE [FILE...]"
-msgstr ""
-
-#: src/ar.c:192
-#, c-format
-msgid "'a', 'b', and 'i' are only allowed with the 'm' and 'r' options"
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:230
-#, c-format
-msgid "invalid COUNT parameter %s"
-msgstr ""
-
-#: src/ar.c:237
-#, c-format
-msgid "'%c' is only meaningful with the 'x' option"
-msgstr ""
-
-#: src/ar.c:243
-#, c-format
-msgid "archive name required"
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:414
-#, c-format
-msgid "cannot open archive '%s': %s"
-msgstr ""
-
-#: src/ar.c:418
-#, c-format
-msgid "%s: not an archive file"
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:487 src/ar.c:929 src/ar.c:1129
-#, c-format
-msgid "cannot create hash table"
-msgstr ""
-
-#: src/ar.c:494 src/ar.c:936 src/ar.c:1138
-#, c-format
-msgid "cannot insert into hash table"
-msgstr ""
-
-#: src/ar.c:502 src/ranlib.c:176
-#, c-format
-msgid "cannot stat '%s'"
-msgstr ""
-
-#: src/ar.c:598
-#, c-format
-msgid "cannot read content of %s: %s"
-msgstr ""
-
-#: src/ar.c:641
-#, c-format
-msgid "cannot open %.*s"
-msgstr ""
-
-#: src/ar.c:663
-#, c-format
-msgid "failed to write %s"
-msgstr ""
-
-#: src/ar.c:675
-#, c-format
-msgid "cannot change mode of %s"
-msgstr ""
-
-#: src/ar.c:691
-#, c-format
-msgid "cannot change modification time of %s"
-msgstr ""
-
-#: src/ar.c:737
-#, c-format
-msgid "cannot rename temporary file to %.*s"
-msgstr ""
-
-#: src/ar.c:773 src/ar.c:1021 src/ar.c:1419 src/ranlib.c:250
-#, c-format
-msgid "cannot create new file"
-msgstr ""
-
-#: src/ar.c:1220
-#, c-format
-msgid "position member %s not found"
-msgstr ""
-
-#: src/ar.c:1230
-#, c-format
-msgid "%s: no entry %s in archive!\n"
-msgstr ""
-
-#: src/ar.c:1259 src/ldgeneric.c:519 src/objdump.c:257
-#, c-format
-msgid "cannot open %s"
-msgstr ""
-
-#: src/ar.c:1264
-#, c-format
-msgid "cannot stat %s"
-msgstr ""
-
-#: src/ar.c:1270
-#, c-format
-msgid "%s is no regular file"
-msgstr ""
-
-#: src/ar.c:1283
-#, c-format
-msgid "cannot get ELF descriptor for %s: %s\n"
-msgstr ""
-
-#: src/ar.c:1302
-#, c-format
-msgid "cannot read %s: %s"
-msgstr ""
-
-#: src/arlib.c:215
-#, c-format
-msgid "the archive '%s' is too large"
-msgstr ""
-
-#: src/arlib.c:228
-#, c-format
-msgid "cannot read ELF header of %s(%s): %s"
-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 ""
-
-#: src/elfcmp.c:80
-msgid "Compare relevant parts of two ELF files for equality."
-msgstr ""
-
-#: 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:198 src/elfcmp.c:201
-#, c-format
-msgid "cannot get section count of '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:206
-#, c-format
-msgid "%s %s diff: section count"
-msgstr ""
-
-#: src/elfcmp.c:214 src/elfcmp.c:217
-#, c-format
-msgid "cannot get program header count of '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:222
-#, c-format
-msgid "%s %s diff: program header count"
-msgstr ""
-
-#: src/elfcmp.c:281
-#, c-format
-msgid "%s %s differ: section header"
-msgstr ""
-
-#: src/elfcmp.c:309 src/elfcmp.c:315
-#, c-format
-msgid "cannot get content of section %zu in '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:331 src/elfcmp.c:337
-#, c-format
-msgid "cannot get symbol in '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:358
-#, c-format
-msgid "%s %s differ: symbol table [%zu]"
-msgstr ""
-
-#: src/elfcmp.c:361
-#, c-format
-msgid "%s %s differ: symbol table [%zu,%zu]"
-msgstr ""
-
-#: src/elfcmp.c:409
-#, c-format
-msgid "%s %s differ: section [%zu] '%s' content"
-msgstr ""
-
-#: src/elfcmp.c:413
-#, c-format
-msgid "%s %s differ: section [%zu,%zu] '%s' content"
-msgstr ""
-
-#: src/elfcmp.c:429
-#, c-format
-msgid "%s %s differ: unequal amount of important sections"
-msgstr ""
-
-#: src/elfcmp.c:463 src/elfcmp.c:468
-#, c-format
-msgid "cannot load data of '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:487 src/elfcmp.c:493
-#, c-format
-msgid "cannot get program header entry %d of '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:499
-#, c-format
-msgid "%s %s differ: program header %d"
-msgstr ""
-
-#: src/elfcmp.c:524
-#, c-format
-msgid "%s %s differ: gap"
-msgstr ""
-
-#: src/elfcmp.c:583
-#, c-format
-msgid "Invalid value '%s' for --gaps parameter."
-msgstr ""
-
-#: src/elfcmp.c:607 src/findtextrel.c:229 src/ldgeneric.c:1767
-#: src/ldgeneric.c:4257 src/nm.c:363 src/ranlib.c:169 src/size.c:301
-#: src/strings.c:183 src/strip.c:433 src/strip.c:468 src/unstrip.c:1900
-#: src/unstrip.c:1929
-#, c-format
-msgid "cannot open '%s'"
-msgstr ""
-
-#: src/elfcmp.c:611 src/findtextrel.c:236 src/ranlib.c:186
-#, c-format
-msgid "cannot create ELF descriptor for '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:616
-#, c-format
-msgid "cannot create EBL descriptor for '%s'"
-msgstr ""
-
-#: src/elfcmp.c:634
-#, c-format
-msgid "cannot get section header of section %zu: %s"
-msgstr ""
-
-#: src/elfcmp.c:644
-#, c-format
-msgid "cannot get content of section %zu: %s"
-msgstr ""
-
-#: src/elfcmp.c:654 src/elfcmp.c:668
-#, c-format
-msgid "cannot get relocation: %s"
-msgstr ""
-
-#: src/elflint.c:72
-msgid "Be extremely strict, flag level 2 features."
-msgstr ""
-
-#: src/elflint.c:73
-msgid "Do not print anything if successful"
-msgstr ""
-
-#: src/elflint.c:74
-msgid "Binary is a separate debuginfo file"
-msgstr ""
-
-#: src/elflint.c:76
-msgid ""
-"Binary has been created with GNU ld and is therefore known to be broken in "
-"certain ways"
-msgstr ""
-
-#: src/elflint.c:82
-msgid "Pedantic checking of ELF files compliance with gABI/psABI spec."
-msgstr ""
-
-#: src/elflint.c:86 src/readelf.c:118
-msgid "FILE..."
-msgstr ""
-
-#: src/elflint.c:159 src/readelf.c:272
-#, c-format
-msgid "cannot open input file"
-msgstr ""
-
-#: src/elflint.c:166
-#, c-format
-msgid "cannot generate Elf descriptor: %s\n"
-msgstr ""
-
-#: src/elflint.c:185
-#, c-format
-msgid "error while closing Elf descriptor: %s\n"
-msgstr ""
-
-#: src/elflint.c:189
-msgid "No errors"
-msgstr ""
-
-#: src/elflint.c:223 src/readelf.c:425
-msgid "Missing file name.\n"
-msgstr ""
-
-#: src/elflint.c:302
-#, c-format
-msgid " error while freeing sub-ELF descriptor: %s\n"
-msgstr ""
-
-#: src/elflint.c:310
-#, c-format
-msgid "Not an ELF file - it has the wrong magic bytes at the start\n"
-msgstr ""
-
-#: src/elflint.c:370
-#, c-format
-msgid "e_ident[%d] == %d is no known class\n"
-msgstr ""
-
-#: src/elflint.c:375
-#, c-format
-msgid "e_ident[%d] == %d is no known data encoding\n"
-msgstr ""
-
-#: src/elflint.c:379
-#, c-format
-msgid "unknown ELF header version number e_ident[%d] == %d\n"
-msgstr ""
-
-#: src/elflint.c:385
-#, c-format
-msgid "unsupported OS ABI e_ident[%d] == '%s'\n"
-msgstr ""
-
-#: src/elflint.c:391
-#, c-format
-msgid "unsupport ABI version e_ident[%d] == %d\n"
-msgstr ""
-
-#: src/elflint.c:396
-#, c-format
-msgid "e_ident[%zu] is not zero\n"
-msgstr ""
-
-#: src/elflint.c:401
-#, c-format
-msgid "unknown object file type %d\n"
-msgstr ""
-
-#: src/elflint.c:408
-#, c-format
-msgid "unknown machine type %d\n"
-msgstr ""
-
-#: src/elflint.c:412
-#, c-format
-msgid "unknown object file version\n"
-msgstr ""
-
-#: src/elflint.c:418
-#, c-format
-msgid "invalid program header offset\n"
-msgstr ""
-
-#: src/elflint.c:420
-#, c-format
-msgid "executables and DSOs cannot have zero program header offset\n"
-msgstr ""
-
-#: src/elflint.c:424
-#, c-format
-msgid "invalid number of program header entries\n"
-msgstr ""
-
-#: src/elflint.c:432
-#, c-format
-msgid "invalid section header table offset\n"
-msgstr ""
-
-#: src/elflint.c:435
-#, c-format
-msgid "section header table must be present\n"
-msgstr ""
-
-#: src/elflint.c:449
-#, c-format
-msgid "invalid number of section header table entries\n"
-msgstr ""
-
-#: src/elflint.c:466
-#, c-format
-msgid "invalid section header index\n"
-msgstr ""
-
-#: src/elflint.c:480
-#, c-format
-msgid "invalid number of program header table entries\n"
-msgstr ""
-
-#: src/elflint.c:489
-#, c-format
-msgid "invalid machine flags: %s\n"
-msgstr ""
-
-#: src/elflint.c:496 src/elflint.c:513
-#, c-format
-msgid "invalid ELF header size: %hd\n"
-msgstr ""
-
-#: src/elflint.c:499 src/elflint.c:516
-#, c-format
-msgid "invalid program header size: %hd\n"
-msgstr ""
-
-#: src/elflint.c:502 src/elflint.c:519
-#, c-format
-msgid "invalid program header position or size\n"
-msgstr ""
-
-#: src/elflint.c:505 src/elflint.c:522
-#, c-format
-msgid "invalid section header size: %hd\n"
-msgstr ""
-
-#: src/elflint.c:508 src/elflint.c:525
-#, c-format
-msgid "invalid section header position or size\n"
-msgstr ""
-
-#: src/elflint.c:569
-#, c-format
-msgid ""
-"section [%2d] '%s': section with SHF_GROUP flag set not part of a section "
-"group\n"
-msgstr ""
-
-#: src/elflint.c:573
-#, c-format
-msgid ""
-"section [%2d] '%s': section group [%2zu] '%s' does not precede group member\n"
-msgstr ""
-
-#: src/elflint.c:589 src/elflint.c:1432 src/elflint.c:1482 src/elflint.c:1591
-#: src/elflint.c:2185 src/elflint.c:2699 src/elflint.c:2860 src/elflint.c:2990
-#: src/elflint.c:3162 src/elflint.c:4062
-#, c-format
-msgid "section [%2d] '%s': cannot get section data\n"
-msgstr ""
-
-#: src/elflint.c:602 src/elflint.c:1598
-#, 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:625
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol table cannot have more than one extended index "
-"section\n"
-msgstr ""
-
-#: src/elflint.c:636
-#, c-format
-msgid "section [%2u] '%s': entry size is does not match ElfXX_Sym\n"
-msgstr ""
-
-#: src/elflint.c:645
-#, c-format
-msgid "section [%2d] '%s': cannot get symbol %d: %s\n"
-msgstr ""
-
-#: src/elflint.c:650 src/elflint.c:653 src/elflint.c:656 src/elflint.c:659
-#: src/elflint.c:662 src/elflint.c:665
-#, c-format
-msgid "section [%2d] '%s': '%s' in zeroth entry not zero\n"
-msgstr ""
-
-#: src/elflint.c:668
-#, c-format
-msgid "section [%2d] '%s': XINDEX for zeroth entry not zero\n"
-msgstr ""
-
-#: src/elflint.c:678
-#, c-format
-msgid "section [%2d] '%s': cannot get symbol %zu: %s\n"
-msgstr ""
-
-#: src/elflint.c:687
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: invalid name value\n"
-msgstr ""
-
-#: src/elflint.c:700
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: too large section index but no extended "
-"section index section\n"
-msgstr ""
-
-#: src/elflint.c:706
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: XINDEX used for index which would fit in "
-"st_shndx (%<PRIu32>)\n"
-msgstr ""
-
-#: src/elflint.c:718
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: invalid section index\n"
-msgstr ""
-
-#: src/elflint.c:726
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown type\n"
-msgstr ""
-
-#: src/elflint.c:732
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown symbol binding\n"
-msgstr ""
-
-#: src/elflint.c:737
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unique symbol not of object type\n"
-msgstr ""
-
-#: src/elflint.c:745
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: COMMON only allowed in relocatable files\n"
-msgstr ""
-
-#: src/elflint.c:749
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: local COMMON symbols are nonsense\n"
-msgstr ""
-
-#: src/elflint.c:753
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: function in COMMON section is nonsense\n"
-msgstr ""
-
-#: src/elflint.c:785
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: st_value out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:791 src/elflint.c:816 src/elflint.c:859
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu does not fit completely in referenced section "
-"[%2d] '%s'\n"
-msgstr ""
-
-#: src/elflint.c:800
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: referenced section [%2d] '%s' does not have "
-"SHF_TLS flag set\n"
-msgstr ""
-
-#: src/elflint.c:810 src/elflint.c:852
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: st_value out of bounds of referenced section "
-"[%2d] '%s'\n"
-msgstr ""
-
-#: src/elflint.c:837
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: TLS symbol but no TLS program header entry\n"
-msgstr ""
-
-#: src/elflint.c:845
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: st_value short of referenced section [%2d] '%"
-"s'\n"
-msgstr ""
-
-#: src/elflint.c:872
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: local symbol outside range described in "
-"sh_info\n"
-msgstr ""
-
-#: src/elflint.c:879
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: non-local symbol outside range described in "
-"sh_info\n"
-msgstr ""
-
-#: src/elflint.c:886
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: non-local section symbol\n"
-msgstr ""
-
-#: src/elflint.c:936
-#, c-format
-msgid ""
-"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to bad section [%"
-"2d]\n"
-msgstr ""
-
-#: src/elflint.c:943
-#, c-format
-msgid ""
-"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to section [%2d] '%"
-"s'\n"
-msgstr ""
-
-#: src/elflint.c:959
-#, c-format
-msgid ""
-"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol value %#<PRIx64> does not "
-"match %s section address %#<PRIx64>\n"
-msgstr ""
-
-#: src/elflint.c:966
-#, c-format
-msgid ""
-"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol size %<PRIu64> does not "
-"match %s section size %<PRIu64>\n"
-msgstr ""
-
-#: src/elflint.c:974
-#, c-format
-msgid ""
-"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol present, but no .got "
-"section\n"
-msgstr ""
-
-#: src/elflint.c:990
-#, c-format
-msgid ""
-"section [%2d] '%s': _DYNAMIC_ symbol value %#<PRIx64> does not match dynamic "
-"segment address %#<PRIx64>\n"
-msgstr ""
-
-#: src/elflint.c:997
-#, c-format
-msgid ""
-"section [%2d] '%s': _DYNAMIC symbol size %<PRIu64> does not match dynamic "
-"segment size %<PRIu64>\n"
-msgstr ""
-
-#: src/elflint.c:1010
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: symbol in dynamic symbol table with non-"
-"default visibility\n"
-msgstr ""
-
-#: src/elflint.c:1014
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown bit set in st_other\n"
-msgstr ""
-
-#: src/elflint.c:1059
-#, c-format
-msgid "section [%2d] '%s': DT_RELCOUNT used for this RELA section\n"
-msgstr ""
-
-#: src/elflint.c:1068 src/elflint.c:1120
-#, c-format
-msgid "section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"
-msgstr ""
-
-#: src/elflint.c:1093 src/elflint.c:1145
-#, c-format
-msgid ""
-"section [%2d] '%s': relative relocations after index %d as specified by "
-"DT_RELCOUNT\n"
-msgstr ""
-
-#: src/elflint.c:1099 src/elflint.c:1151
-#, c-format
-msgid ""
-"section [%2d] '%s': non-relative relocation at index %zu; DT_RELCOUNT "
-"specified %d relative relocations\n"
-msgstr ""
-
-#: src/elflint.c:1111
-#, c-format
-msgid "section [%2d] '%s': DT_RELACOUNT used for this REL section\n"
-msgstr ""
-
-#: src/elflint.c:1193
-#, c-format
-msgid "section [%2d] '%s': invalid destination section index\n"
-msgstr ""
-
-#: src/elflint.c:1206
-#, c-format
-msgid "section [%2d] '%s': invalid destination section type\n"
-msgstr ""
-
-#: src/elflint.c:1214
-#, c-format
-msgid "section [%2d] '%s': sh_info should be zero\n"
-msgstr ""
-
-#: src/elflint.c:1221
-#, c-format
-msgid "section [%2d] '%s': no relocations for merge-able sections possible\n"
-msgstr ""
-
-#: src/elflint.c:1228
-#, c-format
-msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n"
-msgstr ""
-
-#: src/elflint.c:1288
-#, c-format
-msgid "text relocation flag set but there is no read-only segment\n"
-msgstr ""
-
-#: src/elflint.c:1315
-#, c-format
-msgid "section [%2d] '%s': relocation %zu: invalid type\n"
-msgstr ""
-
-#: src/elflint.c:1323
-#, c-format
-msgid ""
-"section [%2d] '%s': relocation %zu: relocation type invalid for the file "
-"type\n"
-msgstr ""
-
-#: src/elflint.c:1331
-#, c-format
-msgid "section [%2d] '%s': relocation %zu: invalid symbol index\n"
-msgstr ""
-
-#: src/elflint.c:1349
-#, c-format
-msgid ""
-"section [%2d] '%s': relocation %zu: only symbol '_GLOBAL_OFFSET_TABLE_' can "
-"be used with %s\n"
-msgstr ""
-
-#: src/elflint.c:1366
-#, c-format
-msgid "section [%2d] '%s': relocation %zu: offset out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:1381
-#, c-format
-msgid ""
-"section [%2d] '%s': relocation %zu: copy relocation against symbol of type %"
-"s\n"
-msgstr ""
-
-#: src/elflint.c:1402
-#, c-format
-msgid ""
-"section [%2d] '%s': relocation %zu: read-only section modified but text "
-"relocation flag not set\n"
-msgstr ""
-
-#: src/elflint.c:1417
-#, c-format
-msgid "section [%2d] '%s': relocations are against loaded and unloaded data\n"
-msgstr ""
-
-#: src/elflint.c:1456 src/elflint.c:1506
-#, c-format
-msgid "section [%2d] '%s': cannot get relocation %zu: %s\n"
-msgstr ""
-
-#: src/elflint.c:1586
-#, c-format
-msgid "more than one dynamic section present\n"
-msgstr ""
-
-#: src/elflint.c:1604
-#, c-format
-msgid "section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"
-msgstr ""
-
-#: src/elflint.c:1609 src/elflint.c:1901
-#, c-format
-msgid "section [%2d] '%s': sh_info not zero\n"
-msgstr ""
-
-#: src/elflint.c:1619
-#, c-format
-msgid "section [%2d] '%s': cannot get dynamic section entry %zu: %s\n"
-msgstr ""
-
-#: src/elflint.c:1627
-#, c-format
-msgid "section [%2d] '%s': non-DT_NULL entries follow DT_NULL entry\n"
-msgstr ""
-
-#: src/elflint.c:1634
-#, c-format
-msgid "section [%2d] '%s': entry %zu: unknown tag\n"
-msgstr ""
-
-#: src/elflint.c:1645
-#, c-format
-msgid "section [%2d] '%s': entry %zu: more than one entry with tag %s\n"
-msgstr ""
-
-#: src/elflint.c:1655
-#, c-format
-msgid "section [%2d] '%s': entry %zu: level 2 tag %s used\n"
-msgstr ""
-
-#: src/elflint.c:1673
-#, c-format
-msgid ""
-"section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n"
-msgstr ""
-
-#: src/elflint.c:1695
-#, 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:1738
-#, c-format
-msgid ""
-"section [%2d] '%s': entry %zu: %s value must point into loaded segment\n"
-msgstr ""
-
-#: src/elflint.c:1753
-#, c-format
-msgid ""
-"section [%2d] '%s': entry %zu: %s value must be valid offset in section [%"
-"2d] '%s'\n"
-msgstr ""
-
-#: src/elflint.c:1773 src/elflint.c:1801
-#, c-format
-msgid "section [%2d] '%s': contains %s entry but not %s\n"
-msgstr ""
-
-#: src/elflint.c:1785
-#, c-format
-msgid "section [%2d] '%s': mandatory tag %s not present\n"
-msgstr ""
-
-#: src/elflint.c:1794
-#, c-format
-msgid "section [%2d] '%s': no hash section present\n"
-msgstr ""
-
-#: src/elflint.c:1809 src/elflint.c:1816
-#, c-format
-msgid "section [%2d] '%s': not all of %s, %s, and %s are present\n"
-msgstr ""
-
-#: src/elflint.c:1826 src/elflint.c:1830
-#, c-format
-msgid "section [%2d] '%s': %s tag missing in DSO marked during prelinking\n"
-msgstr ""
-
-#: src/elflint.c:1836
-#, c-format
-msgid "section [%2d] '%s': non-DSO file marked as dependency during prelink\n"
-msgstr ""
-
-#: src/elflint.c:1847 src/elflint.c:1851 src/elflint.c:1855 src/elflint.c:1859
-#, c-format
-msgid "section [%2d] '%s': %s tag missing in prelinked executable\n"
-msgstr ""
-
-#: src/elflint.c:1871
-#, c-format
-msgid ""
-"section [%2d] '%s': only relocatable files can have extended section index\n"
-msgstr ""
-
-#: src/elflint.c:1881
-#, c-format
-msgid ""
-"section [%2d] '%s': extended section index section not for symbol table\n"
-msgstr ""
-
-#: src/elflint.c:1886
-#, c-format
-msgid "cannot get data for symbol section\n"
-msgstr ""
-
-#: src/elflint.c:1889
-#, c-format
-msgid "section [%2d] '%s': entry size does not match Elf32_Word\n"
-msgstr ""
-
-#: src/elflint.c:1896
-#, c-format
-msgid "section [%2d] '%s': extended index table too small for symbol table\n"
-msgstr ""
-
-#: src/elflint.c:1911
-#, c-format
-msgid ""
-"section [%2d] '%s': extended section index in section [%2zu] '%s' refers to "
-"same symbol table\n"
-msgstr ""
-
-#: src/elflint.c:1922
-#, c-format
-msgid "symbol 0 should have zero extended section index\n"
-msgstr ""
-
-#: src/elflint.c:1934
-#, c-format
-msgid "cannot get data for symbol %zu\n"
-msgstr ""
-
-#: src/elflint.c:1939
-#, c-format
-msgid "extended section index is %<PRIu32> but symbol index is not XINDEX\n"
-msgstr ""
-
-#: src/elflint.c:1955 src/elflint.c:1996
-#, c-format
-msgid ""
-"section [%2d] '%s': hash table section is too small (is %ld, expected %ld)\n"
-msgstr ""
-
-#: src/elflint.c:1967 src/elflint.c:2008
-#, c-format
-msgid "section [%2d] '%s': chain array too large\n"
-msgstr ""
-
-#: src/elflint.c:1976 src/elflint.c:2017
-#, c-format
-msgid "section [%2d] '%s': hash bucket reference %zu out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:1982
-#, c-format
-msgid "section [%2d] '%s': hash chain reference %zu out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:2023
-#, c-format
-msgid "section [%2d] '%s': hash chain reference %<PRIu64> out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:2038
-#, c-format
-msgid "section [%2d] '%s': bitmask size not power of 2: %u\n"
-msgstr ""
-
-#: src/elflint.c:2049
-#, c-format
-msgid ""
-"section [%2d] '%s': hash table section is too small (is %ld, expected at "
-"least%ld)\n"
-msgstr ""
-
-#: src/elflint.c:2057
-#, c-format
-msgid "section [%2d] '%s': 2nd hash function shift too big: %u\n"
-msgstr ""
-
-#: src/elflint.c:2089
-#, c-format
-msgid ""
-"section [%2d] '%s': hash chain for bucket %zu lower than symbol index bias\n"
-msgstr ""
-
-#: src/elflint.c:2110
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %u referenced in chain for bucket %zu is "
-"undefined\n"
-msgstr ""
-
-#: src/elflint.c:2121
-#, c-format
-msgid ""
-"section [%2d] '%s': hash value for symbol %u in chain for bucket %zu wrong\n"
-msgstr ""
-
-#: src/elflint.c:2152
-#, c-format
-msgid "section [%2d] '%s': hash chain for bucket %zu out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:2157
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol reference in chain for bucket %zu out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:2163
-#, c-format
-msgid "section [%2d] '%s': bitmask does not match names in the hash table\n"
-msgstr ""
-
-#: src/elflint.c:2176
-#, c-format
-msgid "section [%2d] '%s': relocatable files cannot have hash tables\n"
-msgstr ""
-
-#: src/elflint.c:2194
-#, c-format
-msgid "section [%2d] '%s': hash table not for dynamic symbol table\n"
-msgstr ""
-
-#: src/elflint.c:2202
-#, c-format
-msgid "section [%2d] '%s': hash table entry size incorrect\n"
-msgstr ""
-
-#: src/elflint.c:2207
-#, c-format
-msgid "section [%2d] '%s': not marked to be allocated\n"
-msgstr ""
-
-#: src/elflint.c:2212
-#, c-format
-msgid ""
-"section [%2d] '%s': hash table has not even room for initial administrative "
-"entries\n"
-msgstr ""
-
-#: src/elflint.c:2260
-#, c-format
-msgid "sh_link in hash sections [%2zu] '%s' and [%2zu] '%s' not identical\n"
-msgstr ""
-
-#: src/elflint.c:2338 src/elflint.c:2342
-#, c-format
-msgid "section [%2zu] '%s': reference to symbol index 0\n"
-msgstr ""
-
-#: src/elflint.c:2349
-#, 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:2361
-#, 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:2377
-#, c-format
-msgid "section [%2d] '%s': nonzero sh_%s for NULL section\n"
-msgstr ""
-
-#: src/elflint.c:2397
-#, c-format
-msgid ""
-"section [%2d] '%s': section groups only allowed in relocatable object files\n"
-msgstr ""
-
-#: src/elflint.c:2408
-#, c-format
-msgid "section [%2d] '%s': cannot get symbol table: %s\n"
-msgstr ""
-
-#: src/elflint.c:2413
-#, c-format
-msgid "section [%2d] '%s': section reference in sh_link is no symbol table\n"
-msgstr ""
-
-#: src/elflint.c:2419
-#, c-format
-msgid "section [%2d] '%s': invalid symbol index in sh_info\n"
-msgstr ""
-
-#: src/elflint.c:2424
-#, c-format
-msgid "section [%2d] '%s': sh_flags not zero\n"
-msgstr ""
-
-#: src/elflint.c:2431
-#, c-format
-msgid "section [%2d] '%s': cannot get symbol for signature\n"
-msgstr ""
-
-#: src/elflint.c:2436
-#, c-format
-msgid "section [%2d] '%s': signature symbol cannot be empty string\n"
-msgstr ""
-
-#: src/elflint.c:2442
-#, c-format
-msgid "section [%2d] '%s': sh_flags not set correctly\n"
-msgstr ""
-
-#: src/elflint.c:2448
-#, c-format
-msgid "section [%2d] '%s': cannot get data: %s\n"
-msgstr ""
-
-#: src/elflint.c:2457
-#, c-format
-msgid "section [%2d] '%s': section size not multiple of sizeof(Elf32_Word)\n"
-msgstr ""
-
-#: src/elflint.c:2462
-#, c-format
-msgid "section [%2d] '%s': section group without flags word\n"
-msgstr ""
-
-#: src/elflint.c:2468
-#, c-format
-msgid "section [%2d] '%s': section group without member\n"
-msgstr ""
-
-#: src/elflint.c:2472
-#, c-format
-msgid "section [%2d] '%s': section group with only one member\n"
-msgstr ""
-
-#: src/elflint.c:2483
-#, c-format
-msgid "section [%2d] '%s': unknown section group flags\n"
-msgstr ""
-
-#: src/elflint.c:2495
-#, c-format
-msgid "section [%2d] '%s': section index %Zu out of range\n"
-msgstr ""
-
-#: src/elflint.c:2504
-#, c-format
-msgid "section [%2d] '%s': cannot get section header for element %zu: %s\n"
-msgstr ""
-
-#: src/elflint.c:2511
-#, c-format
-msgid "section [%2d] '%s': section group contains another group [%2d] '%s'\n"
-msgstr ""
-
-#: src/elflint.c:2517
-#, c-format
-msgid ""
-"section [%2d] '%s': element %Zu references section [%2d] '%s' without "
-"SHF_GROUP flag set\n"
-msgstr ""
-
-#: src/elflint.c:2524
-#, c-format
-msgid "section [%2d] '%s' is contained in more than one section group\n"
-msgstr ""
-
-#: src/elflint.c:2713
-#, 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:2724
-#, c-format
-msgid ""
-"section [%2d] '%s' has different number of entries than symbol table [%2d] '%"
-"s'\n"
-msgstr ""
-
-#: src/elflint.c:2740
-#, c-format
-msgid "section [%2d] '%s': symbol %d: cannot read version data\n"
-msgstr ""
-
-#: src/elflint.c:2756
-#, c-format
-msgid "section [%2d] '%s': symbol %d: local symbol with global scope\n"
-msgstr ""
-
-#: src/elflint.c:2764
-#, c-format
-msgid "section [%2d] '%s': symbol %d: local symbol with version\n"
-msgstr ""
-
-#: src/elflint.c:2778
-#, c-format
-msgid "section [%2d] '%s': symbol %d: invalid version index %d\n"
-msgstr ""
-
-#: src/elflint.c:2783
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %d: version index %d is for defined version\n"
-msgstr ""
-
-#: src/elflint.c:2793
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %d: version index %d is for requested version\n"
-msgstr ""
-
-#: src/elflint.c:2845
-#, c-format
-msgid "more than one version reference section present\n"
-msgstr ""
-
-#: src/elflint.c:2853 src/elflint.c:2982
-#, c-format
-msgid "section [%2d] '%s': sh_link does not link to string table\n"
-msgstr ""
-
-#: src/elflint.c:2876 src/elflint.c:3034
-#, c-format
-msgid "section [%2d] '%s': entry %d has wrong version %d\n"
-msgstr ""
-
-#: src/elflint.c:2882 src/elflint.c:3040
-#, c-format
-msgid "section [%2d] '%s': entry %d has wrong offset of auxiliary data\n"
-msgstr ""
-
-#: src/elflint.c:2890
-#, c-format
-msgid "section [%2d] '%s': entry %d has invalid file reference\n"
-msgstr ""
-
-#: src/elflint.c:2898
-#, c-format
-msgid "section [%2d] '%s': entry %d references unknown dependency\n"
-msgstr ""
-
-#: src/elflint.c:2910
-#, c-format
-msgid "section [%2d] '%s': auxiliary entry %d of entry %d has unknown flag\n"
-msgstr ""
-
-#: src/elflint.c:2917
-#, c-format
-msgid ""
-"section [%2d] '%s': auxiliary entry %d of entry %d has invalid name "
-"reference\n"
-msgstr ""
-
-#: src/elflint.c:2924
-#, c-format
-msgid ""
-"section [%2d] '%s': auxiliary entry %d of entry %d has wrong hash value: %"
-"#x, expected %#x\n"
-msgstr ""
-
-#: src/elflint.c:2934
-#, c-format
-msgid ""
-"section [%2d] '%s': auxiliary entry %d of entry %d has duplicate version "
-"name '%s'\n"
-msgstr ""
-
-#: src/elflint.c:2945
-#, c-format
-msgid ""
-"section [%2d] '%s': auxiliary entry %d of entry %d has wrong next field\n"
-msgstr ""
-
-#: src/elflint.c:2961 src/elflint.c:3119
-#, c-format
-msgid "section [%2d] '%s': entry %d has invalid offset to next entry\n"
-msgstr ""
-
-#: src/elflint.c:2974
-#, c-format
-msgid "more than one version definition section present\n"
-msgstr ""
-
-#: src/elflint.c:3019
-#, c-format
-msgid "section [%2d] '%s': more than one BASE definition\n"
-msgstr ""
-
-#: src/elflint.c:3023
-#, c-format
-msgid "section [%2d] '%s': BASE definition must have index VER_NDX_GLOBAL\n"
-msgstr ""
-
-#: src/elflint.c:3029
-#, c-format
-msgid "section [%2d] '%s': entry %d has unknown flag\n"
-msgstr ""
-
-#: src/elflint.c:3053
-#, c-format
-msgid "section [%2d] '%s': entry %d has invalid name reference\n"
-msgstr ""
-
-#: src/elflint.c:3060
-#, c-format
-msgid "section [%2d] '%s': entry %d has wrong hash value: %#x, expected %#x\n"
-msgstr ""
-
-#: src/elflint.c:3069
-#, c-format
-msgid "section [%2d] '%s': entry %d has duplicate version name '%s'\n"
-msgstr ""
-
-#: src/elflint.c:3088
-#, c-format
-msgid ""
-"section [%2d] '%s': entry %d has invalid name reference in auxiliary data\n"
-msgstr ""
-
-#: src/elflint.c:3103
-#, c-format
-msgid "section [%2d] '%s': entry %d has wrong next field in auxiliary data\n"
-msgstr ""
-
-#: src/elflint.c:3125
-#, c-format
-msgid "section [%2d] '%s': no BASE definition\n"
-msgstr ""
-
-#: src/elflint.c:3141
-#, c-format
-msgid "section [%2d] '%s': unknown parent version '%s'\n"
-msgstr ""
-
-#: src/elflint.c:3154
-#, c-format
-msgid "section [%2d] '%s': empty object attributes section\n"
-msgstr ""
-
-#: src/elflint.c:3175
-#, c-format
-msgid "section [%2d] '%s': unrecognized attribute format\n"
-msgstr ""
-
-#: src/elflint.c:3191
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: zero length field in attribute section\n"
-msgstr ""
-
-#: src/elflint.c:3200
-#, c-format
-msgid "section [%2d] '%s': offset %zu: invalid length in attribute section\n"
-msgstr ""
-
-#: src/elflint.c:3212
-#, c-format
-msgid "section [%2d] '%s': offset %zu: unterminated vendor name string\n"
-msgstr ""
-
-#: src/elflint.c:3229
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: endless ULEB128 in attribute subsection tag\n"
-msgstr ""
-
-#: src/elflint.c:3238
-#, c-format
-msgid "section [%2d] '%s': offset %zu: truncated attribute section\n"
-msgstr ""
-
-#: src/elflint.c:3247
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: zero length field in attribute subsection\n"
-msgstr ""
-
-#: src/elflint.c:3260
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: invalid length in attribute subsection\n"
-msgstr ""
-
-#: src/elflint.c:3271
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: attribute subsection has unexpected tag %u\n"
-msgstr ""
-
-#: src/elflint.c:3289
-#, c-format
-msgid "section [%2d] '%s': offset %zu: endless ULEB128 in attribute tag\n"
-msgstr ""
-
-#: src/elflint.c:3300
-#, c-format
-msgid "section [%2d] '%s': offset %zu: unterminated string in attribute\n"
-msgstr ""
-
-#: src/elflint.c:3313
-#, c-format
-msgid "section [%2d] '%s': offset %zu: unrecognized attribute tag %u\n"
-msgstr ""
-
-#: src/elflint.c:3317
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: unrecognized %s attribute value %<PRIu64>\n"
-msgstr ""
-
-#: src/elflint.c:3327
-#, c-format
-msgid "section [%2d] '%s': offset %zu: vendor '%s' unknown\n"
-msgstr ""
-
-#: src/elflint.c:3333
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: extra bytes after last attribute section\n"
-msgstr ""
-
-#: src/elflint.c:3422
-#, c-format
-msgid "cannot get section header of zeroth section\n"
-msgstr ""
-
-#: src/elflint.c:3426
-#, c-format
-msgid "zeroth section has nonzero name\n"
-msgstr ""
-
-#: src/elflint.c:3428
-#, c-format
-msgid "zeroth section has nonzero type\n"
-msgstr ""
-
-#: src/elflint.c:3430
-#, c-format
-msgid "zeroth section has nonzero flags\n"
-msgstr ""
-
-#: src/elflint.c:3432
-#, c-format
-msgid "zeroth section has nonzero address\n"
-msgstr ""
-
-#: src/elflint.c:3434
-#, c-format
-msgid "zeroth section has nonzero offset\n"
-msgstr ""
-
-#: src/elflint.c:3436
-#, c-format
-msgid "zeroth section has nonzero align value\n"
-msgstr ""
-
-#: src/elflint.c:3438
-#, c-format
-msgid "zeroth section has nonzero entry size value\n"
-msgstr ""
-
-#: src/elflint.c:3441
-#, c-format
-msgid ""
-"zeroth section has nonzero size value while ELF header has nonzero shnum "
-"value\n"
-msgstr ""
-
-#: src/elflint.c:3445
-#, c-format
-msgid ""
-"zeroth section has nonzero link value while ELF header does not signal "
-"overflow in shstrndx\n"
-msgstr ""
-
-#: src/elflint.c:3449
-#, c-format
-msgid ""
-"zeroth section has nonzero link value while ELF header does not signal "
-"overflow in phnum\n"
-msgstr ""
-
-#: src/elflint.c:3466
-#, c-format
-msgid "cannot get section header for section [%2zu] '%s': %s\n"
-msgstr ""
-
-#: src/elflint.c:3475
-#, c-format
-msgid "section [%2zu]: invalid name\n"
-msgstr ""
-
-#: src/elflint.c:3502
-#, c-format
-msgid "section [%2d] '%s' has wrong type: expected %s, is %s\n"
-msgstr ""
-
-#: src/elflint.c:3518
-#, c-format
-msgid "section [%2zu] '%s' has wrong flags: expected %s, is %s\n"
-msgstr ""
-
-#: src/elflint.c:3535
-#, c-format
-msgid ""
-"section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n"
-msgstr ""
-
-#: src/elflint.c:3553
-#, c-format
-msgid "section [%2zu] '%s' present in object file\n"
-msgstr ""
-
-#: src/elflint.c:3559 src/elflint.c:3591
-#, c-format
-msgid ""
-"section [%2zu] '%s' has SHF_ALLOC flag set but there is no loadable segment\n"
-msgstr ""
-
-#: src/elflint.c:3564 src/elflint.c:3596
-#, c-format
-msgid ""
-"section [%2zu] '%s' has SHF_ALLOC flag not set but there are loadable "
-"segments\n"
-msgstr ""
-
-#: src/elflint.c:3572
-#, c-format
-msgid ""
-"section [%2zu] '%s' is extension section index table in non-object file\n"
-msgstr ""
-
-#: src/elflint.c:3615
-#, c-format
-msgid "section [%2zu] '%s': size not multiple of entry size\n"
-msgstr ""
-
-#: src/elflint.c:3620
-#, c-format
-msgid "cannot get section header\n"
-msgstr ""
-
-#: src/elflint.c:3630
-#, c-format
-msgid "section [%2zu] '%s' has unsupported type %d\n"
-msgstr ""
-
-#: src/elflint.c:3644
-#, c-format
-msgid ""
-"section [%2zu] '%s' contains invalid processor-specific flag(s) %#<PRIx64>\n"
-msgstr ""
-
-#: src/elflint.c:3651
-#, c-format
-msgid "section [%2zu] '%s' contains unknown flag(s) %#<PRIx64>\n"
-msgstr ""
-
-#: src/elflint.c:3659
-#, c-format
-msgid "section [%2zu] '%s': thread-local data sections address not zero\n"
-msgstr ""
-
-#: src/elflint.c:3667
-#, c-format
-msgid "section [%2zu] '%s': invalid section reference in link value\n"
-msgstr ""
-
-#: src/elflint.c:3672
-#, c-format
-msgid "section [%2zu] '%s': invalid section reference in info value\n"
-msgstr ""
-
-#: src/elflint.c:3679
-#, c-format
-msgid "section [%2zu] '%s': strings flag set without merge flag\n"
-msgstr ""
-
-#: src/elflint.c:3684
-#, c-format
-msgid "section [%2zu] '%s': merge flag set but entry size is zero\n"
-msgstr ""
-
-#: src/elflint.c:3702
-#, c-format
-msgid "section [%2zu] '%s' has unexpected type %d for an executable section\n"
-msgstr ""
-
-#: src/elflint.c:3711
-#, c-format
-msgid "section [%2zu] '%s' is both executable and writable\n"
-msgstr ""
-
-#: src/elflint.c:3738
-#, c-format
-msgid ""
-"section [%2zu] '%s' not fully contained in segment of program header entry %"
-"d\n"
-msgstr ""
-
-#: src/elflint.c:3746
-#, 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:3755
-#, 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:3766
-#, c-format
-msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n"
-msgstr ""
-
-#: src/elflint.c:3776
-#, c-format
-msgid "section [%2zu] '%s' is writable in unwritable segment %d\n"
-msgstr ""
-
-#: src/elflint.c:3786
-#, c-format
-msgid ""
-"section [%2zu] '%s': alloc flag set but section not in any loaded segment\n"
-msgstr ""
-
-#: src/elflint.c:3792
-#, 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:3800
-#, c-format
-msgid ""
-"section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n"
-msgstr ""
-
-#: src/elflint.c:3851
-#, c-format
-msgid "more than one version symbol table present\n"
-msgstr ""
-
-#: src/elflint.c:3874
-#, c-format
-msgid "INTERP program header entry but no .interp section\n"
-msgstr ""
-
-#: src/elflint.c:3885
-#, c-format
-msgid ""
-"loadable segment [%u] is executable but contains no executable sections\n"
-msgstr ""
-
-#: src/elflint.c:3891
-#, c-format
-msgid "loadable segment [%u] is writable but contains no writable sections\n"
-msgstr ""
-
-#: src/elflint.c:3902
-#, c-format
-msgid ""
-"no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section "
-"exist\n"
-msgstr ""
-
-#: src/elflint.c:3915
-#, c-format
-msgid "duplicate version index %d\n"
-msgstr ""
-
-#: src/elflint.c:3929
-#, c-format
-msgid ".gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n"
-msgstr ""
-
-#: src/elflint.c:3978
-#, c-format
-msgid "phdr[%d]: unknown core file note type %<PRIu32> at offset %<PRIu64>\n"
-msgstr ""
-
-#: src/elflint.c:3982
-#, c-format
-msgid ""
-"section [%2d] '%s': unknown core file note type %<PRIu32> at offset %Zu\n"
-msgstr ""
-
-#: src/elflint.c:4005
-#, c-format
-msgid "phdr[%d]: unknown object file note type %<PRIu32> at offset %Zu\n"
-msgstr ""
-
-#: src/elflint.c:4009
-#, c-format
-msgid ""
-"section [%2d] '%s': unknown object file note type %<PRIu32> at offset %Zu\n"
-msgstr ""
-
-#: src/elflint.c:4026
-#, c-format
-msgid "phdr[%d]: no note entries defined for the type of file\n"
-msgstr ""
-
-#: src/elflint.c:4045
-#, c-format
-msgid "phdr[%d]: cannot get content of note section: %s\n"
-msgstr ""
-
-#: src/elflint.c:4048
-#, c-format
-msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n"
-msgstr ""
-
-#: src/elflint.c:4069
-#, c-format
-msgid "section [%2d] '%s': no note entries defined for the type of file\n"
-msgstr ""
-
-#: src/elflint.c:4076
-#, c-format
-msgid "section [%2d] '%s': cannot get content of note section\n"
-msgstr ""
-
-#: src/elflint.c:4079
-#, c-format
-msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n"
-msgstr ""
-
-#: src/elflint.c:4097
-#, c-format
-msgid ""
-"only executables, shared objects, and core files can have program headers\n"
-msgstr ""
-
-#: src/elflint.c:4112
-#, c-format
-msgid "cannot get program header entry %d: %s\n"
-msgstr ""
-
-#: src/elflint.c:4121
-#, c-format
-msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n"
-msgstr ""
-
-#: src/elflint.c:4132
-#, c-format
-msgid "more than one INTERP entry in program header\n"
-msgstr ""
-
-#: src/elflint.c:4140
-#, c-format
-msgid "more than one TLS entry in program header\n"
-msgstr ""
-
-#: src/elflint.c:4147
-#, c-format
-msgid "static executable cannot have dynamic sections\n"
-msgstr ""
-
-#: src/elflint.c:4161
-#, c-format
-msgid "dynamic section reference in program header has wrong offset\n"
-msgstr ""
-
-#: src/elflint.c:4164
-#, c-format
-msgid "dynamic section size mismatch in program and section header\n"
-msgstr ""
-
-#: src/elflint.c:4174
-#, c-format
-msgid "more than one GNU_RELRO entry in program header\n"
-msgstr ""
-
-#: src/elflint.c:4195
-#, c-format
-msgid "loadable segment GNU_RELRO applies to is not writable\n"
-msgstr ""
-
-#: src/elflint.c:4198
-#, c-format
-msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n"
-msgstr ""
-
-#: src/elflint.c:4206 src/elflint.c:4229
-#, c-format
-msgid "%s segment not contained in a loaded segment\n"
-msgstr ""
-
-#: src/elflint.c:4235
-#, c-format
-msgid "program header offset in ELF header and PHDR entry do not match"
-msgstr ""
-
-#: src/elflint.c:4259
-#, c-format
-msgid "call frame search table reference in program header has wrong offset\n"
-msgstr ""
-
-#: src/elflint.c:4262
-#, c-format
-msgid "call frame search table size mismatch in program and section header\n"
-msgstr ""
-
-#: src/elflint.c:4275
-#, c-format
-msgid "PT_GNU_EH_FRAME present but no .eh_frame_hdr section\n"
-msgstr ""
-
-#: src/elflint.c:4283
-#, c-format
-msgid "call frame search table must be allocated\n"
-msgstr ""
-
-#: src/elflint.c:4286
-#, c-format
-msgid "section [%2zu] '%s' must be allocated\n"
-msgstr ""
-
-#: src/elflint.c:4290
-#, c-format
-msgid "call frame search table must not be writable\n"
-msgstr ""
-
-#: src/elflint.c:4293
-#, c-format
-msgid "section [%2zu] '%s' must not be writable\n"
-msgstr ""
-
-#: src/elflint.c:4298
-#, c-format
-msgid "call frame search table must not be executable\n"
-msgstr ""
-
-#: src/elflint.c:4301
-#, c-format
-msgid "section [%2zu] '%s' must not be executable\n"
-msgstr ""
-
-#: src/elflint.c:4312
-#, c-format
-msgid "program header entry %d: file size greater than memory size\n"
-msgstr ""
-
-#: src/elflint.c:4319
-#, c-format
-msgid "program header entry %d: alignment not a power of 2\n"
-msgstr ""
-
-#: src/elflint.c:4322
-#, c-format
-msgid ""
-"program header entry %d: file offset and virtual address not module of "
-"alignment\n"
-msgstr ""
-
-#: src/elflint.c:4335
-#, 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:4369
-#, c-format
-msgid "cannot read ELF header: %s\n"
-msgstr ""
-
-#: src/elflint.c:4395
-#, c-format
-msgid "text relocation flag set but not needed\n"
-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 ""
-
-#: src/findtextrel.c:80
-msgid "Locate source of text relocations in FILEs (a.out by default)."
-msgstr ""
-
-#: src/findtextrel.c:84 src/nm.c:111 src/objdump.c:80 src/size.c:92
-#: src/strings.c:92 src/strip.c:97
-msgid "[FILE...]"
-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/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/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 archives 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 ""
-
-#: src/ld.c:197
-msgid "Combine object and archive files."
-msgstr ""
-
-#: 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 ""
-
-#: 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:661 src/ldgeneric.c:1122 src/readelf.c:629 src/strip.c:543
-#, c-format
-msgid "cannot determine number of sections: %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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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:1808
-#, 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 ""
-
-#: 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/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' is declared both local and global for unnamed version"
-msgstr ""
-
-#: src/ldscript.y:747
-#, c-format
-msgid "symbol '%s' is 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/nm.c:74 src/strip.c:73
-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:78 src/unstrip.c:81
-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:108
-msgid "List symbols from FILEs (a.out by default)."
-msgstr ""
-
-#: src/nm.c:136 src/objdump.c:105 src/size.c:117 src/strip.c:121
-#, c-format
-msgid "%s: INTERNAL ERROR %d (%s-%s): %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:1816
-#, c-format
-msgid "while closing '%s'"
-msgstr ""
-
-#: src/nm.c:402 src/objdump.c:296 src/strip.c:359
-#, c-format
-msgid "%s: File format not recognized"
-msgstr ""
-
-#: 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/objdump.c:744 src/readelf.c:885
-#: src/readelf.c:1028 src/readelf.c:1169 src/readelf.c:1351 src/readelf.c:1549
-#: src/readelf.c:1735 src/readelf.c:1945 src/readelf.c:2199 src/readelf.c:2265
-#: src/readelf.c:2343 src/readelf.c:2841 src/readelf.c:2877 src/readelf.c:2939
-#: src/readelf.c:6493 src/readelf.c:7387 src/readelf.c:7534 src/readelf.c:7604
-#: src/size.c:425 src/size.c:499 src/strip.c:483
-#, 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 ""
-
-#: src/nm.c:768
-#, c-format
-msgid ""
-"\n"
-"\n"
-"Symbols from %s[%s]:\n"
-"\n"
-msgstr ""
-
-#: 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 ""
-
-#: 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/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 ""
-
-#: src/objdump.c:76
-msgid "Show information from FILEs (a.out by default)."
-msgstr ""
-
-#: src/objdump.c:236 src/readelf.c:430
-msgid "No operation specified.\n"
-msgstr ""
-
-#: src/objdump.c:274 src/objdump.c:286
-#, c-format
-msgid "while close `%s'"
-msgstr ""
-
-#: src/objdump.c:379 src/readelf.c:1644 src/readelf.c:1818
-msgid "INVALID SYMBOL"
-msgstr ""
-
-#: src/objdump.c:394 src/readelf.c:1675 src/readelf.c:1851
-msgid "INVALID SECTION"
-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 ""
-
-#: src/ranlib.c:74
-msgid "Generate an index to speed access to archives."
-msgstr ""
-
-#: 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/readelf.c:73
-msgid "ELF output selection:"
-msgstr ""
-
-#: src/readelf.c:75
-msgid "All these plus -p .strtab -p .dynstr -p .comment"
-msgstr ""
-
-#: src/readelf.c:76
-msgid "Display the dynamic segment"
-msgstr ""
-
-#: src/readelf.c:77
-msgid "Display the ELF file header"
-msgstr ""
-
-#: src/readelf.c:79
-msgid "Display histogram of bucket list lengths"
-msgstr ""
-
-#: src/readelf.c:80
-msgid "Display the program headers"
-msgstr ""
-
-#: src/readelf.c:82
-msgid "Display relocations"
-msgstr ""
-
-#: src/readelf.c:83
-msgid "Display the sections' headers"
-msgstr ""
-
-#: src/readelf.c:85
-msgid "Display the symbol table"
-msgstr ""
-
-#: src/readelf.c:86
-msgid "Display versioning information"
-msgstr ""
-
-#: src/readelf.c:87
-msgid "Display the ELF notes"
-msgstr ""
-
-#: src/readelf.c:89
-msgid "Display architecture specific information, if any"
-msgstr ""
-
-#: src/readelf.c:91
-msgid "Display sections for exception handling"
-msgstr ""
-
-#: src/readelf.c:93
-msgid "Additional output selection:"
-msgstr ""
-
-#: src/readelf.c:95
-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:99
-msgid "Dump the uninterpreted contents of SECTION, by number or name"
-msgstr ""
-
-#: src/readelf.c:101
-msgid "Print string contents of sections"
-msgstr ""
-
-#: src/readelf.c:104
-msgid "Display the symbol index of an archive"
-msgstr ""
-
-#: src/readelf.c:106
-msgid "Output control:"
-msgstr ""
-
-#: src/readelf.c:108
-msgid "Do not find symbol names for addresses in DWARF data"
-msgstr ""
-
-#: src/readelf.c:114
-msgid "Print information from ELF file in human-readable form."
-msgstr ""
-
-#: src/readelf.c:401
-#, c-format
-msgid "Unknown DWARF debug section `%s'.\n"
-msgstr ""
-
-#: src/readelf.c:465
-#, c-format
-msgid "cannot generate Elf descriptor: %s"
-msgstr ""
-
-#: src/readelf.c:477
-#, c-format
-msgid "'%s' is not an archive, cannot print archive index"
-msgstr ""
-
-#: src/readelf.c:482
-#, c-format
-msgid "error while closing Elf descriptor: %s"
-msgstr ""
-
-#: src/readelf.c:574
-#, c-format
-msgid "cannot stat input file"
-msgstr ""
-
-#: src/readelf.c:576
-#, c-format
-msgid "input file is empty"
-msgstr ""
-
-#: src/readelf.c:578
-#, c-format
-msgid "failed reading '%s': %s"
-msgstr ""
-
-#: src/readelf.c:614
-#, c-format
-msgid "cannot read ELF header: %s"
-msgstr ""
-
-#: src/readelf.c:622
-#, c-format
-msgid "cannot create EBL handle"
-msgstr ""
-
-#: src/readelf.c:635
-#, c-format
-msgid "cannot determine number of program headers: %s"
-msgstr ""
-
-#: src/readelf.c:721
-msgid "NONE (None)"
-msgstr ""
-
-#: src/readelf.c:722
-msgid "REL (Relocatable file)"
-msgstr ""
-
-#: src/readelf.c:723
-msgid "EXEC (Executable file)"
-msgstr ""
-
-#: src/readelf.c:724
-msgid "DYN (Shared object file)"
-msgstr ""
-
-#: src/readelf.c:725
-msgid "CORE (Core file)"
-msgstr ""
-
-#: src/readelf.c:730
-#, c-format
-msgid "OS Specific: (%x)\n"
-msgstr ""
-
-#: src/readelf.c:732
-#, c-format
-msgid "Processor Specific: (%x)\n"
-msgstr ""
-
-#: src/readelf.c:742
-msgid ""
-"ELF Header:\n"
-"  Magic:  "
-msgstr ""
-
-#: src/readelf.c:746
-#, c-format
-msgid ""
-"\n"
-"  Class:                             %s\n"
-msgstr ""
-
-#: src/readelf.c:751
-#, c-format
-msgid "  Data:                              %s\n"
-msgstr ""
-
-#: src/readelf.c:757
-#, c-format
-msgid "  Ident Version:                     %hhd %s\n"
-msgstr ""
-
-#: src/readelf.c:759 src/readelf.c:776
-msgid "(current)"
-msgstr ""
-
-#: src/readelf.c:763
-#, c-format
-msgid "  OS/ABI:                            %s\n"
-msgstr ""
-
-#: src/readelf.c:766
-#, c-format
-msgid "  ABI Version:                       %hhd\n"
-msgstr ""
-
-#: src/readelf.c:769
-msgid "  Type:                              "
-msgstr ""
-
-#: src/readelf.c:772
-#, c-format
-msgid "  Machine:                           %s\n"
-msgstr ""
-
-#: src/readelf.c:774
-#, c-format
-msgid "  Version:                           %d %s\n"
-msgstr ""
-
-#: src/readelf.c:778
-#, c-format
-msgid "  Entry point address:               %#<PRIx64>\n"
-msgstr ""
-
-#: src/readelf.c:781
-#, c-format
-msgid "  Start of program headers:          %<PRId64> %s\n"
-msgstr ""
-
-#: src/readelf.c:782 src/readelf.c:785
-msgid "(bytes into file)"
-msgstr ""
-
-#: src/readelf.c:784
-#, c-format
-msgid "  Start of section headers:          %<PRId64> %s\n"
-msgstr ""
-
-#: src/readelf.c:787
-#, c-format
-msgid "  Flags:                             %s\n"
-msgstr ""
-
-#: src/readelf.c:790
-#, c-format
-msgid "  Size of this header:               %<PRId16> %s\n"
-msgstr ""
-
-#: src/readelf.c:791 src/readelf.c:794 src/readelf.c:811
-msgid "(bytes)"
-msgstr ""
-
-#: src/readelf.c:793
-#, c-format
-msgid "  Size of program header entries:    %<PRId16> %s\n"
-msgstr ""
-
-#: src/readelf.c:796
-#, c-format
-msgid "  Number of program headers entries: %<PRId16>"
-msgstr ""
-
-#: src/readelf.c:803
-#, c-format
-msgid " (%<PRIu32> in [0].sh_info)"
-msgstr ""
-
-#: src/readelf.c:806 src/readelf.c:823 src/readelf.c:837
-msgid " ([0] not available)"
-msgstr ""
-
-#: src/readelf.c:810
-#, c-format
-msgid "  Size of section header entries:    %<PRId16> %s\n"
-msgstr ""
-
-#: src/readelf.c:813
-#, c-format
-msgid "  Number of section headers entries: %<PRId16>"
-msgstr ""
-
-#: src/readelf.c:820
-#, c-format
-msgid " (%<PRIu32> in [0].sh_size)"
-msgstr ""
-
-#: src/readelf.c:833
-#, c-format
-msgid " (%<PRIu32> in [0].sh_link)"
-msgstr ""
-
-#: src/readelf.c:841
-#, c-format
-msgid ""
-"  Section header string table index: XINDEX%s\n"
-"\n"
-msgstr ""
-
-#: src/readelf.c:845
-#, c-format
-msgid ""
-"  Section header string table index: %<PRId16>\n"
-"\n"
-msgstr ""
-
-#: src/readelf.c:877
-#, c-format
-msgid ""
-"There are %d section headers, starting at offset %#<PRIx64>:\n"
-"\n"
-msgstr ""
-
-#: src/readelf.c:887
-msgid "Section Headers:"
-msgstr ""
-
-#: src/readelf.c:890
-msgid ""
-"[Nr] Name                 Type         Addr     Off    Size   ES Flags Lk "
-"Inf Al"
-msgstr ""
-
-#: src/readelf.c:892
-msgid ""
-"[Nr] Name                 Type         Addr             Off      Size     ES "
-"Flags Lk Inf Al"
-msgstr ""
-
-#: src/readelf.c:899 src/readelf.c:1052
-#, c-format
-msgid "cannot get section: %s"
-msgstr ""
-
-#: src/readelf.c:906 src/readelf.c:1060 src/readelf.c:7554 src/unstrip.c:353
-#: src/unstrip.c:377 src/unstrip.c:427 src/unstrip.c:536 src/unstrip.c:553
-#: src/unstrip.c:591 src/unstrip.c:789 src/unstrip.c:1057 src/unstrip.c:1244
-#: src/unstrip.c:1305 src/unstrip.c:1427 src/unstrip.c:1480 src/unstrip.c:1588
-#: src/unstrip.c:1778
-#, c-format
-msgid "cannot get section header: %s"
-msgstr ""
-
-#: src/readelf.c:964
-msgid "Program Headers:"
-msgstr ""
-
-#: src/readelf.c:966
-msgid ""
-"  Type           Offset   VirtAddr   PhysAddr   FileSiz  MemSiz   Flg Align"
-msgstr ""
-
-#: src/readelf.c:969
-msgid ""
-"  Type           Offset   VirtAddr           PhysAddr           FileSiz  "
-"MemSiz   Flg Align"
-msgstr ""
-
-#: src/readelf.c:1009
-#, c-format
-msgid "\t[Requesting program interpreter: %s]\n"
-msgstr ""
-
-#: src/readelf.c:1030
-msgid ""
-"\n"
-" Section to Segment mapping:\n"
-"  Segment Sections..."
-msgstr ""
-
-#: src/readelf.c:1041 src/unstrip.c:1824 src/unstrip.c:1863 src/unstrip.c:1870
-#, c-format
-msgid "cannot get program header: %s"
-msgstr ""
-
-#: src/readelf.c:1175
-#, 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:1180
-#, 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:1188
-msgid "<INVALID SYMBOL>"
-msgstr ""
-
-#: src/readelf.c:1202
-msgid "<INVALID SECTION>"
-msgstr ""
-
-#: src/readelf.c:1353
-#, 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:1365
-msgid "  Type              Value\n"
-msgstr ""
-
-#: src/readelf.c:1389
-#, c-format
-msgid "Shared library: [%s]\n"
-msgstr ""
-
-#: src/readelf.c:1394
-#, c-format
-msgid "Library soname: [%s]\n"
-msgstr ""
-
-#: src/readelf.c:1399
-#, c-format
-msgid "Library rpath: [%s]\n"
-msgstr ""
-
-#: src/readelf.c:1404
-#, c-format
-msgid "Library runpath: [%s]\n"
-msgstr ""
-
-#: src/readelf.c:1424
-#, c-format
-msgid "%<PRId64> (bytes)\n"
-msgstr ""
-
-#: src/readelf.c:1534 src/readelf.c:1720
-#, c-format
-msgid ""
-"\n"
-"Invalid symbol table at offset %#0<PRIx64>\n"
-msgstr ""
-
-#: src/readelf.c:1552 src/readelf.c:1737
-#, 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] ""
-
-#: src/readelf.c:1567
-#, 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:1577
-msgid "  Offset      Type                 Value       Name\n"
-msgstr ""
-
-#: src/readelf.c:1579
-msgid "  Offset              Type                 Value               Name\n"
-msgstr ""
-
-#: src/readelf.c:1632 src/readelf.c:1643 src/readelf.c:1656 src/readelf.c:1674
-#: src/readelf.c:1686 src/readelf.c:1805 src/readelf.c:1817 src/readelf.c:1831
-#: src/readelf.c:1850 src/readelf.c:1863
-msgid "<INVALID RELOC>"
-msgstr ""
-
-#: src/readelf.c:1749
-msgid "  Offset      Type            Value       Addend Name\n"
-msgstr ""
-
-#: src/readelf.c:1751
-msgid "  Offset              Type            Value               Addend Name\n"
-msgstr ""
-
-#: src/readelf.c:1952
-#, 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:1958
-#, 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:1968
-msgid "  Num:    Value   Size Type    Bind   Vis          Ndx Name\n"
-msgstr ""
-
-#: src/readelf.c:1970
-msgid "  Num:            Value   Size Type    Bind   Vis          Ndx Name\n"
-msgstr ""
-
-#: src/readelf.c:1990
-#, c-format
-msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
-msgstr ""
-
-#: src/readelf.c:2078
-#, c-format
-msgid "bad dynamic symbol"
-msgstr ""
-
-#: src/readelf.c:2160
-msgid "none"
-msgstr ""
-
-#: src/readelf.c:2177
-msgid "| <unknown>"
-msgstr ""
-
-#: src/readelf.c:2202
-#, 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:2225
-#, c-format
-msgid "  %#06x: Version: %hu  File: %s  Cnt: %hu\n"
-msgstr ""
-
-#: src/readelf.c:2238
-#, c-format
-msgid "  %#06x: Name: %s  Flags: %s  Version: %hu\n"
-msgstr ""
-
-#: src/readelf.c:2269
-#, 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:2299
-#, c-format
-msgid "  %#06x: Version: %hd  Flags: %s  Index: %hd  Cnt: %hd  Name: %s\n"
-msgstr ""
-
-#: src/readelf.c:2314
-#, c-format
-msgid "  %#06x: Parent %d: %s\n"
-msgstr ""
-
-#: src/readelf.c:2546
-#, 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:2576
-msgid "   0 *local*                     "
-msgstr ""
-
-#: src/readelf.c:2581
-msgid "   1 *global*                    "
-msgstr ""
-
-#: src/readelf.c:2612
-#, 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:2636
-#, no-c-format
-msgid " Length  Number  % of total  Coverage\n"
-msgstr ""
-
-#: src/readelf.c:2638
-#, c-format
-msgid "      0  %6<PRIu32>      %5.1f%%\n"
-msgstr ""
-
-#: src/readelf.c:2645
-#, c-format
-msgid "%7d  %6<PRIu32>      %5.1f%%    %5.1f%%\n"
-msgstr ""
-
-#: src/readelf.c:2658
-#, c-format
-msgid ""
-" Average number of tests:   successful lookup: %f\n"
-"                          unsuccessful lookup: %f\n"
-msgstr ""
-
-#: src/readelf.c:2676 src/readelf.c:2718 src/readelf.c:2759
-#, c-format
-msgid "cannot get data for section %d: %s"
-msgstr ""
-
-#: src/readelf.c:2813
-#, c-format
-msgid ""
-" Symbol Bias: %u\n"
-" Bitmask Size: %zu bytes  %<PRIuFAST32>%% bits set  2nd hash shift: %u\n"
-msgstr ""
-
-#: src/readelf.c:2887
-#, 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:2901
-msgid ""
-"       Library                       Time Stamp          Checksum Version "
-"Flags"
-msgstr ""
-
-#: src/readelf.c:2951
-#, c-format
-msgid ""
-"\n"
-"Object attributes section [%2zu] '%s' of %<PRIu64> bytes at offset %"
-"#0<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:2967
-msgid "  Owner          Size\n"
-msgstr ""
-
-#: src/readelf.c:2993
-#, c-format
-msgid "  %-13s  %4<PRIu32>\n"
-msgstr ""
-
-#: src/readelf.c:3025
-#, c-format
-msgid "    %-4u %12<PRIu32>\n"
-msgstr ""
-
-#: src/readelf.c:3030
-#, c-format
-msgid "    File: %11<PRIu32>\n"
-msgstr ""
-
-#: src/readelf.c:3065
-#, c-format
-msgid "      %s: %<PRId64>, %s\n"
-msgstr ""
-
-#: src/readelf.c:3068
-#, c-format
-msgid "      %s: %<PRId64>\n"
-msgstr ""
-
-#: src/readelf.c:3071
-#, c-format
-msgid "      %s: %s\n"
-msgstr ""
-
-#: src/readelf.c:3078
-#, c-format
-msgid "      %u: %<PRId64>\n"
-msgstr ""
-
-#: src/readelf.c:3081
-#, c-format
-msgid "      %u: %s\n"
-msgstr ""
-
-#: src/readelf.c:3117
-#, c-format
-msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>"
-msgstr ""
-
-#: src/readelf.c:3120
-#, c-format
-msgid "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
-msgstr ""
-
-#: src/readelf.c:3125
-#, c-format
-msgid "%#<PRIx64> <%s+%#<PRIx64>>"
-msgstr ""
-
-#: src/readelf.c:3128
-#, c-format
-msgid "%#0*<PRIx64> <%s+%#<PRIx64>>"
-msgstr ""
-
-#: src/readelf.c:3134
-#, c-format
-msgid "%s+%#<PRIx64> <%s>"
-msgstr ""
-
-#: src/readelf.c:3137
-#, c-format
-msgid "%s+%#0*<PRIx64> <%s>"
-msgstr ""
-
-#: src/readelf.c:3141
-#, c-format
-msgid "%#<PRIx64> <%s>"
-msgstr ""
-
-#: src/readelf.c:3144
-#, c-format
-msgid "%#0*<PRIx64> <%s>"
-msgstr ""
-
-#: src/readelf.c:3149
-#, c-format
-msgid "%s+%#<PRIx64>"
-msgstr ""
-
-#: src/readelf.c:3152
-#, c-format
-msgid "%s+%#0*<PRIx64>"
-msgstr ""
-
-#: src/readelf.c:3260
-#, c-format
-msgid "unknown tag %hx"
-msgstr ""
-
-#: src/readelf.c:3262
-#, c-format
-msgid "unknown user tag %hx"
-msgstr ""
-
-#: src/readelf.c:3480
-#, c-format
-msgid "unknown attribute %hx"
-msgstr ""
-
-#: src/readelf.c:3483
-#, c-format
-msgid "unknown user attribute %hx"
-msgstr ""
-
-#: src/readelf.c:3529
-#, c-format
-msgid "unknown form %<PRIx64>"
-msgstr ""
-
-#: src/readelf.c:3763
-msgid "empty block"
-msgstr ""
-
-#: src/readelf.c:3766
-#, c-format
-msgid "%zu byte block:"
-msgstr ""
-
-#: src/readelf.c:4175
-#, c-format
-msgid "%*s[%4<PRIuMAX>] %s  <TRUNCATED>\n"
-msgstr ""
-
-#: src/readelf.c:4188
-#, c-format
-msgid ""
-"\n"
-"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n"
-" [ Code]\n"
-msgstr ""
-
-#: src/readelf.c:4195
-#, c-format
-msgid ""
-"\n"
-"Abbreviation section at offset %<PRIu64>:\n"
-msgstr ""
-
-#: src/readelf.c:4208
-#, c-format
-msgid " *** error while reading abbreviation: %s\n"
-msgstr ""
-
-#: src/readelf.c:4224
-#, c-format
-msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
-msgstr ""
-
-#: src/readelf.c:4227
-msgid "yes"
-msgstr ""
-
-#: src/readelf.c:4227
-msgid "no"
-msgstr ""
-
-#: src/readelf.c:4263
-#, c-format
-msgid "cannot get .debug_aranges content: %s"
-msgstr ""
-
-#: src/readelf.c:4268
-#, 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:4298
-#, c-format
-msgid " [%*zu] ???\n"
-msgstr ""
-
-#: src/readelf.c:4300
-#, c-format
-msgid ""
-" [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
-msgstr ""
-
-#: src/readelf.c:4319
-#, c-format
-msgid "cannot get .debug_ranges content: %s"
-msgstr ""
-
-#: src/readelf.c:4324 src/readelf.c:4810 src/readelf.c:5452 src/readelf.c:5897
-#: src/readelf.c:5992 src/readelf.c:6164
-#, c-format
-msgid ""
-"\n"
-"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:4338 src/readelf.c:5911
-#, c-format
-msgid " [%6tx]  <INVALID DATA>\n"
-msgstr ""
-
-#: src/readelf.c:4360 src/readelf.c:5933
-#, c-format
-msgid " [%6tx]  base address %s\n"
-msgstr ""
-
-#: src/readelf.c:4371
-#, c-format
-msgid " [%6tx]  %s..%s\n"
-msgstr ""
-
-#: src/readelf.c:4373
-#, c-format
-msgid "           %s..%s\n"
-msgstr ""
-
-#: src/readelf.c:4799 src/readelf.c:6230 src/readelf.c:6332
-#, c-format
-msgid "cannot get %s content: %s"
-msgstr ""
-
-#: src/readelf.c:4806
-#, c-format
-msgid ""
-"\n"
-"Call frame information section [%2zu] '%s' at offset %#<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:4833 src/readelf.c:5486
-#, c-format
-msgid "invalid data in section [%zu] '%s'"
-msgstr ""
-
-#: src/readelf.c:4855
-#, c-format
-msgid ""
-"\n"
-" [%6tx] Zero terminator\n"
-msgstr ""
-
-#: src/readelf.c:4924
-#, c-format
-msgid "invalid augmentation length"
-msgstr ""
-
-#: src/readelf.c:4936
-msgid "FDE address encoding: "
-msgstr ""
-
-#: src/readelf.c:4942
-msgid "LSDA pointer encoding: "
-msgstr ""
-
-#: src/readelf.c:5034
-#, c-format
-msgid " (offset: %#<PRIx64>)"
-msgstr ""
-
-#: src/readelf.c:5041
-#, c-format
-msgid " (end offset: %#<PRIx64>)"
-msgstr ""
-
-#: src/readelf.c:5068
-#, c-format
-msgid "   %-26sLSDA pointer: %#<PRIx64>\n"
-msgstr ""
-
-#: src/readelf.c:5114
-#, c-format
-msgid "cannot get attribute code: %s"
-msgstr ""
-
-#: src/readelf.c:5122
-#, c-format
-msgid "cannot get attribute form: %s"
-msgstr ""
-
-#: src/readelf.c:5135
-#, c-format
-msgid "cannot get attribute value: %s"
-msgstr ""
-
-#: src/readelf.c:5331
-#, c-format
-msgid ""
-"\n"
-"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n"
-" [Offset]\n"
-msgstr ""
-
-#: src/readelf.c:5356
-#, 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:5374
-#, c-format
-msgid "cannot get DIE at offset %<PRIu64> in section '%s': %s"
-msgstr ""
-
-#: src/readelf.c:5385
-#, c-format
-msgid "cannot get DIE offset: %s"
-msgstr ""
-
-#: src/readelf.c:5393
-#, c-format
-msgid "cannot get tag of DIE at offset %<PRIu64> in section '%s': %s"
-msgstr ""
-
-#: src/readelf.c:5422
-#, c-format
-msgid "cannot get next DIE: %s\n"
-msgstr ""
-
-#: src/readelf.c:5429
-#, c-format
-msgid "cannot get next DIE: %s"
-msgstr ""
-
-#: src/readelf.c:5464
-#, c-format
-msgid "cannot get line data section data: %s"
-msgstr ""
-
-#: src/readelf.c:5477
-#, c-format
-msgid ""
-"\n"
-"Table at offset %Zu:\n"
-msgstr ""
-
-#: src/readelf.c:5529
-#, 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:5548
-#, c-format
-msgid "invalid data at offset %tu in section [%zu] '%s'"
-msgstr ""
-
-#: src/readelf.c:5563
-#, c-format
-msgid "  [%*<PRIuFAST8>]  %hhu argument\n"
-msgid_plural "  [%*<PRIuFAST8>]  %hhu arguments\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: src/readelf.c:5571
-msgid ""
-"\n"
-"Directory table:"
-msgstr ""
-
-#: src/readelf.c:5587
-msgid ""
-"\n"
-"File name table:\n"
-" Entry Dir   Time      Size      Name"
-msgstr ""
-
-#: src/readelf.c:5616
-msgid ""
-"\n"
-"Line number statements:"
-msgstr ""
-
-#: src/readelf.c:5677
-#, c-format
-msgid " special opcode %u: address+%u = %s, line%+d = %zu\n"
-msgstr ""
-
-#: src/readelf.c:5697
-#, c-format
-msgid " extended opcode %u: "
-msgstr ""
-
-#: src/readelf.c:5702
-msgid "end of sequence"
-msgstr ""
-
-#: src/readelf.c:5717
-#, c-format
-msgid "set address to %s\n"
-msgstr ""
-
-#: src/readelf.c:5738
-#, c-format
-msgid "define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
-msgstr ""
-
-#: src/readelf.c:5747
-msgid "unknown opcode"
-msgstr ""
-
-#: src/readelf.c:5759
-msgid " copy"
-msgstr ""
-
-#: src/readelf.c:5769
-#, c-format
-msgid "advance address by %u to %s\n"
-msgstr ""
-
-#: src/readelf.c:5780
-#, c-format
-msgid " advance line by constant %d to %<PRId64>\n"
-msgstr ""
-
-#: src/readelf.c:5788
-#, c-format
-msgid " set file to %<PRIu64>\n"
-msgstr ""
-
-#: src/readelf.c:5798
-#, c-format
-msgid " set column to %<PRIu64>\n"
-msgstr ""
-
-#: src/readelf.c:5805
-#, c-format
-msgid " set '%s' to %<PRIuFAST8>\n"
-msgstr ""
-
-#: src/readelf.c:5811
-msgid " set basic block flag"
-msgstr ""
-
-#: src/readelf.c:5821
-#, c-format
-msgid "advance address by constant %u to %s\n"
-msgstr ""
-
-#: src/readelf.c:5837
-#, c-format
-msgid "advance address by fixed value %u to %s\n"
-msgstr ""
-
-#: src/readelf.c:5846
-msgid " set prologue end flag"
-msgstr ""
-
-#: src/readelf.c:5851
-msgid " set epilogue begin flag"
-msgstr ""
-
-#: src/readelf.c:5860
-#, c-format
-msgid " unknown opcode with %<PRIu8> parameter:"
-msgid_plural " unknown opcode with %<PRIu8> parameters:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: src/readelf.c:5892
-#, c-format
-msgid "cannot get .debug_loc content: %s"
-msgstr ""
-
-#: src/readelf.c:5947
-#, c-format
-msgid " [%6tx]  %s..%s"
-msgstr ""
-
-#: src/readelf.c:5949
-#, c-format
-msgid "           %s..%s"
-msgstr ""
-
-#: src/readelf.c:6002
-#, c-format
-msgid "cannot get macro information section data: %s"
-msgstr ""
-
-#: src/readelf.c:6081
-#, c-format
-msgid "%*s*** non-terminated string at end of section"
-msgstr ""
-
-#: src/readelf.c:6149
-#, c-format
-msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
-msgstr ""
-
-#: src/readelf.c:6188
-#, c-format
-msgid ""
-"\n"
-"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n"
-" %*s  String\n"
-msgstr ""
-
-#: src/readelf.c:6202
-#, c-format
-msgid " *** error while reading strings: %s\n"
-msgstr ""
-
-#: src/readelf.c:6222
-#, c-format
-msgid ""
-"\n"
-"Call frame search table section [%2zu] '.eh_frame_hdr':\n"
-msgstr ""
-
-#: src/readelf.c:6324
-#, c-format
-msgid ""
-"\n"
-"Exception handling table section [%2zu] '.gcc_except_table':\n"
-msgstr ""
-
-#: src/readelf.c:6347
-#, c-format
-msgid " LPStart encoding:    %#x "
-msgstr ""
-
-#: src/readelf.c:6359
-#, c-format
-msgid " TType encoding:      %#x "
-msgstr ""
-
-#: src/readelf.c:6373
-#, c-format
-msgid " Call site encoding:  %#x "
-msgstr ""
-
-#: src/readelf.c:6386
-msgid ""
-"\n"
-" Call site table:"
-msgstr ""
-
-#: src/readelf.c:6400
-#, 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:6460
-#, c-format
-msgid "invalid TType encoding"
-msgstr ""
-
-#: src/readelf.c:6484
-#, c-format
-msgid "cannot get debug context descriptor: %s"
-msgstr ""
-
-#: src/readelf.c:6620 src/readelf.c:7221
-#, c-format
-msgid "cannot convert core note data: %s"
-msgstr ""
-
-#: src/readelf.c:6961
-#, c-format
-msgid ""
-"\n"
-"%*s... <repeats %u more times> ..."
-msgstr ""
-
-#: src/readelf.c:7320
-msgid "  Owner          Data size  Type\n"
-msgstr ""
-
-#: src/readelf.c:7338
-#, c-format
-msgid "  %-13.*s  %9<PRId32>  %s\n"
-msgstr ""
-
-#: src/readelf.c:7372
-#, c-format
-msgid "cannot get content of note section: %s"
-msgstr ""
-
-#: src/readelf.c:7399
-#, c-format
-msgid ""
-"\n"
-"Note section [%2zu] '%s' of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:7422
-#, c-format
-msgid ""
-"\n"
-"Note segment of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:7468
-#, c-format
-msgid ""
-"\n"
-"Section [%Zu] '%s' has no data to dump.\n"
-msgstr ""
-
-#: src/readelf.c:7474 src/readelf.c:7497
-#, c-format
-msgid "cannot get data for section [%Zu] '%s': %s"
-msgstr ""
-
-#: src/readelf.c:7478
-#, c-format
-msgid ""
-"\n"
-"Hex dump of section [%Zu] '%s', %<PRIu64> bytes at offset %#0<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:7491
-#, c-format
-msgid ""
-"\n"
-"Section [%Zu] '%s' has no strings to dump.\n"
-msgstr ""
-
-#: src/readelf.c:7501
-#, c-format
-msgid ""
-"\n"
-"String section [%Zu] '%s' contains %<PRIu64> bytes at offset %#0<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:7549
-#, c-format
-msgid ""
-"\n"
-"section [%lu] does not exist"
-msgstr ""
-
-#: src/readelf.c:7576
-#, c-format
-msgid ""
-"\n"
-"section '%s' does not exist"
-msgstr ""
-
-#: src/readelf.c:7637
-#, c-format
-msgid "cannot get symbol index of archive '%s': %s"
-msgstr ""
-
-#: src/readelf.c:7640
-#, c-format
-msgid ""
-"\n"
-"Archive '%s' has no symbol index\n"
-msgstr ""
-
-#: src/readelf.c:7644
-#, c-format
-msgid ""
-"\n"
-"Index of archive '%s' has %Zu entries:\n"
-msgstr ""
-
-#: src/readelf.c:7662
-#, c-format
-msgid "cannot extract member at offset %Zu in '%s': %s"
-msgstr ""
-
-#: src/readelf.c:7667
-#, 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 ""
-
-#: 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/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 ""
-
-#: 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/strip.c:74
-msgid "Place stripped output into FILE"
-msgstr ""
-
-#: src/strip.c:75
-msgid "Extract the removed sections into FILE"
-msgstr ""
-
-#: src/strip.c:76
-msgid "Embed name FILE instead of -f argument"
-msgstr ""
-
-#: src/strip.c:80
-msgid "Remove all debugging symbols"
-msgstr ""
-
-#: src/strip.c:84
-msgid "Copy modified/access timestamps to the output"
-msgstr ""
-
-#: src/strip.c:86
-msgid "Remove .comment section"
-msgstr ""
-
-#: src/strip.c:89
-msgid "Relax a few rules to handle slightly broken ELF files"
-msgstr ""
-
-#: src/strip.c:94
-msgid "Discard symbols from object files."
-msgstr ""
-
-#: src/strip.c:186
-#, c-format
-msgid "Only one input file allowed together with '-o' and '-f'"
-msgstr ""
-
-#: src/strip.c:222
-#, c-format
-msgid "-f option specified twice"
-msgstr ""
-
-#: src/strip.c:231
-#, c-format
-msgid "-F option specified twice"
-msgstr ""
-
-#: src/strip.c:240 src/unstrip.c:125
-#, c-format
-msgid "-o option specified twice"
-msgstr ""
-
-#: src/strip.c:260
-#, c-format
-msgid "-R option supports only .comment section"
-msgstr ""
-
-#: src/strip.c:298 src/strip.c:322
-#, c-format
-msgid "cannot stat input file '%s'"
-msgstr ""
-
-#: src/strip.c:312
-#, c-format
-msgid "while opening '%s'"
-msgstr ""
-
-#: src/strip.c:350
-#, c-format
-msgid "%s: cannot use -o or -f when stripping archive"
-msgstr ""
-
-#: src/strip.c:448
-#, c-format
-msgid "cannot open EBL backend"
-msgstr ""
-
-#: src/strip.c:498 src/strip.c:522
-#, c-format
-msgid "cannot create new file '%s': %s"
-msgstr ""
-
-#: src/strip.c:582
-#, c-format
-msgid "illformed file '%s'"
-msgstr ""
-
-#: src/strip.c:869 src/strip.c:956
-#, c-format
-msgid "while generating output file: %s"
-msgstr ""
-
-#: src/strip.c:929 src/strip.c:1668
-#, c-format
-msgid "%s: error while creating ELF header: %s"
-msgstr ""
-
-#: src/strip.c:943
-#, c-format
-msgid "while preparing output for '%s'"
-msgstr ""
-
-#: src/strip.c:994 src/strip.c:1050
-#, c-format
-msgid "while create section header section: %s"
-msgstr ""
-
-#: src/strip.c:1000
-#, c-format
-msgid "cannot allocate section data: %s"
-msgstr ""
-
-#: src/strip.c:1059
-#, c-format
-msgid "while create section header string table: %s"
-msgstr ""
-
-#: src/strip.c:1593 src/strip.c:1690
-#, c-format
-msgid "while writing '%s': %s"
-msgstr ""
-
-#: src/strip.c:1604
-#, c-format
-msgid "while creating '%s'"
-msgstr ""
-
-#: src/strip.c:1616
-#, c-format
-msgid "while computing checksum for debug information"
-msgstr ""
-
-#: src/strip.c:1676
-#, c-format
-msgid "%s: error while reading the file: %s"
-msgstr ""
-
-#: src/strip.c:1722 src/strip.c:1729
-#, c-format
-msgid "error while finishing '%s': %s"
-msgstr ""
-
-#: src/strip.c:1752 src/strip.c:1809
-#, c-format
-msgid "cannot set access and modification date of '%s'"
-msgstr ""
-
-#: src/unstrip.c:78
-msgid "Match MODULE against file names, not module names"
-msgstr ""
-
-#: src/unstrip.c:79
-msgid "Silently skip unfindable files"
-msgstr ""
-
-#: src/unstrip.c:82
-msgid "Place output into FILE"
-msgstr ""
-
-#: src/unstrip.c:84
-msgid "Create multiple output files under DIRECTORY"
-msgstr ""
-
-#: src/unstrip.c:85
-msgid "Use module rather than file names"
-msgstr ""
-
-#: src/unstrip.c:87
-msgid "Create output for modules that have no separate debug information"
-msgstr ""
-
-#: src/unstrip.c:90
-msgid "Apply relocations to section contents in ET_REL files"
-msgstr ""
-
-#: src/unstrip.c:92
-msgid "Only list module and file names, build IDs"
-msgstr ""
-
-#: src/unstrip.c:134
-#, c-format
-msgid "-d option specified twice"
-msgstr ""
-
-#: src/unstrip.c:166
-#, c-format
-msgid "only one of -o or -d allowed"
-msgstr ""
-
-#: src/unstrip.c:175
-#, c-format
-msgid "-n cannot be used with explicit files or -o or -d"
-msgstr ""
-
-#: src/unstrip.c:190
-#, c-format
-msgid "output directory '%s'"
-msgstr ""
-
-#: src/unstrip.c:199
-#, c-format
-msgid "exactly two file arguments are required"
-msgstr ""
-
-#: src/unstrip.c:205
-#, c-format
-msgid "-m, -a, -R, and -i options not allowed with explicit files"
-msgstr ""
-
-#: src/unstrip.c:218
-#, c-format
-msgid "-o or -d is required when using implicit files"
-msgstr ""
-
-#: src/unstrip.c:254
-#, c-format
-msgid "cannot create ELF header: %s"
-msgstr ""
-
-#: src/unstrip.c:259
-#, c-format
-msgid "cannot copy ELF header: %s"
-msgstr ""
-
-#: src/unstrip.c:264 src/unstrip.c:1817
-#, c-format
-msgid "cannot create program headers: %s"
-msgstr ""
-
-#: src/unstrip.c:270
-#, c-format
-msgid "cannot copy program header: %s"
-msgstr ""
-
-#: src/unstrip.c:280
-#, c-format
-msgid "cannot copy section header: %s"
-msgstr ""
-
-#: src/unstrip.c:283 src/unstrip.c:1505
-#, c-format
-msgid "cannot get section data: %s"
-msgstr ""
-
-#: src/unstrip.c:285 src/unstrip.c:1507
-#, c-format
-msgid "cannot copy section data: %s"
-msgstr ""
-
-#: src/unstrip.c:309
-#, c-format
-msgid "cannot create directory '%s'"
-msgstr ""
-
-#: src/unstrip.c:349 src/unstrip.c:763 src/unstrip.c:1540
-#, c-format
-msgid "cannot get symbol table entry: %s"
-msgstr ""
-
-#: src/unstrip.c:365 src/unstrip.c:580 src/unstrip.c:601 src/unstrip.c:613
-#: src/unstrip.c:1561 src/unstrip.c:1691 src/unstrip.c:1715
-#, c-format
-msgid "cannot update symbol table: %s"
-msgstr ""
-
-#: src/unstrip.c:382 src/unstrip.c:432 src/unstrip.c:562 src/unstrip.c:1209
-#: src/unstrip.c:1525 src/unstrip.c:1720 src/unstrip.c:1791
-#, c-format
-msgid "cannot update section header: %s"
-msgstr ""
-
-#: src/unstrip.c:408 src/unstrip.c:419
-#, c-format
-msgid "cannot update relocation: %s"
-msgstr ""
-
-#: src/unstrip.c:507
-#, c-format
-msgid "cannot get symbol version: %s"
-msgstr ""
-
-#: src/unstrip.c:519
-#, c-format
-msgid "unexpected section type in [%Zu] with sh_link to symtab"
-msgstr ""
-
-#: src/unstrip.c:769
-#, c-format
-msgid "invalid string offset in symbol [%Zu]"
-msgstr ""
-
-#: src/unstrip.c:911 src/unstrip.c:1248
-#, c-format
-msgid "cannot read section [%Zu] name: %s"
-msgstr ""
-
-#: src/unstrip.c:952 src/unstrip.c:971 src/unstrip.c:1004
-#, c-format
-msgid "cannot read '.gnu.prelink_undo' section: %s"
-msgstr ""
-
-#: src/unstrip.c:992
-#, c-format
-msgid "invalid contents in '%s' section"
-msgstr ""
-
-#: src/unstrip.c:1047 src/unstrip.c:1370
-#, c-format
-msgid "cannot find matching section for [%Zu] '%s'"
-msgstr ""
-
-#: src/unstrip.c:1171 src/unstrip.c:1186 src/unstrip.c:1451
-#, c-format
-msgid "cannot add section name to string table: %s"
-msgstr ""
-
-#: src/unstrip.c:1195
-#, c-format
-msgid "cannot update section header string table data: %s"
-msgstr ""
-
-#: src/unstrip.c:1223 src/unstrip.c:1227
-#, c-format
-msgid "cannot get section header string table section index: %s"
-msgstr ""
-
-#: src/unstrip.c:1231 src/unstrip.c:1235 src/unstrip.c:1466
-#, c-format
-msgid "cannot get section count: %s"
-msgstr ""
-
-#: src/unstrip.c:1293 src/unstrip.c:1385
-#, c-format
-msgid "cannot read section header string table: %s"
-msgstr ""
-
-#: src/unstrip.c:1445
-#, c-format
-msgid "cannot add new section: %s"
-msgstr ""
-
-#: src/unstrip.c:1548
-#, c-format
-msgid "symbol [%Zu] has invalid section index"
-msgstr ""
-
-#: src/unstrip.c:1800
-#, c-format
-msgid "cannot get ELF header: %s"
-msgstr ""
-
-#: src/unstrip.c:1827
-#, c-format
-msgid "cannot update program header: %s"
-msgstr ""
-
-#: src/unstrip.c:1832 src/unstrip.c:1911
-#, c-format
-msgid "cannot write output file: %s"
-msgstr ""
-
-#: src/unstrip.c:1880
-#, c-format
-msgid "DWARF data not adjusted for prelinking bias; consider prelink -u"
-msgstr ""
-
-#: src/unstrip.c:1883
-#, c-format
-msgid ""
-"DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u"
-msgstr ""
-
-#: src/unstrip.c:1902 src/unstrip.c:1942 src/unstrip.c:1954 src/unstrip.c:2034
-#, c-format
-msgid "cannot create ELF descriptor: %s"
-msgstr ""
-
-#: src/unstrip.c:1960
-#, c-format
-msgid "'%s' and '%s' do not seem to match"
-msgstr ""
-
-#: src/unstrip.c:1991
-#, c-format
-msgid "cannot find stripped file for module '%s': %s"
-msgstr ""
-
-#: src/unstrip.c:1995
-#, c-format
-msgid "cannot open stripped file '%s' for module '%s': %s"
-msgstr ""
-
-#: src/unstrip.c:2010
-#, c-format
-msgid "cannot find debug file for module '%s': %s"
-msgstr ""
-
-#: src/unstrip.c:2014
-#, c-format
-msgid "cannot open debug file '%s' for module '%s': %s"
-msgstr ""
-
-#: src/unstrip.c:2027
-#, c-format
-msgid "module '%s' file '%s' is not stripped"
-msgstr ""
-
-#: src/unstrip.c:2058
-#, c-format
-msgid "cannot cache section addresses for module '%s': %s"
-msgstr ""
-
-#: src/unstrip.c:2191
-#, c-format
-msgid "no matching modules found"
-msgstr ""
-
-#: src/unstrip.c:2200
-#, c-format
-msgid "matched more than one module"
-msgstr ""
-
-#: src/unstrip.c:2247
-msgid ""
-"STRIPPED-FILE DEBUG-FILE\n"
-"[MODULE...]"
-msgstr ""
-
-#: src/unstrip.c:2248
-msgid ""
-"Combine stripped files with separate symbols and debug information.\n\nThe "
-"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 ""
diff --git a/po/uk.po b/po/uk.po
index 0ca049e..53d2898 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -2,13 +2,13 @@
 # Copyright (C) 2010 Free Software Foundation, Inc.
 # This file is distributed under the same license as the elfutils package.
 #
-# Yuri Chornoivan <yurchor@ukr.net>, 2010, 2011, 2012, 2013, 2014, 2015.
+# Yuri Chornoivan <yurchor@ukr.net>, 2010, 2011, 2012, 2013, 2014, 2015, 2020.
 msgid ""
 msgstr ""
 "Project-Id-Version: \n"
 "Report-Msgid-Bugs-To: https://sourceware.org/bugzilla/\n"
-"POT-Creation-Date: 2019-11-26 09:48+0100\n"
-"PO-Revision-Date: 2015-09-26 16:41+0300\n"
+"POT-Creation-Date: 2021-02-05 21:10+0100\n"
+"PO-Revision-Date: 2020-03-28 14:59+0200\n"
 "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
 "Language-Team: Ukrainian <kde-i18n-uk@kde.org>\n"
 "Language: uk\n"
@@ -17,7 +17,7 @@
 "Content-Transfer-Encoding: 8bit\n"
 "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n"
 "%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
-"X-Generator: Lokalize 1.5\n"
+"X-Generator: Lokalize 20.03.70\n"
 
 #: lib/color.c:53
 msgid ""
@@ -47,19 +47,19 @@
 msgstr "не вдалося розподілити пам’ять"
 
 #: lib/printversion.c:40
-#, fuzzy, c-format
+#, c-format
 msgid ""
 "Copyright (C) %s The elfutils developers <%s>.\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 ""
-"© Red Hat, Inc., %s\n"
+"© Розробники elfutils, %s <%s>.\n"
 "Це програмне забезпечення є вільним, умови копіювання викладено у його "
 "початкових кодах. Умовами ліцензування програми НЕ передбачено жодних "
 "гарантій, зокрема гарантій працездатності або придатності для певної мети.\n"
 
-#: lib/xmalloc.c:52 lib/xmalloc.c:65 lib/xmalloc.c:77 src/readelf.c:3449
-#: src/readelf.c:11398 src/unstrip.c:2393 src/unstrip.c:2599
+#: lib/xmalloc.c:48 lib/xmalloc.c:61 lib/xmalloc.c:73 src/readelf.c:3453
+#: src/readelf.c:11501 src/unstrip.c:312 src/unstrip.c:2398 src/unstrip.c:2603
 #, c-format
 msgid "memory exhausted"
 msgstr "пам’ять вичерпано"
@@ -172,19 +172,16 @@
 msgstr "немає рядкових даних"
 
 #: libdw/dwarf_error.c:75
-#, fuzzy
 msgid ".debug_str section missing"
-msgstr "немає розділу .debug_ranges"
+msgstr "пропущено розділ .debug_str"
 
 #: libdw/dwarf_error.c:76
-#, fuzzy
 msgid ".debug_line_str section missing"
-msgstr "немає розділу .debug_line"
+msgstr "пропущено розділ .debug_line_str"
 
 #: libdw/dwarf_error.c:77
-#, fuzzy
 msgid ".debug_str_offsets section missing"
-msgstr "немає розділу .debug_ranges"
+msgstr "пропущено розділ .debug_str_offsets"
 
 #: libdw/dwarf_error.c:78
 msgid "no address value"
@@ -222,24 +219,21 @@
 msgid "invalid directory index"
 msgstr "некоректний покажчик каталогу"
 
-#: libdw/dwarf_error.c:87 libdwfl/libdwflP.h:72
+#: libdw/dwarf_error.c:87 libdwfl/libdwflP.h:73
 msgid "address out of range"
 msgstr "некоректна адреса"
 
 #: libdw/dwarf_error.c:88
-#, fuzzy
 msgid ".debug_loc section missing"
-msgstr "немає розділу .debug_line"
+msgstr "пропущено розділ .debug_loc"
 
 #: libdw/dwarf_error.c:89
-#, fuzzy
 msgid ".debug_loclists section missing"
-msgstr "немає розділу .debug_line"
+msgstr "пропущено розділ .debug_loclists"
 
 #: libdw/dwarf_error.c:90
-#, fuzzy
 msgid "not a location list value"
-msgstr "немає значення списку адрес"
+msgstr "не є значенням списку адрес"
 
 #: libdw/dwarf_error.c:91
 msgid "no block data"
@@ -253,7 +247,7 @@
 msgid "invalid address range index"
 msgstr "некоректний індекс діапазону адрес"
 
-#: libdw/dwarf_error.c:94 libdwfl/libdwflP.h:73
+#: libdw/dwarf_error.c:94 libdwfl/libdwflP.h:74
 msgid "no matching address range"
 msgstr "не виявлено відповідного діапазону адрес"
 
@@ -270,9 +264,8 @@
 msgstr "немає розділу .debug_ranges"
 
 #: libdw/dwarf_error.c:98
-#, fuzzy
 msgid ".debug_rnglists section missing"
-msgstr "немає розділу .debug_ranges"
+msgstr "пропущено розділ .debug_rnglists"
 
 #: libdw/dwarf_error.c:99
 msgid "invalid CFI section"
@@ -291,32 +284,30 @@
 msgstr "не є DIE CU (модуля)"
 
 #: libdw/dwarf_error.c:103
-#, fuzzy
 msgid "unknown language code"
-msgstr " невідомий код операції"
+msgstr "невідомий код мови"
 
 #: libdw/dwarf_error.c:104
-#, fuzzy
 msgid ".debug_addr section missing"
-msgstr "немає розділу .debug_ranges"
+msgstr "пропущено розділ .debug_addr"
 
-#: libdwfl/argp-std.c:50 src/stack.c:638 src/unstrip.c:2540
+#: libdwfl/argp-std.c:47 src/stack.c:643 src/unstrip.c:2544
 msgid "Input selection options:"
 msgstr "Вибір параметрів виведення даних:"
 
-#: libdwfl/argp-std.c:51
+#: libdwfl/argp-std.c:48
 msgid "Find addresses in FILE"
 msgstr "Знайти адреси у ФАЙЛІ"
 
-#: libdwfl/argp-std.c:53
+#: libdwfl/argp-std.c:50
 msgid "Find addresses from signatures found in COREFILE"
 msgstr "Знайти адреси за сигнатурами з файла COREFILE"
 
-#: libdwfl/argp-std.c:55
+#: libdwfl/argp-std.c:52
 msgid "Find addresses in files mapped into process PID"
 msgstr "Знайти адреси у файлах, відображених на процес з PID"
 
-#: libdwfl/argp-std.c:57
+#: libdwfl/argp-std.c:54
 msgid ""
 "Find addresses in files mapped as read from FILE in Linux /proc/PID/maps "
 "format"
@@ -324,47 +315,46 @@
 "Знайти адреси у файлах, відображених як read за ФАЙЛОМ у форматі /proc/PID/"
 "maps Linux"
 
-#: libdwfl/argp-std.c:59
+#: libdwfl/argp-std.c:56
 msgid "Find addresses in the running kernel"
 msgstr "Знайти адреси у запущеному ядрі"
 
-#: libdwfl/argp-std.c:61
+#: libdwfl/argp-std.c:58
 msgid "Kernel with all modules"
 msgstr "Ядро з усіма модулями"
 
-#: libdwfl/argp-std.c:63 src/stack.c:645
+#: libdwfl/argp-std.c:60 src/stack.c:650
 msgid "Search path for separate debuginfo files"
 msgstr "Шукати у вказаному каталозі окремі файли debuginfo"
 
-#: libdwfl/argp-std.c:164
+#: libdwfl/argp-std.c:161
 msgid "only one of -e, -p, -k, -K, or --core allowed"
 msgstr ""
 "можна використовувати лише один за параметрів: -e, -p, -k, -K або --core"
 
-#: libdwfl/argp-std.c:237
+#: libdwfl/argp-std.c:234
 msgid "cannot load kernel symbols"
 msgstr "не вдалося завантажити символи ядра"
 
 #. Non-fatal to have no modules since we do have the kernel.
-#: libdwfl/argp-std.c:241
+#: libdwfl/argp-std.c:238
 msgid "cannot find kernel modules"
 msgstr "не вдалося виявити модулі ядра"
 
-#: libdwfl/argp-std.c:258
+#: libdwfl/argp-std.c:255
 msgid "cannot find kernel or modules"
 msgstr "не вдалося виявити ядро або модулі"
 
-#: libdwfl/argp-std.c:297
+#: libdwfl/argp-std.c:294
 #, c-format
 msgid "cannot read ELF core file: %s"
 msgstr "не вдалося прочитати файл core ELF: %s"
 
-#: libdwfl/argp-std.c:320
-#, fuzzy
+#: libdwfl/argp-std.c:317
 msgid "Not enough memory"
-msgstr "нестача пам'яті"
+msgstr "Бракує пам'яті"
 
-#: libdwfl/argp-std.c:330
+#: libdwfl/argp-std.c:327
 msgid "No modules recognized in core file"
 msgstr "Не вдалося виявити модулі у файлі core"
 
@@ -397,126 +387,131 @@
 msgstr "Помилка під час спроби видобування з LZMA"
 
 #: libdwfl/libdwflP.h:61
+#, fuzzy
+msgid "zstd decompression failed"
+msgstr "Помилка під час спроби видобування з gzip"
+
+#: libdwfl/libdwflP.h:62
 msgid "no support library found for machine"
 msgstr "у системі не виявлено бібліотеки підтримки"
 
-#: libdwfl/libdwflP.h:62
+#: libdwfl/libdwflP.h:63
 msgid "Callbacks missing for ET_REL file"
 msgstr "Немає зворотних викликів для файла ET_REL"
 
-#: libdwfl/libdwflP.h:63
+#: libdwfl/libdwflP.h:64
 msgid "Unsupported relocation type"
 msgstr "Непідтримуваний тип пересування"
 
-#: libdwfl/libdwflP.h:64
+#: libdwfl/libdwflP.h:65
 msgid "r_offset is bogus"
 msgstr "r_offset є фіктивним"
 
-#: libdwfl/libdwflP.h:65 libelf/elf_error.c:115 libelf/elf_error.c:175
+#: libdwfl/libdwflP.h:66 libelf/elf_error.c:115 libelf/elf_error.c:175
 msgid "offset out of range"
 msgstr "перевищення можливого зміщення"
 
-#: libdwfl/libdwflP.h:66
+#: libdwfl/libdwflP.h:67
 msgid "relocation refers to undefined symbol"
 msgstr "пересування посилається на невизначений символ."
 
-#: libdwfl/libdwflP.h:67
+#: libdwfl/libdwflP.h:68
 msgid "Callback returned failure"
 msgstr "Зворотним викликом повернуто помилку"
 
-#: libdwfl/libdwflP.h:68
+#: libdwfl/libdwflP.h:69
 msgid "No DWARF information found"
 msgstr "Не виявлено відомостей DWARF"
 
-#: libdwfl/libdwflP.h:69
+#: libdwfl/libdwflP.h:70
 msgid "No symbol table found"
 msgstr "Не виявлено таблиці символів"
 
-#: libdwfl/libdwflP.h:70
+#: libdwfl/libdwflP.h:71
 msgid "No ELF program headers"
 msgstr "Немає заголовків програми ELF"
 
-#: libdwfl/libdwflP.h:71
+#: libdwfl/libdwflP.h:72
 msgid "address range overlaps an existing module"
 msgstr "діапазон адрес перекриває існуючий модуль"
 
-#: libdwfl/libdwflP.h:74
+#: libdwfl/libdwflP.h:75
 msgid "image truncated"
 msgstr "образ обрізано"
 
-#: libdwfl/libdwflP.h:75
+#: libdwfl/libdwflP.h:76
 msgid "ELF file opened"
 msgstr "Відкритий файл ELF"
 
-#: libdwfl/libdwflP.h:76
+#: libdwfl/libdwflP.h:77
 msgid "not a valid ELF file"
 msgstr "не є коректним файлом ELF"
 
-#: libdwfl/libdwflP.h:77
+#: libdwfl/libdwflP.h:78
 msgid "cannot handle DWARF type description"
 msgstr "не вдалося обробити опис типу DWARF"
 
-#: libdwfl/libdwflP.h:78
+#: libdwfl/libdwflP.h:79
 msgid "ELF file does not match build ID"
 msgstr "Файл ELF не відповідає ідентифікатору збирання"
 
-#: libdwfl/libdwflP.h:79
+#: libdwfl/libdwflP.h:80
 msgid "corrupt .gnu.prelink_undo section data"
 msgstr "дані розділу «.gnu.prelink_undo» пошкоджено"
 
-#: libdwfl/libdwflP.h:80
+#: libdwfl/libdwflP.h:81
 msgid "Internal error due to ebl"
 msgstr "Внутрішня помилка через ebl"
 
-#: libdwfl/libdwflP.h:81
+#: libdwfl/libdwflP.h:82
 msgid "Missing data in core file"
 msgstr "У файлі ядра не вистачає даних"
 
-#: libdwfl/libdwflP.h:82
+#: libdwfl/libdwflP.h:83
 msgid "Invalid register"
 msgstr "Некоректний регістр"
 
-#: libdwfl/libdwflP.h:83
+#: libdwfl/libdwflP.h:84
 msgid "Error reading process memory"
 msgstr "Помилка під час спроби читання пам’яті процесу"
 
-#: libdwfl/libdwflP.h:84
+#: libdwfl/libdwflP.h:85
 msgid "Couldn't find architecture of any ELF"
 msgstr "Не вдалося знайти хоч якусь архітектуру ELF"
 
-#: libdwfl/libdwflP.h:85
+#: libdwfl/libdwflP.h:86
 msgid "Error parsing /proc filesystem"
 msgstr "Помилка під час спроби обробки файлової системи /proc"
 
-#: libdwfl/libdwflP.h:86
+#: libdwfl/libdwflP.h:87
 msgid "Invalid DWARF"
 msgstr "Некоректний запис DWARF"
 
-#: libdwfl/libdwflP.h:87
+#: libdwfl/libdwflP.h:88
 msgid "Unsupported DWARF"
 msgstr "Непідтримуваний запис DWARF"
 
-#: libdwfl/libdwflP.h:88
+#: libdwfl/libdwflP.h:89
 msgid "Unable to find more threads"
 msgstr "Не вдалося знайти додаткові потоки"
 
-#: libdwfl/libdwflP.h:89
+#: libdwfl/libdwflP.h:90
 msgid "Dwfl already has attached state"
 msgstr "Dwfl уже перебуває у стані долучення до процесу"
 
-#: libdwfl/libdwflP.h:90
+#: libdwfl/libdwflP.h:91
 msgid "Dwfl has no attached state"
 msgstr "Dwfl не перебуває у стані долучення до процесу"
 
-#: libdwfl/libdwflP.h:91
+#: libdwfl/libdwflP.h:92
 msgid "Unwinding not supported for this architecture"
 msgstr "Для цієї архітектури розгортання не передбачено"
 
-#: libdwfl/libdwflP.h:92
+#: libdwfl/libdwflP.h:93
 msgid "Invalid argument"
 msgstr "Некоректний аргумент"
 
-#: libdwfl/libdwflP.h:93
+#: libdwfl/libdwflP.h:94
 msgid "Not an ET_CORE ELF file"
 msgstr "Не є файлом ET_CORE ELF"
 
@@ -527,7 +522,7 @@
 #: libebl/eblcorenotetypename.c:100 libebl/eblobjnotetypename.c:77
 #: libebl/eblobjnotetypename.c:109 libebl/eblobjnotetypename.c:130
 #: libebl/eblosabiname.c:73 libebl/eblsectionname.c:83
-#: libebl/eblsectiontypename.c:115 libebl/eblsegmenttypename.c:79
+#: libebl/eblsectiontypename.c:115 libebl/eblsegmenttypename.c:81
 msgid "<unknown>"
 msgstr "<невідомо>"
 
@@ -587,7 +582,7 @@
 msgid "    Linker version: %.*s\n"
 msgstr "    Версія компонувальника: %.*s\n"
 
-#: libebl/eblobjnote.c:571
+#: libebl/eblobjnote.c:638
 #, c-format
 msgid "    OS: %s, ABI: "
 msgstr "    ОС: %s, ABI: "
@@ -621,7 +616,7 @@
 msgid "invalid size of destination operand"
 msgstr "некоректна розмірність вихідного параметра"
 
-#: libelf/elf_error.c:87 src/readelf.c:6166
+#: libelf/elf_error.c:87 src/readelf.c:6209
 #, c-format
 msgid "invalid encoding"
 msgstr "некоректне кодування"
@@ -631,9 +626,8 @@
 msgstr "некоректний дескриптор файла"
 
 #: libelf/elf_error.c:99
-#, fuzzy
 msgid "invalid ELF file data"
-msgstr "некоректний файл ELF"
+msgstr "некоректні дані щодо файла ELF"
 
 #: libelf/elf_error.c:103
 msgid "invalid operation"
@@ -707,8 +701,8 @@
 msgid "invalid section header"
 msgstr "некоректний заголовок розділу"
 
-#: libelf/elf_error.c:191 src/readelf.c:9914 src/readelf.c:10514
-#: src/readelf.c:10615 src/readelf.c:10797
+#: libelf/elf_error.c:191 src/readelf.c:10012 src/readelf.c:10612
+#: src/readelf.c:10713 src/readelf.c:10895
 #, c-format
 msgid "invalid data"
 msgstr "некоректні дані"
@@ -753,38 +747,32 @@
 msgstr "у файлі немає заголовка програми"
 
 #: libelf/elf_error.c:241
-#, fuzzy
 msgid "invalid section type"
-msgstr "некоректний розділ"
+msgstr "некоректний тип розділу"
 
 #: libelf/elf_error.c:246
-#, fuzzy
 msgid "invalid section flags"
-msgstr "некоректний розділ"
+msgstr "некоректні прапорці розділу"
 
 #: libelf/elf_error.c:251
-#, fuzzy
 msgid "section does not contain compressed data"
-msgstr "розділ хешу [%2zu] «%s» містить недостатньо даних\n"
+msgstr "розділ не містить стиснутих даних"
 
 #: libelf/elf_error.c:256
 msgid "section contains compressed data"
-msgstr ""
+msgstr "розділ містить стиснені дані"
 
 #: libelf/elf_error.c:261
-#, fuzzy
 msgid "unknown compression type"
-msgstr "невизначений тип"
+msgstr "невідомий тип стиснення"
 
 #: libelf/elf_error.c:266
-#, fuzzy
 msgid "cannot compress data"
-msgstr "не вдалося розпакувати DWARF"
+msgstr "неможливо стиснути дані"
 
 #: libelf/elf_error.c:271
-#, fuzzy
 msgid "cannot decompress data"
-msgstr "не вдалося розпакувати DWARF"
+msgstr "неможливо розпакувати дані"
 
 #: src/addr2line.c:57
 msgid "Input format options:"
@@ -868,12 +856,12 @@
 msgid "offset %#<PRIxMAX> lies outside section '%s'"
 msgstr "зміщення %#<PRIxMAX> розташовано поза межами розділу «%s»"
 
-#: src/addr2line.c:632
+#: src/addr2line.c:652
 #, c-format
 msgid "cannot find symbol '%s'"
 msgstr "не вдалося знайти символ «%s»"
 
-#: src/addr2line.c:637
+#: src/addr2line.c:657
 #, c-format
 msgid "offset %#<PRIxMAX> lies outside contents of '%s'"
 msgstr "зміщення %#<PRIxMAX> розташовано поза межами вмісту «%s»"
@@ -1045,12 +1033,12 @@
 msgid "no entry %s in archive\n"
 msgstr "у архіві немає запису %s\n"
 
-#: src/ar.c:472 src/ar.c:923 src/ar.c:1127
+#: src/ar.c:472 src/ar.c:927 src/ar.c:1134
 #, c-format
 msgid "cannot create hash table"
 msgstr "не вдалося створити таблицю хешів"
 
-#: src/ar.c:479 src/ar.c:930 src/ar.c:1136
+#: src/ar.c:479 src/ar.c:934 src/ar.c:1143
 #, c-format
 msgid "cannot insert into hash table"
 msgstr "не вдалося вставити запис до таблиці хешів"
@@ -1090,70 +1078,70 @@
 msgid "cannot rename temporary file to %.*s"
 msgstr "не вдалося перейменувати файл тимчасових даних на %.*s"
 
-#: src/ar.c:764 src/ar.c:1015 src/ar.c:1416 src/ranlib.c:222
+#: src/ar.c:764 src/ar.c:1019 src/ar.c:1423 src/ranlib.c:222
 #, c-format
 msgid "cannot create new file"
 msgstr "не вдалося створити файл"
 
-#: src/ar.c:1218
+#: src/ar.c:1225
 #, c-format
 msgid "position member %s not found"
 msgstr "не виявлено елемента позиції %s"
 
-#: src/ar.c:1228
+#: src/ar.c:1235
 #, c-format
 msgid "%s: no entry %s in archive!\n"
 msgstr "%s: у архіві немає запису %s!\n"
 
-#: src/ar.c:1257 src/objdump.c:241
+#: src/ar.c:1264 src/objdump.c:241
 #, c-format
 msgid "cannot open %s"
 msgstr "не вдалося відкрити %s"
 
-#: src/ar.c:1262
+#: src/ar.c:1269
 #, c-format
 msgid "cannot stat %s"
 msgstr "не вдалося отримати дані %s за допомогою stat"
 
-#: src/ar.c:1268
+#: src/ar.c:1275
 #, c-format
 msgid "%s is no regular file"
 msgstr "%s не є звичайним файлом"
 
-#: src/ar.c:1281
+#: src/ar.c:1288
 #, c-format
 msgid "cannot get ELF descriptor for %s: %s\n"
 msgstr "не вдалося отримати дескриптор ELF для %s: %s\n"
 
-#: src/ar.c:1301
+#: src/ar.c:1308
 #, c-format
 msgid "cannot read %s: %s"
 msgstr "не вдалося прочитати %s: %s"
 
-#: src/ar.c:1476
-#, fuzzy, c-format
+#: src/ar.c:1483
+#, c-format
 msgid "cannot represent ar_date"
-msgstr "не вдалося розпакувати DWARF"
+msgstr "неможливо представити ar_date"
 
-#: src/ar.c:1482
-#, fuzzy, c-format
+#: src/ar.c:1489
+#, c-format
 msgid "cannot represent ar_uid"
-msgstr "не вдалося розпакувати DWARF"
+msgstr "неможливо представити ar_uid"
 
-#: src/ar.c:1488
-#, fuzzy, c-format
+#: src/ar.c:1495
+#, c-format
 msgid "cannot represent ar_gid"
-msgstr "не вдалося розпакувати DWARF"
+msgstr "неможливо представити ar_gid"
 
-#: src/ar.c:1494
-#, fuzzy, c-format
+#: src/ar.c:1501
+#, c-format
 msgid "cannot represent ar_mode"
-msgstr "не вдалося отримати назву розділу"
+msgstr "неможливо представити ar_mode"
 
-#: src/ar.c:1500
-#, fuzzy, c-format
+#: src/ar.c:1507
+#, c-format
 msgid "cannot represent ar_size"
-msgstr "не вдалося відкрити %s"
+msgstr "неможливо представити ar_size"
 
 #: src/arlib-argp.c:32
 msgid "Use zero for uid, gid, and date in archive members."
@@ -1165,7 +1153,7 @@
 msgstr ""
 "Використовувати поточні значення для uid, gid, та дати у елементах архіву."
 
-#: src/arlib-argp.c:65
+#: src/arlib-argp.c:63
 #, c-format
 msgid "%s (default)"
 msgstr "%s (типово)"
@@ -1255,14 +1243,14 @@
 msgstr "%s %s diff: кількість заголовків програми"
 
 #: src/elfcmp.c:241 src/elfcmp.c:244
-#, fuzzy, c-format
+#, c-format
 msgid "cannot get hdrstrndx of '%s': %s"
-msgstr "не вдалося отримати заголовок ELF «%s»: %s"
+msgstr "не вдалося отримати hdrstrndx «%s»: %s"
 
 #: src/elfcmp.c:249
-#, fuzzy, c-format
+#, c-format
 msgid "%s %s diff: shdr string index"
-msgstr "%s %s diff: кількість розділів"
+msgstr "різниця між %s і %s: індекс рядків shdr"
 
 #: src/elfcmp.c:307
 #, c-format
@@ -1375,8 +1363,8 @@
 msgstr "Некоректне значення «%s» параметра --gaps."
 
 #: src/elfcmp.c:734 src/findtextrel.c:205 src/nm.c:364 src/ranlib.c:141
-#: src/size.c:272 src/strings.c:185 src/strip.c:984 src/strip.c:1021
-#: src/unstrip.c:2189 src/unstrip.c:2218
+#: src/size.c:272 src/strings.c:185 src/strip.c:1030 src/strip.c:1067
+#: src/unstrip.c:2194 src/unstrip.c:2223
 #, c-format
 msgid "cannot open '%s'"
 msgstr "не вдалося відкрити «%s»"
@@ -1406,37 +1394,35 @@
 msgid "cannot get relocation: %s"
 msgstr "не вдалося отримати пересування: %s"
 
-#: src/elfcompress.c:115 src/strip.c:308 src/unstrip.c:121
+#: src/elfcompress.c:115 src/strip.c:308 src/unstrip.c:117
 #, c-format
 msgid "-o option specified twice"
 msgstr "параметр -o вказано двічі"
 
 #: src/elfcompress.c:122
-#, fuzzy, c-format
+#, c-format
 msgid "-t option specified twice"
-msgstr "параметр -f вказано двічі"
+msgstr "параметр -t вказано двічі"
 
 #: src/elfcompress.c:131
-#, fuzzy, c-format
+#, c-format
 msgid "unknown compression type '%s'"
-msgstr "невизначений тип"
+msgstr "невідомий тип стиснення «%s»"
 
 #. We need at least one input file.
 #: src/elfcompress.c:143 src/elfcompress.c:1347
-#, fuzzy, c-format
+#, c-format
 msgid "No input file given"
-msgstr "вхідний файл є порожнім"
+msgstr "Не надано файла вхідних даних"
 
 #: src/elfcompress.c:149 src/elfcompress.c:1352
-#, fuzzy, c-format
+#, c-format
 msgid "Only one input file allowed together with '-o'"
-msgstr ""
-"Разом з «-o» або «-f» можна використовувати лише один файл вхідних даних"
+msgstr "З параметром «-o» можна використовувати лише один файл вхідних даних"
 
 #: src/elfcompress.c:1309
-#, fuzzy
 msgid "Place (de)compressed output into FILE"
-msgstr "Вивести дані після вилучення до ФАЙЛа"
+msgstr "Помістити результати розпакування або стискання до ФАЙЛа"
 
 #: src/elfcompress.c:1312
 msgid ""
@@ -1444,22 +1430,31 @@
 "'zlib' (ELF ZLIB compression, the default, 'zlib-gabi' is an alias) or 'zlib-"
 "gnu' (.zdebug GNU style compression, 'gnu' is an alias)"
 msgstr ""
+"Визначає тип стискання, який слід застосувати. ТИПом може бути "
+"«none» (розпакувати), «zlib» (стискання ELF ZLIB, типовий варіант, інша "
+"назва — «zlib-gabi») або «zlib-gnu» (стискання у стилі GNU .zdebug, інша "
+"назва — «gnu»)"
 
 #: src/elfcompress.c:1315
 msgid ""
 "SECTION name to (de)compress, SECTION is an extended wildcard pattern "
 "(defaults to '.?(z)debug*')"
 msgstr ""
+"назва РОЗДІЛу для розпакування або стискання, РОЗДІЛ є розширеним взірцем із "
+"замінниками (типове значення -- «.?(z)debug*»)"
 
 #: src/elfcompress.c:1318
 msgid "Print a message for each section being (de)compressed"
 msgstr ""
+"Вивести повідомлення для кожного розділу, який розпаковується чи стискається"
 
 #: src/elfcompress.c:1321
 msgid ""
 "Force compression of section even if it would become larger or update/"
 "rewrite the file even if no section would be (de)compressed"
 msgstr ""
+"Примусове стискання розділу, навіть якщо він стане більшим, або оновлення чи "
+"перезапис файла, навіть якщо жодного розділу не буде розпаковано або стиснено"
 
 #: src/elfcompress.c:1324 src/strip.c:93
 msgid "Relax a few rules to handle slightly broken ELF files"
@@ -1467,10 +1462,8 @@
 "Знехтувати декількома правилами для обробки трохи пошкоджених файлів ELF"
 
 #: src/elfcompress.c:1327
-#, fuzzy
 msgid "Be silent when a section cannot be compressed"
-msgstr ""
-"розділ [%2zu] «%s»: адреса розділів локальних даних потоків не є нульовою\n"
+msgstr "Не сповіщати, якщо розділ неможливо стиснути"
 
 #. Strings for arguments in help texts.
 #: src/elfcompress.c:1336 src/elflint.c:77 src/readelf.c:158
@@ -1479,7 +1472,7 @@
 
 #: src/elfcompress.c:1337
 msgid "Compress or decompress sections in an ELF file."
-msgstr ""
+msgstr "Стиснути або розпакувати розділи у файлі ELF."
 
 #: src/elflint.c:63
 msgid "Be extremely strict, flag level 2 features."
@@ -1508,14 +1501,14 @@
 "Педантична перевірка файлів ELF на сумісність зі специфікаціями gABI/psABI."
 
 #: src/elflint.c:154 src/readelf.c:368
-#, fuzzy, c-format
+#, c-format
 msgid "cannot open input file '%s'"
-msgstr "не вдалося відкрити вхідний файл."
+msgstr "не вдалося відкрити вхідний файл «%s»"
 
 #: src/elflint.c:161
-#, fuzzy, c-format
+#, c-format
 msgid "cannot generate Elf descriptor for '%s': %s\n"
-msgstr "не вдалося створити дескриптор Elf: %s\n"
+msgstr "не вдалося створити дескриптор Elf для «%s»: %s\n"
 
 #: src/elflint.c:180
 #, c-format
@@ -1526,7 +1519,7 @@
 msgid "No errors"
 msgstr "Без помилок"
 
-#: src/elflint.c:219 src/readelf.c:575
+#: src/elflint.c:219 src/readelf.c:577
 msgid "Missing file name.\n"
 msgstr "Не вказано назви файла.\n"
 
@@ -1562,7 +1555,7 @@
 msgstr "непідтримуване ABI ОС e_ident[%d] == «%s»\n"
 
 #: src/elflint.c:380
-#, fuzzy, c-format
+#, c-format
 msgid "unsupported ABI version e_ident[%d] == %d\n"
 msgstr "непідтримувана версія ABI e_ident[%d] == %d\n"
 
@@ -1626,7 +1619,7 @@
 #: src/elflint.c:473
 #, c-format
 msgid "Can only check %u headers, shnum was %u\n"
-msgstr ""
+msgstr "Можна перевірити лише %u заголовків, значенням же shnum було %u\n"
 
 #: src/elflint.c:487
 #, c-format
@@ -1636,7 +1629,7 @@
 #: src/elflint.c:504
 #, c-format
 msgid "Can only check %u headers, phnum was %u\n"
-msgstr ""
+msgstr "Можна перевірити лише %u заголовків, значенням же phnum було %u\n"
 
 #: src/elflint.c:509
 #, c-format
@@ -1685,14 +1678,14 @@
 "розділ [%2d] «%s»: групу розділів [%2zu] «%s» мало бути визначено до розділу-"
 "елемента цієї групи\n"
 
-#: src/elflint.c:610 src/elflint.c:1494 src/elflint.c:1545 src/elflint.c:1651
-#: src/elflint.c:1987 src/elflint.c:2313 src/elflint.c:2932 src/elflint.c:3095
-#: src/elflint.c:3243 src/elflint.c:3433 src/elflint.c:4431
+#: src/elflint.c:610 src/elflint.c:1498 src/elflint.c:1549 src/elflint.c:1655
+#: src/elflint.c:1991 src/elflint.c:2317 src/elflint.c:2943 src/elflint.c:3106
+#: src/elflint.c:3254 src/elflint.c:3444 src/elflint.c:4456
 #, c-format
 msgid "section [%2d] '%s': cannot get section data\n"
 msgstr "розділ [%2d] «%s»: не вдалося отримати дані розділу\n"
 
-#: src/elflint.c:623 src/elflint.c:1658
+#: src/elflint.c:623 src/elflint.c:1662
 #, c-format
 msgid ""
 "section [%2d] '%s': referenced as string table for section [%2d] '%s' but "
@@ -1715,178 +1708,190 @@
 msgid "section [%2u] '%s': entry size is does not match ElfXX_Sym\n"
 msgstr "розділ [%2u] «%s»: розмірність запису не відповідає ElfXX_Sym\n"
 
-#: src/elflint.c:667
+#: src/elflint.c:662
+#, c-format
+msgid ""
+"section [%2u] '%s': number of local entries in 'st_info' larger than table "
+"size\n"
+msgstr ""
+"розділ [%2u] «%s»: кількість локальних записів у «st_info» перевищує розмір "
+"таблиці\n"
+
+#: src/elflint.c:671
 #, c-format
 msgid "section [%2d] '%s': cannot get symbol %d: %s\n"
 msgstr "розділ [%2d] «%s»: не вдалося отримати символ %d: %s\n"
 
-#: src/elflint.c:672 src/elflint.c:675 src/elflint.c:678 src/elflint.c:681
-#: src/elflint.c:684 src/elflint.c:687
+#: src/elflint.c:676 src/elflint.c:679 src/elflint.c:682 src/elflint.c:685
+#: src/elflint.c:688 src/elflint.c:691
 #, c-format
 msgid "section [%2d] '%s': '%s' in zeroth entry not zero\n"
 msgstr "розділ [%2d] «%s»: «%s» у нульовому записі не є нулем\n"
 
-#: src/elflint.c:690
+#: src/elflint.c:694
 #, c-format
 msgid "section [%2d] '%s': XINDEX for zeroth entry not zero\n"
 msgstr "розділ [%2d] «%s»: XINDEX для нульового запису не є нулем\n"
 
-#: src/elflint.c:700
+#: src/elflint.c:704
 #, c-format
 msgid "section [%2d] '%s': cannot get symbol %zu: %s\n"
 msgstr "розділ [%2d] «%s»: не вдалося отримати символ %zu: %s\n"
 
-#: src/elflint.c:709
+#: src/elflint.c:713
 #, c-format
 msgid "section [%2d] '%s': symbol %zu: invalid name value\n"
 msgstr "розділ [%2d] «%s»: символ %zu: некоректне значення назви\n"
 
-#: src/elflint.c:724
-#, c-format
+#: src/elflint.c:728
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: too large section index but no extended "
+"section [%2d] '%s': symbol %zu (%s): too large section index but no extended "
 "section index section\n"
 msgstr ""
 "розділ [%2d] «%s»: символ %zu: занадто великий покажчик розділу за умови, що "
 "не визначено розділу розширеного покажчика розділів\n"
 
-#: src/elflint.c:730
-#, c-format
+#: src/elflint.c:734
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: XINDEX used for index which would fit in "
-"st_shndx (%<PRIu32>)\n"
+"section [%2d] '%s': symbol %zu (%s): XINDEX used for index which would fit "
+"in st_shndx (%<PRIu32>)\n"
 msgstr ""
 "розділ [%2d] «%s»: символ %zu: XINDEX використано для індексування, яке не "
 "відповідає st_shndx (%<PRIu32>)\n"
 
 #. || sym->st_shndx > SHN_HIRESERVE  always false
-#: src/elflint.c:742
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: invalid section index\n"
+#: src/elflint.c:746
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): invalid section index\n"
 msgstr "розділ [%2d] «%s»: символ %zu: некоректний індекс розділу\n"
 
-#: src/elflint.c:750
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown type\n"
+#: src/elflint.c:754
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): unknown type\n"
 msgstr "розділ [%2d] «%s»: символ %zu: невідомий тип\n"
 
-#: src/elflint.c:756
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown symbol binding\n"
+#: src/elflint.c:760
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): unknown symbol binding\n"
 msgstr "розділ [%2d] «%s»: символ %zu: невідома прив’язка символу\n"
 
-#: src/elflint.c:761
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unique symbol not of object type\n"
+#: src/elflint.c:765
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): unique symbol not of object type\n"
 msgstr ""
 "розділ [%2d] «%s»: символ %zu: унікальний символ, що не належить до типу "
 "об’єктів\n"
 
-#: src/elflint.c:769
-#, c-format
+#: src/elflint.c:773
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: COMMON only allowed in relocatable files\n"
+"section [%2d] '%s': symbol %zu (%s): COMMON only allowed in relocatable "
+"files\n"
 msgstr ""
 "розділ [%2d] «%s»: символ %zu: COMMON можна використовувати лише у файлах, "
 "придатних до пересування\n"
 
-#: src/elflint.c:773
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: local COMMON symbols are nonsense\n"
+#: src/elflint.c:777
+#, fuzzy, c-format
+msgid ""
+"section [%2d] '%s': symbol %zu (%s): local COMMON symbols are nonsense\n"
 msgstr ""
 "розділ [%2d] «%s»: символ %zu: використання локальних символів COMMON "
 "позбавлене сенсу\n"
 
-#: src/elflint.c:777
-#, c-format
+#: src/elflint.c:781
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: function in COMMON section is nonsense\n"
+"section [%2d] '%s': symbol %zu (%s): function in COMMON section is nonsense\n"
 msgstr ""
 "розділ [%2d] «%s»: символ %zu: використання функції у розділі COMMON "
 "позбавлене сенсу\n"
 
-#: src/elflint.c:828
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: st_value out of bounds\n"
+#: src/elflint.c:832
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): st_value out of bounds\n"
 msgstr ""
 "розділ [%2d] «%s»: символ %zu: значення st_value поза можливим діапазоном\n"
 
-#: src/elflint.c:834 src/elflint.c:859 src/elflint.c:908
-#, c-format
+#: src/elflint.c:838 src/elflint.c:863 src/elflint.c:912
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu does not fit completely in referenced section "
-"[%2d] '%s'\n"
+"section [%2d] '%s': symbol %zu (%s) does not fit completely in referenced "
+"section [%2d] '%s'\n"
 msgstr ""
 "розділ [%2d] «%s»: символ %zu не повністю відповідає розділу, на який "
 "посилається, [%2d] «%s»\n"
 
-#: src/elflint.c:843
-#, c-format
+#: src/elflint.c:847
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: referenced section [%2d] '%s' does not have "
-"SHF_TLS flag set\n"
+"section [%2d] '%s': symbol %zu (%s): referenced section [%2d] '%s' does not "
+"have SHF_TLS flag set\n"
 msgstr ""
 "розділ [%2d] «%s»: символ %zu: для розділу посилання [%2d] «%s» не "
 "встановлено прапорець SHF_TLS\n"
 
-#: src/elflint.c:853 src/elflint.c:901
-#, c-format
+#: src/elflint.c:857 src/elflint.c:905
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: st_value out of bounds of referenced section "
-"[%2d] '%s'\n"
+"section [%2d] '%s': symbol %zu (%s): st_value out of bounds of referenced "
+"section [%2d] '%s'\n"
 msgstr ""
 "розділ [%2d] «%s»: символ %zu: значення st_value поза межами розділу "
 "посилання, [%2d] «%s»\n"
 
-#: src/elflint.c:880
-#, c-format
+#: src/elflint.c:884
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: TLS symbol but no TLS program header entry\n"
+"section [%2d] '%s': symbol %zu (%s): TLS symbol but no TLS program header "
+"entry\n"
 msgstr ""
 "розділ [%2d] «%s»: символ %zu: символ TLS без запису заголовка програми TLS\n"
 
-#: src/elflint.c:886
-#, c-format
+#: src/elflint.c:890
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: TLS symbol but couldn't get TLS program "
+"section [%2d] '%s': symbol %zu (%s): TLS symbol but couldn't get TLS program "
 "header entry\n"
 msgstr ""
 "розділ [%2d] «%s»: символ %zu: маємо символ TLS, але не вдалося отримати "
 "запис заголовка програми TLS\n"
 
-#: src/elflint.c:894
-#, c-format
+#: src/elflint.c:898
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: st_value short of referenced section [%2d] "
-"'%s'\n"
+"section [%2d] '%s': symbol %zu (%s): st_value short of referenced section "
+"[%2d] '%s'\n"
 msgstr ""
 "розділ [%2d] «%s»: символ %zu: значення st_value перед розділом посилання, "
 "[%2d] «%s»\n"
 
-#: src/elflint.c:921
-#, c-format
+#: src/elflint.c:925
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: local symbol outside range described in "
+"section [%2d] '%s': symbol %zu (%s): local symbol outside range described in "
 "sh_info\n"
 msgstr ""
 "розділ [%2d] «%s»: символ %zu: у sh_info описано локальний символ поза "
 "діапазоном\n"
 
-#: src/elflint.c:928
-#, c-format
+#: src/elflint.c:932
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: non-local symbol outside range described in "
-"sh_info\n"
+"section [%2d] '%s': symbol %zu (%s): non-local symbol outside range "
+"described in sh_info\n"
 msgstr ""
 "розділ [%2d] «%s»: символ %zu: у sh_info описано нелокальний символ поза "
 "діапазоном\n"
 
-#: src/elflint.c:935
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: non-local section symbol\n"
+#: src/elflint.c:939
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): non-local section symbol\n"
 msgstr "розділ [%2d] «%s»: символ %zu: нелокальний символ розділу\n"
 
-#: src/elflint.c:985
+#: src/elflint.c:989
 #, c-format
 msgid ""
 "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to bad section "
@@ -1895,7 +1900,7 @@
 "розділ [%2d] «%s»: символ _GLOBAL_OFFSET_TABLE_  посилається на помилковий "
 "розділ, [%2d]\n"
 
-#: src/elflint.c:992
+#: src/elflint.c:996
 #, c-format
 msgid ""
 "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to section [%2d] "
@@ -1907,7 +1912,7 @@
 #. 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:1008
+#: src/elflint.c:1012
 #, c-format
 msgid ""
 "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol value %#<PRIx64> does not "
@@ -1916,7 +1921,7 @@
 "розділ [%2d] «%s»: значення символу _GLOBAL_OFFSET_TABLE_ %#<PRIx64> не "
 "відповідає адресі розділу %s %#<PRIx64>\n"
 
-#: src/elflint.c:1015
+#: src/elflint.c:1019
 #, c-format
 msgid ""
 "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol size %<PRIu64> does not "
@@ -1925,7 +1930,7 @@
 "розділ [%2d] «%s»: розмір символу _GLOBAL_OFFSET_TABLE_ %<PRIu64> не "
 "відповідає розміру розділу %s %<PRIu64>\n"
 
-#: src/elflint.c:1023
+#: src/elflint.c:1027
 #, c-format
 msgid ""
 "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol present, but no .got "
@@ -1934,7 +1939,7 @@
 "розділ [%2d] «%s»: виявлено символ _GLOBAL_OFFSET_TABLE_, але не виявлено "
 "розділу .got\n"
 
-#: src/elflint.c:1039
+#: src/elflint.c:1043
 #, c-format
 msgid ""
 "section [%2d] '%s': _DYNAMIC_ symbol value %#<PRIx64> does not match dynamic "
@@ -1943,7 +1948,7 @@
 "розділ [%2d] «%s»: значення символу _DYNAMIC_ %#<PRIx64> не відповідає "
 "адресі динамічного сегмента %#<PRIx64>\n"
 
-#: src/elflint.c:1046
+#: src/elflint.c:1050
 #, c-format
 msgid ""
 "section [%2d] '%s': _DYNAMIC symbol size %<PRIu64> does not match dynamic "
@@ -1952,38 +1957,38 @@
 "розділ [%2d] «%s»: розмір символу _DYNAMIC %<PRIu64> не відповідає розміру "
 "динамічного сегмента %<PRIu64>\n"
 
-#: src/elflint.c:1059
-#, c-format
+#: src/elflint.c:1063
+#, fuzzy, c-format
 msgid ""
-"section [%2d] '%s': symbol %zu: symbol in dynamic symbol table with non-"
+"section [%2d] '%s': symbol %zu (%s): symbol in dynamic symbol table with non-"
 "default visibility\n"
 msgstr ""
 "розділ [%2d] «%s»: символ %zu: символ у динамічній таблиці символів з "
 "нетиповою видимістю\n"
 
-#: src/elflint.c:1063
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown bit set in st_other\n"
+#: src/elflint.c:1067
+#, fuzzy, c-format
+msgid "section [%2d] '%s': symbol %zu (%s): unknown bit set in st_other\n"
 msgstr "розділ [%2d] «%s»: символ %zu: невідомий набір бітів у st_other\n"
 
-#: src/elflint.c:1101
+#: src/elflint.c:1105
 #, c-format
 msgid "section [%2d] '%s': cannot get section data.\n"
 msgstr "розділ [%2d] «%s»: не вдалося отримати дані розділу.\n"
 
-#: src/elflint.c:1117
+#: src/elflint.c:1121
 #, c-format
 msgid "section [%2d] '%s': DT_RELCOUNT used for this RELA section\n"
 msgstr "розділ [%2d] «%s»: для цього розділу RELA використано DT_RELCOUNT\n"
 
-#: src/elflint.c:1128 src/elflint.c:1181
+#: src/elflint.c:1132 src/elflint.c:1185
 #, c-format
 msgid "section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"
 msgstr ""
 "розділ [%2d] «%s»: значення DT_RELCOUNT %d є занадто високим для цього "
 "розділу\n"
 
-#: src/elflint.c:1153 src/elflint.c:1206
+#: src/elflint.c:1157 src/elflint.c:1210
 #, c-format
 msgid ""
 "section [%2d] '%s': relative relocations after index %d as specified by "
@@ -1992,7 +1997,7 @@
 "розділ [%2d] «%s»: відносні пересування після позиції %d, вказаної за "
 "допомогою DT_RELCOUNT\n"
 
-#: src/elflint.c:1159 src/elflint.c:1212
+#: src/elflint.c:1163 src/elflint.c:1216
 #, c-format
 msgid ""
 "section [%2d] '%s': non-relative relocation at index %zu; DT_RELCOUNT "
@@ -2001,52 +2006,53 @@
 "розділ [%2d] «%s»: безвідносне пересування на позиції %zu; DT_RELCOUNT "
 "визначено %d відносних пересування\n"
 
-#: src/elflint.c:1171
+#: src/elflint.c:1175
 #, c-format
 msgid "section [%2d] '%s': DT_RELACOUNT used for this REL section\n"
 msgstr "розділ [%2d] «%s»: для цього розділу REL використано DT_RELACOUNT\n"
 
-#: src/elflint.c:1254
+#: src/elflint.c:1258
 #, c-format
 msgid "section [%2d] '%s': invalid destination section index\n"
 msgstr "розділ [%2d] «%s»: некоректний індекс розділу призначення\n"
 
-#: src/elflint.c:1266
+#: src/elflint.c:1270
 #, c-format
 msgid "section [%2d] '%s': invalid destination section type\n"
 msgstr "розділ [%2d] «%s»: некоректний тип розділу призначення\n"
 
-#: src/elflint.c:1274
+#: src/elflint.c:1278
 #, c-format
 msgid "section [%2d] '%s': sh_info should be zero\n"
 msgstr "розділ [%2d] «%s»: sh_info має бути нульовим\n"
 
-#: src/elflint.c:1282
-#, fuzzy, c-format
+#: src/elflint.c:1286
+#, c-format
 msgid ""
 "section [%2d] '%s': no relocations for merge-able string sections possible\n"
 msgstr ""
-"розділ [%2d] «%s»: пересування у придатних до об’єднання розділах неможливе\n"
+"розділ [%2d] «%s»: неможливі пересування для розділів рядків, які непридатні "
+"до об'єднання\n"
 
-#: src/elflint.c:1290
+#: src/elflint.c:1294
 #, c-format
 msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n"
 msgstr ""
 "розділ [%2d] «%s»: розмірність запису розділу не відповідає ElfXX_Rela\n"
 
-#: src/elflint.c:1350
+#: src/elflint.c:1354
 #, c-format
 msgid "text relocation flag set but there is no read-only segment\n"
 msgstr ""
 "встановлено прапорець пересування тексту, але сегмент придатний лише до "
 "читання\n"
 
-#: src/elflint.c:1377
+#: src/elflint.c:1381
 #, c-format
 msgid "section [%2d] '%s': relocation %zu: invalid type\n"
 msgstr "розділ [%2d] «%s»: пересування %zu: некоректний тип\n"
 
-#: src/elflint.c:1385
+#: src/elflint.c:1389
 #, c-format
 msgid ""
 "section [%2d] '%s': relocation %zu: relocation type invalid for the file "
@@ -2055,12 +2061,12 @@
 "розділ [%2d] «%s»: пересування %zu: некоректний тип пересування для типу "
 "файла\n"
 
-#: src/elflint.c:1393
+#: src/elflint.c:1397
 #, c-format
 msgid "section [%2d] '%s': relocation %zu: invalid symbol index\n"
 msgstr "розділ [%2d] «%s»: пересування %zu: некоректний індекс символу\n"
 
-#: src/elflint.c:1411
+#: src/elflint.c:1415
 #, c-format
 msgid ""
 "section [%2d] '%s': relocation %zu: only symbol '_GLOBAL_OFFSET_TABLE_' can "
@@ -2069,12 +2075,12 @@
 "розділ [%2d] «%s»: пересування %zu: з %s можна використовувати лише символ "
 "«_GLOBAL_OFFSET_TABLE_»\n"
 
-#: src/elflint.c:1428
+#: src/elflint.c:1432
 #, c-format
 msgid "section [%2d] '%s': relocation %zu: offset out of bounds\n"
 msgstr "розділ [%2d] «%s»: пересування %zu: зміщення за межі діапазону\n"
 
-#: src/elflint.c:1443
+#: src/elflint.c:1447
 #, c-format
 msgid ""
 "section [%2d] '%s': relocation %zu: copy relocation against symbol of type "
@@ -2083,7 +2089,7 @@
 "розділ [%2d] «%s»: пересування %zu: пересування копіювання для символу типу "
 "%s\n"
 
-#: src/elflint.c:1464
+#: src/elflint.c:1468
 #, c-format
 msgid ""
 "section [%2d] '%s': relocation %zu: read-only section modified but text "
@@ -2092,22 +2098,22 @@
 "розділ [%2d] «%s»: пересування %zu: змінено придатний лише для читання "
 "розділ, але не встановлено прапорець пересування тексту\n"
 
-#: src/elflint.c:1479
+#: src/elflint.c:1483
 #, c-format
 msgid "section [%2d] '%s': relocations are against loaded and unloaded data\n"
 msgstr "розділ [%2d] «%s»: пересування завантажених і незавантажених даних\n"
 
-#: src/elflint.c:1519 src/elflint.c:1570
+#: src/elflint.c:1523 src/elflint.c:1574
 #, c-format
 msgid "section [%2d] '%s': cannot get relocation %zu: %s\n"
 msgstr "розділ [%2d] «%s»: не вдалося отримати зміщення %zu: %s\n"
 
-#: src/elflint.c:1646
+#: src/elflint.c:1650
 #, c-format
 msgid "more than one dynamic section present\n"
 msgstr "вказано більше одного динамічного розділу\n"
 
-#: src/elflint.c:1664
+#: src/elflint.c:1668
 #, c-format
 msgid ""
 "section [%2d]: referenced as string table for section [%2d] '%s' but section "
@@ -2116,46 +2122,46 @@
 "розділ [%2d]: надано посилання на таблицю рядків розділу [%2d] «%s», але "
 "значення посилання на розділ є некоректним\n"
 
-#: src/elflint.c:1672
+#: src/elflint.c:1676
 #, c-format
 msgid "section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"
 msgstr ""
 "розділ [%2d] «%s»: розмірність запису розділу не відповідає ElfXX_Dyn\n"
 
-#: src/elflint.c:1677 src/elflint.c:1966
+#: src/elflint.c:1681 src/elflint.c:1970
 #, c-format
 msgid "section [%2d] '%s': sh_info not zero\n"
 msgstr "розділ [%2d] «%s»: sh_info не є нульовим\n"
 
-#: src/elflint.c:1687
+#: src/elflint.c:1691
 #, c-format
 msgid "section [%2d] '%s': cannot get dynamic section entry %zu: %s\n"
 msgstr ""
 "розділ [%2d] «%s»: не вдалося отримати запис динамічного розділу %zu: %s\n"
 
-#: src/elflint.c:1695
+#: src/elflint.c:1699
 #, c-format
 msgid "section [%2d] '%s': non-DT_NULL entries follow DT_NULL entry\n"
 msgstr ""
 "розділ [%2d] «%s»: за записом DT_NULL вказано записи, що не належать до "
 "DT_NULL\n"
 
-#: src/elflint.c:1702
+#: src/elflint.c:1706
 #, c-format
 msgid "section [%2d] '%s': entry %zu: unknown tag\n"
 msgstr "розділ [%2d] «%s»: запис %zu: невідома мітка\n"
 
-#: src/elflint.c:1713
+#: src/elflint.c:1717
 #, c-format
 msgid "section [%2d] '%s': entry %zu: more than one entry with tag %s\n"
 msgstr "розділ [%2d] «%s»: запис %zu: декілька записів з міткою %s\n"
 
-#: src/elflint.c:1723
+#: src/elflint.c:1727
 #, c-format
 msgid "section [%2d] '%s': entry %zu: level 2 tag %s used\n"
 msgstr "розділ [%2d] «%s»: запис %zu: використано мітку рівня 2 %s\n"
 
-#: src/elflint.c:1741
+#: src/elflint.c:1745
 #, c-format
 msgid ""
 "section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n"
@@ -2163,7 +2169,7 @@
 "розділ [%2d] «%s»: запис %zu: значенням DT_PLTREL має бути DT_REL або "
 "DT_RELA\n"
 
-#: src/elflint.c:1754
+#: src/elflint.c:1758
 #, c-format
 msgid ""
 "section [%2d] '%s': entry %zu: pointer does not match address of section "
@@ -2172,7 +2178,7 @@
 "розділ [%2d] «%s»: розділ %zu: вказівник не відповідає адресі розділу [%2d] "
 "«%s», на яку посилається sh_link\n"
 
-#: src/elflint.c:1797
+#: src/elflint.c:1801
 #, c-format
 msgid ""
 "section [%2d] '%s': entry %zu: %s value must point into loaded segment\n"
@@ -2180,7 +2186,7 @@
 "розділ [%2d] «%s»: запис %zu: значення %s має вказувати на завантажений "
 "сегмент\n"
 
-#: src/elflint.c:1812
+#: src/elflint.c:1816
 #, c-format
 msgid ""
 "section [%2d] '%s': entry %zu: %s value must be valid offset in section "
@@ -2189,48 +2195,48 @@
 "розділ [%2d] «%s»: запис %zu: значенням %s має бути коректне зміщення у "
 "розділі [%2d] «%s»\n"
 
-#: src/elflint.c:1832 src/elflint.c:1860
+#: src/elflint.c:1836 src/elflint.c:1864
 #, c-format
 msgid "section [%2d] '%s': contains %s entry but not %s\n"
 msgstr "розділ [%2d] «%s»: містить запис %s, але не %s\n"
 
-#: src/elflint.c:1844
+#: src/elflint.c:1848
 #, c-format
 msgid "section [%2d] '%s': mandatory tag %s not present\n"
 msgstr "розділ [%2d] «%s»: немає обов’язкової мітки %s\n"
 
-#: src/elflint.c:1853
+#: src/elflint.c:1857
 #, c-format
 msgid "section [%2d] '%s': no hash section present\n"
 msgstr "розділ [%2d] «%s»: не виявлено розділу хешів\n"
 
-#: src/elflint.c:1868 src/elflint.c:1875
+#: src/elflint.c:1872 src/elflint.c:1879
 #, c-format
 msgid "section [%2d] '%s': not all of %s, %s, and %s are present\n"
 msgstr "розділ [%2d] «%s»: вказано не всі зі значень %s, %s і %s\n"
 
-#: src/elflint.c:1885 src/elflint.c:1889
+#: src/elflint.c:1889 src/elflint.c:1893
 #, c-format
 msgid "section [%2d] '%s': %s tag missing in DSO marked during prelinking\n"
 msgstr ""
 "розділ [%2d] «%s»: у DSO, позначеному на кроці попереднього компонування, "
 "немає мітки %s\n"
 
-#: src/elflint.c:1895
+#: src/elflint.c:1899
 #, c-format
 msgid "section [%2d] '%s': non-DSO file marked as dependency during prelink\n"
 msgstr ""
 "розділ [%2d] «%s»: під час попереднього компонування як залежність позначено "
 "файл, який не є файлом DSO\n"
 
-#: src/elflint.c:1906 src/elflint.c:1910 src/elflint.c:1914 src/elflint.c:1918
+#: src/elflint.c:1910 src/elflint.c:1914 src/elflint.c:1918 src/elflint.c:1922
 #, c-format
 msgid "section [%2d] '%s': %s tag missing in prelinked executable\n"
 msgstr ""
 "розділ [%2d] «%s»: у попередньо скомпонованому виконуваному файлі не "
 "міститься мітки %s\n"
 
-#: src/elflint.c:1930
+#: src/elflint.c:1934
 #, c-format
 msgid ""
 "section [%2d] '%s': only relocatable files can have extended section index\n"
@@ -2238,7 +2244,7 @@
 "розділ [%2d] «%s»: розширений розділ покажчика можуть мати лише файли, "
 "придатні до пересування\n"
 
-#: src/elflint.c:1940
+#: src/elflint.c:1944
 #, c-format
 msgid ""
 "section [%2d] '%s': extended section index section not for symbol table\n"
@@ -2246,29 +2252,29 @@
 "розділ [%2d] «%s»: розділ розширеного покажчика розділів не призначено для "
 "таблиць символів\n"
 
-#: src/elflint.c:1944
+#: src/elflint.c:1948
 #, c-format
 msgid "section [%2d] '%s': sh_link extended section index [%2d] is invalid\n"
 msgstr ""
 "розділ [%2d] «%s»: індекс розширеного розділу sh_link [%2d] є некоректним\n"
 
-#: src/elflint.c:1949
+#: src/elflint.c:1953
 #, c-format
 msgid "cannot get data for symbol section\n"
 msgstr "не вдалося отримати дані для розділу символів\n"
 
-#: src/elflint.c:1952
+#: src/elflint.c:1956
 #, c-format
 msgid "section [%2d] '%s': entry size does not match Elf32_Word\n"
 msgstr "розділ [%2d] «%s»: розмірність запису не відповідає Elf32_Word\n"
 
-#: src/elflint.c:1961
+#: src/elflint.c:1965
 #, c-format
 msgid "section [%2d] '%s': extended index table too small for symbol table\n"
 msgstr ""
 "розділ [%2d] «%s»: розширена таблиця покажчика замала для таблиці символів\n"
 
-#: src/elflint.c:1976
+#: src/elflint.c:1980
 #, c-format
 msgid ""
 "section [%2d] '%s': extended section index in section [%2zu] '%s' refers to "
@@ -2277,24 +2283,24 @@
 "розділ [%2d] «%s»: розширений покажчик розділів у розділі [%2zu] «%s» "
 "посилається на ту саму таблицю розділів\n"
 
-#: src/elflint.c:1994
+#: src/elflint.c:1998
 #, c-format
 msgid "symbol 0 should have zero extended section index\n"
 msgstr "символу 0 має відповідати нульовий індекс розширеного розділу\n"
 
-#: src/elflint.c:2006
+#: src/elflint.c:2010
 #, c-format
 msgid "cannot get data for symbol %zu\n"
 msgstr "не вдалося отримати дані для символу %zu\n"
 
-#: src/elflint.c:2011
+#: src/elflint.c:2015
 #, c-format
 msgid "extended section index is %<PRIu32> but symbol index is not XINDEX\n"
 msgstr ""
 "індекс розширеного розділу дорівнює %<PRIu32>, але індекс символу не є "
 "XINDEX\n"
 
-#: src/elflint.c:2028 src/elflint.c:2085
+#: src/elflint.c:2032 src/elflint.c:2089
 #, c-format
 msgid ""
 "section [%2d] '%s': hash table section is too small (is %ld, expected %ld)\n"
@@ -2302,43 +2308,43 @@
 "розділ [%2d] «%s»: розділ таблиці хешів занадто малий (розмір %ld, мало бути "
 "— %ld)\n"
 
-#: src/elflint.c:2042 src/elflint.c:2099
+#: src/elflint.c:2046 src/elflint.c:2103
 #, c-format
 msgid "section [%2d] '%s': chain array too large\n"
 msgstr "розділ [%2d] «%s»: масив ланцюжка занадто великий\n"
 
-#: src/elflint.c:2056 src/elflint.c:2113
+#: src/elflint.c:2060 src/elflint.c:2117
 #, c-format
 msgid "section [%2d] '%s': hash bucket reference %zu out of bounds\n"
 msgstr ""
 "розділ [%2d] «%s»: посилання на хеш блоку %zu лежить поза межами діапазону\n"
 
-#: src/elflint.c:2066
+#: src/elflint.c:2070
 #, c-format
 msgid "section [%2d] '%s': hash chain reference %zu out of bounds\n"
 msgstr ""
 "розділ [%2d] «%s»: посилання ланцюжка хешів %zu лежить поза межами "
 "діапазону\n"
 
-#: src/elflint.c:2123
+#: src/elflint.c:2127
 #, c-format
 msgid "section [%2d] '%s': hash chain reference %<PRIu64> out of bounds\n"
 msgstr ""
 "розділ [%2d] «%s»: посилання ланцюжка хешів %<PRIu64> лежить поза межами "
 "діапазону\n"
 
-#: src/elflint.c:2136
+#: src/elflint.c:2140
 #, c-format
 msgid "section [%2d] '%s': not enough data\n"
 msgstr "розділ [%2d] «%s»: недостатньо даних\n"
 
-#: src/elflint.c:2148
+#: src/elflint.c:2152
 #, c-format
 msgid "section [%2d] '%s': bitmask size zero or not power of 2: %u\n"
 msgstr ""
 "розділ [%2d] «%s»: розмір бітової маски є нульовим або не є степенем 2: %u\n"
 
-#: src/elflint.c:2164
+#: src/elflint.c:2168
 #, c-format
 msgid ""
 "section [%2d] '%s': hash table section is too small (is %ld, expected at "
@@ -2347,12 +2353,12 @@
 "розділ [%2d] «%s»: розділ таблиці хешів є надто малим (маємо %ld, мало бути "
 "принаймні %ld)\n"
 
-#: src/elflint.c:2173
+#: src/elflint.c:2177
 #, c-format
 msgid "section [%2d] '%s': 2nd hash function shift too big: %u\n"
 msgstr "розділ [%2d] «%s»: зсув 2-ої функції хешування занадто великий: %u\n"
 
-#: src/elflint.c:2207
+#: src/elflint.c:2211
 #, c-format
 msgid ""
 "section [%2d] '%s': hash chain for bucket %zu lower than symbol index bias\n"
@@ -2360,7 +2366,7 @@
 "розділ [%2d] '%s': ланцюжок хешів для блоку %zu розташовано нижче за позицію "
 "відхилення індексу символу\n"
 
-#: src/elflint.c:2228
+#: src/elflint.c:2232
 #, c-format
 msgid ""
 "section [%2d] '%s': symbol %u referenced in chain for bucket %zu is "
@@ -2369,7 +2375,7 @@
 "розділ [%2d] «%s»: символ %u, на який посилається ланцюжок у блоці %zu не "
 "визначено\n"
 
-#: src/elflint.c:2241
+#: src/elflint.c:2245
 #, c-format
 msgid ""
 "section [%2d] '%s': hash value for symbol %u in chain for bucket %zu wrong\n"
@@ -2377,7 +2383,7 @@
 "розділ [%2d] «%s»: значення хешу для символу %u у ланцюжку для блоку %zu є "
 "помилковим\n"
 
-#: src/elflint.c:2250
+#: src/elflint.c:2254
 #, c-format
 msgid ""
 "section [%2d] '%s': mask index for symbol %u in chain for bucket %zu wrong\n"
@@ -2385,14 +2391,14 @@
 "розділ [%2d] «%s»: індекс маски для символу %u у ланцюжку для блоку %zu є "
 "помилковим\n"
 
-#: src/elflint.c:2280
+#: src/elflint.c:2284
 #, c-format
 msgid "section [%2d] '%s': hash chain for bucket %zu out of bounds\n"
 msgstr ""
 "розділ [%2d] «%s»: ланцюжок хешів для блоку %zu лежить поза межами "
 "діапазону\n"
 
-#: src/elflint.c:2285
+#: src/elflint.c:2289
 #, c-format
 msgid ""
 "section [%2d] '%s': symbol reference in chain for bucket %zu out of bounds\n"
@@ -2400,43 +2406,43 @@
 "розділ [%2d] «%s»: посилання на символ у ланцюжку для блоку %zu лежить поза "
 "межами діапазону\n"
 
-#: src/elflint.c:2291
+#: src/elflint.c:2295
 #, c-format
 msgid "section [%2d] '%s': bitmask does not match names in the hash table\n"
 msgstr "розділ [%2d] «%s»: бітова маска не відповідає назвам у таблиці хешів\n"
 
-#: src/elflint.c:2304
+#: src/elflint.c:2308
 #, c-format
 msgid "section [%2d] '%s': relocatable files cannot have hash tables\n"
 msgstr ""
 "розділ [%2d] «%s»: придатні до пересування файли не можуть містити таблиць "
 "хешів\n"
 
-#: src/elflint.c:2322
+#: src/elflint.c:2326
 #, c-format
 msgid "section [%2d] '%s': hash table not for dynamic symbol table\n"
 msgstr ""
 "розділ [%2d] «%s»: таблицю хешів не призначено для зберігання таблиці "
 "динамічних символів\n"
 
-#: src/elflint.c:2326
+#: src/elflint.c:2330
 #, c-format
 msgid "section [%2d] '%s': invalid sh_link symbol table section index [%2d]\n"
 msgstr ""
 "розділ [%2d] «%s»: некоректний індекс розділу таблиці символів sh_link "
 "[%2d]\n"
 
-#: src/elflint.c:2336
+#: src/elflint.c:2340
 #, c-format
 msgid "section [%2d] '%s': hash table entry size incorrect\n"
 msgstr "розділ [%2d] «%s»: розмірність запису таблиці хешів є некоректною\n"
 
-#: src/elflint.c:2341
+#: src/elflint.c:2345
 #, c-format
 msgid "section [%2d] '%s': not marked to be allocated\n"
 msgstr "розділ [%2d] «%s»: не позначено для пересування\n"
 
-#: src/elflint.c:2346
+#: src/elflint.c:2350
 #, c-format
 msgid ""
 "section [%2d] '%s': hash table has not even room for initial administrative "
@@ -2445,27 +2451,27 @@
 "розділ [%2d] «%s»: у таблиці хешів виявлено незвичайне розташування "
 "початкових адміністративних записів\n"
 
-#: src/elflint.c:2395
+#: src/elflint.c:2399
 #, c-format
 msgid "sh_link in hash sections [%2zu] '%s' and [%2zu] '%s' not identical\n"
 msgstr "sh_link у розділах хешів [%2zu] «%s» і [%2zu] «%s» не збігаються\n"
 
-#: src/elflint.c:2419 src/elflint.c:2484 src/elflint.c:2519
+#: src/elflint.c:2423 src/elflint.c:2488 src/elflint.c:2523
 #, c-format
 msgid "hash section [%2zu] '%s' does not contain enough data\n"
 msgstr "розділ хешу [%2zu] «%s» містить недостатньо даних\n"
 
-#: src/elflint.c:2440
+#: src/elflint.c:2444
 #, c-format
 msgid "hash section [%2zu] '%s' has zero bit mask words\n"
 msgstr "розділ хешу [%2zu] «%s» містить нульові слова бітової маски\n"
 
-#: src/elflint.c:2451 src/elflint.c:2495 src/elflint.c:2532
+#: src/elflint.c:2455 src/elflint.c:2499 src/elflint.c:2536
 #, c-format
 msgid "hash section [%2zu] '%s' uses too much data\n"
 msgstr "розділ хешу [%2zu] «%s» використовує надто багато даних\n"
 
-#: src/elflint.c:2466
+#: src/elflint.c:2470
 #, c-format
 msgid ""
 "hash section [%2zu] '%s' invalid symbol index %<PRIu32> (max_nsyms: "
@@ -2474,17 +2480,17 @@
 "розділ хешу [%2zu] «%s» некоректний індекс символу %<PRIu32> (макс. к-ть "
 "символів: %<PRIu32>, кількість записів: %<PRIu32>\n"
 
-#: src/elflint.c:2553
+#: src/elflint.c:2557
 #, c-format
 msgid "hash section [%2zu] '%s' invalid sh_entsize\n"
 msgstr "розділ хешу [%2zu] «%s» некоректне значення sh_entsize\n"
 
-#: src/elflint.c:2563 src/elflint.c:2567
+#: src/elflint.c:2567 src/elflint.c:2571
 #, c-format
 msgid "section [%2zu] '%s': reference to symbol index 0\n"
 msgstr "розділ [%2zu] «%s»: посилання на індекс символів 0\n"
 
-#: src/elflint.c:2574
+#: src/elflint.c:2578
 #, c-format
 msgid ""
 "symbol %d referenced in new hash table in [%2zu] '%s' but not in old hash "
@@ -2493,7 +2499,7 @@
 "виявлено посилання на символ %d у новій таблиці хешів у [%2zu] «%s», але "
 "його немає у старій таблиці хешів у [%2zu] «%s»\n"
 
-#: src/elflint.c:2586
+#: src/elflint.c:2590
 #, c-format
 msgid ""
 "symbol %d referenced in old hash table in [%2zu] '%s' but not in new hash "
@@ -2502,12 +2508,12 @@
 "виявлено посилання на символ %d у старій таблиці хешів у [%2zu] «%s», але "
 "його немає у новій таблиці хешів у [%2zu] «%s»\n"
 
-#: src/elflint.c:2602
+#: src/elflint.c:2606
 #, c-format
 msgid "section [%2d] '%s': nonzero sh_%s for NULL section\n"
 msgstr "розділ [%2d] «%s»: ненульове значення sh_%s для розділу NULL\n"
 
-#: src/elflint.c:2622
+#: src/elflint.c:2626
 #, c-format
 msgid ""
 "section [%2d] '%s': section groups only allowed in relocatable object files\n"
@@ -2515,95 +2521,95 @@
 "розділ [%2d] «%s»: групи розділів передбачено лише для придатних до "
 "пересування об’єктних файлах\n"
 
-#: src/elflint.c:2633
+#: src/elflint.c:2637
 #, c-format
 msgid "section [%2d] '%s': cannot get symbol table: %s\n"
 msgstr "розділ [%2d] «%s»: не вдалося отримати таблицю символів: %s\n"
 
-#: src/elflint.c:2638
+#: src/elflint.c:2642
 #, c-format
 msgid "section [%2d] '%s': section reference in sh_link is no symbol table\n"
 msgstr ""
 "розділ [%2d] «%s»: посилання на розділ у sh_link не має таблиці символів\n"
 
-#: src/elflint.c:2644
+#: src/elflint.c:2648
 #, c-format
 msgid "section [%2d] '%s': invalid symbol index in sh_info\n"
 msgstr "розділ [%2d] «%s»: некоректний індекс символу у sh_info\n"
 
-#: src/elflint.c:2649
+#: src/elflint.c:2653
 #, c-format
 msgid "section [%2d] '%s': sh_flags not zero\n"
 msgstr "розділ [%2d] «%s»: sh_flags не є нульовим\n"
 
-#: src/elflint.c:2656
+#: src/elflint.c:2660
 #, c-format
 msgid "section [%2d] '%s': cannot get symbol for signature\n"
 msgstr "розділ [%2d] «%s»: не вдалося отримати символ для підпису\n"
 
-#: src/elflint.c:2660
+#: src/elflint.c:2664
 #, c-format
 msgid "section [%2d] '%s': cannot get symbol name for signature\n"
 msgstr "розділ [%2d] «%s»: не вдалося отримати назву символу для підпису\n"
 
-#: src/elflint.c:2665
+#: src/elflint.c:2669
 #, c-format
 msgid "section [%2d] '%s': signature symbol cannot be empty string\n"
 msgstr "розділ [%2d] «%s»: символ підпису не може бути порожнім рядком\n"
 
-#: src/elflint.c:2671
+#: src/elflint.c:2675
 #, c-format
 msgid "section [%2d] '%s': sh_flags not set correctly\n"
 msgstr "розділ [%2d] «%s»: для sh_flags встановлено помилкове значення\n"
 
-#: src/elflint.c:2677
+#: src/elflint.c:2681
 #, c-format
 msgid "section [%2d] '%s': cannot get data: %s\n"
 msgstr "розділ [%2d] «%s»: не вдалося отримати дані: %s\n"
 
-#: src/elflint.c:2686
+#: src/elflint.c:2690
 #, c-format
 msgid "section [%2d] '%s': section size not multiple of sizeof(Elf32_Word)\n"
 msgstr "розділ [%2d] «%s»: розмір розділу не є кратним до sizeof(Elf32_Word)\n"
 
-#: src/elflint.c:2692
+#: src/elflint.c:2696
 #, c-format
 msgid "section [%2d] '%s': section group without flags word\n"
 msgstr "розділ [%2d] «%s»: група розділів без значення типу word прапорців\n"
 
-#: src/elflint.c:2700
+#: src/elflint.c:2704
 #, c-format
 msgid "section [%2d] '%s': section group without member\n"
 msgstr "розділ [%2d] «%s»: група розділів без елементів\n"
 
-#: src/elflint.c:2704
+#: src/elflint.c:2708
 #, c-format
 msgid "section [%2d] '%s': section group with only one member\n"
 msgstr "розділ [%2d] «%s»: група розділів, що містить лише один елемент\n"
 
-#: src/elflint.c:2715
+#: src/elflint.c:2719
 #, c-format
 msgid "section [%2d] '%s': unknown section group flags\n"
 msgstr "розділ [%2d] «%s»: невідомі прапорці групи розділів\n"
 
-#: src/elflint.c:2727
+#: src/elflint.c:2731
 #, c-format
 msgid "section [%2d] '%s': section index %zu out of range\n"
 msgstr "розділ [%2d] «%s»: індекс розділу %zu поза межами діапазону\n"
 
-#: src/elflint.c:2736
+#: src/elflint.c:2740
 #, c-format
 msgid "section [%2d] '%s': cannot get section header for element %zu: %s\n"
 msgstr ""
 "розділ [%2d] «%s»: не вдалося отримати заголовок розділу для елемента %zu: "
 "%s\n"
 
-#: src/elflint.c:2743
+#: src/elflint.c:2747
 #, c-format
 msgid "section [%2d] '%s': section group contains another group [%2d] '%s'\n"
 msgstr "розділ [%2d] «%s»: група розділів містить іншу групу [%2d] «%s»\n"
 
-#: src/elflint.c:2749
+#: src/elflint.c:2753
 #, c-format
 msgid ""
 "section [%2d] '%s': element %zu references section [%2d] '%s' without "
@@ -2612,12 +2618,12 @@
 "розділ [%2d] «%s»: елемент %zu посилається на розділ [%2d] «%s» без "
 "встановленого прапорця SHF_GROUP\n"
 
-#: src/elflint.c:2756
+#: src/elflint.c:2760
 #, c-format
 msgid "section [%2d] '%s' is contained in more than one section group\n"
 msgstr "розділ [%2d] «%s» міститься у більше ніж одній групі розділів\n"
 
-#: src/elflint.c:2946
+#: src/elflint.c:2957
 #, c-format
 msgid ""
 "section [%2d] '%s' refers in sh_link to section [%2d] '%s' which is no "
@@ -2626,7 +2632,7 @@
 "розділ [%2d] «%s» посилається у sh_link на розділ [%2d] «%s», який не має "
 "динамічної таблиці символів\n"
 
-#: src/elflint.c:2958
+#: src/elflint.c:2969
 #, c-format
 msgid ""
 "section [%2d] '%s' has different number of entries than symbol table [%2d] "
@@ -2635,28 +2641,28 @@
 "кількість записів у розділі [%2d] «%s» відрізняється від кількості у таблиці "
 "символів [%2d] «%s»\n"
 
-#: src/elflint.c:2974
+#: src/elflint.c:2985
 #, c-format
 msgid "section [%2d] '%s': symbol %d: cannot read version data\n"
 msgstr "розділ [%2d] «%s»: символ %d: не вдалося прочитати дані щодо версії\n"
 
-#: src/elflint.c:2990
+#: src/elflint.c:3001
 #, c-format
 msgid "section [%2d] '%s': symbol %d: local symbol with global scope\n"
 msgstr ""
 "розділ [%2d] «%s»: символ %d: локальний символ у загальному контексті\n"
 
-#: src/elflint.c:2998
+#: src/elflint.c:3009
 #, c-format
 msgid "section [%2d] '%s': symbol %d: local symbol with version\n"
 msgstr "розділ [%2d] «%s»: символ %d: локальний символ з версією\n"
 
-#: src/elflint.c:3012
+#: src/elflint.c:3023
 #, c-format
 msgid "section [%2d] '%s': symbol %d: invalid version index %d\n"
 msgstr "розділ [%2d] «%s»: символ %d: некоректний індекс версії %d\n"
 
-#: src/elflint.c:3017
+#: src/elflint.c:3028
 #, c-format
 msgid ""
 "section [%2d] '%s': symbol %d: version index %d is for defined version\n"
@@ -2664,7 +2670,7 @@
 "розділ [%2d] «%s»: символ %d: індекси версії %d призначено до визначеної "
 "версії\n"
 
-#: src/elflint.c:3027
+#: src/elflint.c:3038
 #, c-format
 msgid ""
 "section [%2d] '%s': symbol %d: version index %d is for requested version\n"
@@ -2672,45 +2678,45 @@
 "розділ [%2d] «%s»: символ %d: індекс версії %d призначено для версії, на яку "
 "надійшов запит\n"
 
-#: src/elflint.c:3080
+#: src/elflint.c:3091
 #, c-format
 msgid "more than one version reference section present\n"
 msgstr "виявлено більше за один розділ посилань на версії\n"
 
-#: src/elflint.c:3088 src/elflint.c:3235
+#: src/elflint.c:3099 src/elflint.c:3246
 #, c-format
 msgid "section [%2d] '%s': sh_link does not link to string table\n"
 msgstr "розділ [%2d] «%s»: sh_link не посилається на таблицю рядків\n"
 
-#: src/elflint.c:3113 src/elflint.c:3289
+#: src/elflint.c:3124 src/elflint.c:3300
 #, c-format
 msgid "section [%2d] '%s': entry %d has wrong version %d\n"
 msgstr "розділ [%2d] «%s»: запис %d має помилкову версію %d\n"
 
-#: src/elflint.c:3120 src/elflint.c:3296
+#: src/elflint.c:3131 src/elflint.c:3307
 #, c-format
 msgid "section [%2d] '%s': entry %d has wrong offset of auxiliary data\n"
 msgstr ""
 "розділ [%2d] «%s»: запис %d містить помилкове зміщення у допоміжних даних\n"
 
-#: src/elflint.c:3130
+#: src/elflint.c:3141
 #, c-format
 msgid "section [%2d] '%s': entry %d has invalid file reference\n"
 msgstr "розділ [%2d] «%s»: запис %d містить некоректне посилання на файл\n"
 
-#: src/elflint.c:3138
+#: src/elflint.c:3149
 #, c-format
 msgid "section [%2d] '%s': entry %d references unknown dependency\n"
 msgstr "розділ [%2d] «%s»: запис %d посилається на невідому залежність\n"
 
-#: src/elflint.c:3150
+#: src/elflint.c:3161
 #, c-format
 msgid "section [%2d] '%s': auxiliary entry %d of entry %d has unknown flag\n"
 msgstr ""
 "розділ [%2d] «%s»: допоміжний запис %d запису %d позначено невідомим "
 "прапорцем\n"
 
-#: src/elflint.c:3158
+#: src/elflint.c:3169
 #, c-format
 msgid ""
 "section [%2d] '%s': auxiliary entry %d of entry %d has invalid name "
@@ -2719,7 +2725,7 @@
 "розділ [%2d] «%s»: допоміжний запис %d запису %d містить некоректне "
 "посилання на назву\n"
 
-#: src/elflint.c:3167
+#: src/elflint.c:3178
 #, c-format
 msgid ""
 "section [%2d] '%s': auxiliary entry %d of entry %d has wrong hash value: "
@@ -2728,7 +2734,7 @@
 "розділ [%2d] «%s»: допоміжний запис %d запису %d має помилкове значення "
 "хешу: %#x, мало бути %#x\n"
 
-#: src/elflint.c:3176
+#: src/elflint.c:3187
 #, c-format
 msgid ""
 "section [%2d] '%s': auxiliary entry %d of entry %d has duplicate version "
@@ -2737,7 +2743,7 @@
 "розділ [%2d] «%s»: допоміжний запис %d запису %d містить дублікати назви "
 "версії «%s»\n"
 
-#: src/elflint.c:3187
+#: src/elflint.c:3198
 #, c-format
 msgid ""
 "section [%2d] '%s': auxiliary entry %d of entry %d has wrong next field\n"
@@ -2745,13 +2751,13 @@
 "розділ [%2d] «%s»: допоміжний запис %d запису %d має помилкове наступне "
 "поле\n"
 
-#: src/elflint.c:3204 src/elflint.c:3380
+#: src/elflint.c:3215 src/elflint.c:3391
 #, c-format
 msgid "section [%2d] '%s': entry %d has invalid offset to next entry\n"
 msgstr ""
 "розділ [%2d] «%s»: запис %d має некоректне зміщення щодо наступного запису\n"
 
-#: src/elflint.c:3212 src/elflint.c:3388
+#: src/elflint.c:3223 src/elflint.c:3399
 #, c-format
 msgid ""
 "section [%2d] '%s': entry %d has zero offset to next entry, but sh_info says "
@@ -2760,44 +2766,44 @@
 "розділ [%2d] «%s»: запис %d має нульове зміщення щодо наступного запису, але "
 "за sh_info можна зрозуміти, що записів більше\n"
 
-#: src/elflint.c:3227
+#: src/elflint.c:3238
 #, c-format
 msgid "more than one version definition section present\n"
 msgstr "виявлено більше за один розділ визначення версій\n"
 
-#: src/elflint.c:3274
+#: src/elflint.c:3285
 #, c-format
 msgid "section [%2d] '%s': more than one BASE definition\n"
 msgstr "розділ [%2d] «%s»: повторне визначення BASE\n"
 
-#: src/elflint.c:3278
+#: src/elflint.c:3289
 #, c-format
 msgid "section [%2d] '%s': BASE definition must have index VER_NDX_GLOBAL\n"
 msgstr ""
 "розділ [%2d] «%s»: визначення BASE повинно мати індекс VER_NDX_GLOBAL\n"
 
-#: src/elflint.c:3284
+#: src/elflint.c:3295
 #, c-format
 msgid "section [%2d] '%s': entry %d has unknown flag\n"
 msgstr "розділ [%2d] «%s»: невідомий прапорець запису %d\n"
 
-#: src/elflint.c:3311
+#: src/elflint.c:3322
 #, c-format
 msgid "section [%2d] '%s': entry %d has invalid name reference\n"
 msgstr "розділ [%2d] «%s»: запис %d містить некоректне посилання на назву\n"
 
-#: src/elflint.c:3318
+#: src/elflint.c:3329
 #, c-format
 msgid "section [%2d] '%s': entry %d has wrong hash value: %#x, expected %#x\n"
 msgstr ""
 "розділ [%2d] «%s»: запис %d має помилкове значення хешу: %#x, мало бути %#x\n"
 
-#: src/elflint.c:3326
+#: src/elflint.c:3337
 #, c-format
 msgid "section [%2d] '%s': entry %d has duplicate version name '%s'\n"
 msgstr "розділ [%2d] «%s»: запис %d містить дублікати назви версії «%s»\n"
 
-#: src/elflint.c:3346
+#: src/elflint.c:3357
 #, c-format
 msgid ""
 "section [%2d] '%s': entry %d has invalid name reference in auxiliary data\n"
@@ -2805,53 +2811,53 @@
 "розділ [%2d] «%s»: запис %d містить некоректне посилання на назву у "
 "допоміжних даних\n"
 
-#: src/elflint.c:3363
+#: src/elflint.c:3374
 #, c-format
 msgid "section [%2d] '%s': entry %d has wrong next field in auxiliary data\n"
 msgstr ""
 "розділ [%2d] «%s»: у допоміжних даних запису %d міститься помилкове поле "
 "наступного запису\n"
 
-#: src/elflint.c:3396
+#: src/elflint.c:3407
 #, c-format
 msgid "section [%2d] '%s': no BASE definition\n"
 msgstr "розділ [%2d] «%s»: немає визначення BASE\n"
 
-#: src/elflint.c:3412
+#: src/elflint.c:3423
 #, c-format
 msgid "section [%2d] '%s': unknown parent version '%s'\n"
 msgstr "розділ [%2d] «%s»: невідома основна версія «%s»\n"
 
-#: src/elflint.c:3425
+#: src/elflint.c:3436
 #, c-format
 msgid "section [%2d] '%s': empty object attributes section\n"
 msgstr "розділ [%2d] «%s»: порожній розділ атрибутів об’єкта\n"
 
-#: src/elflint.c:3446
+#: src/elflint.c:3457
 #, c-format
 msgid "section [%2d] '%s': unrecognized attribute format\n"
 msgstr "розділ [%2d] «%s»: не вдалося визначити формат атрибутів\n"
 
-#: src/elflint.c:3462
+#: src/elflint.c:3473
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: zero length field in attribute section\n"
 msgstr ""
 "розділ [%2d] «%s»: зміщення %zu: поле нульового розміру у розділі атрибутів\n"
 
-#: src/elflint.c:3471
+#: src/elflint.c:3482
 #, c-format
 msgid "section [%2d] '%s': offset %zu: invalid length in attribute section\n"
 msgstr ""
 "розділ [%2d] «%s»: зміщення %zu: некоректна довжина у розділі атрибутів\n"
 
-#: src/elflint.c:3483
+#: src/elflint.c:3494
 #, c-format
 msgid "section [%2d] '%s': offset %zu: unterminated vendor name string\n"
 msgstr ""
 "розділ [%2d] «%s»: зміщення %zu: незавершений рядок назви постачальника\n"
 
-#: src/elflint.c:3500
+#: src/elflint.c:3511
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: endless ULEB128 in attribute subsection tag\n"
@@ -2859,12 +2865,12 @@
 "розділ [%2d] «%s»: зміщення %zu: незавершене поле ULEB128 у тезі підрозділу "
 "атрибутів\n"
 
-#: src/elflint.c:3509
+#: src/elflint.c:3520
 #, c-format
 msgid "section [%2d] '%s': offset %zu: truncated attribute section\n"
 msgstr "розділ [%2d] «%s»: зміщення %zu: обрізаний розділ атрибутів\n"
 
-#: src/elflint.c:3518
+#: src/elflint.c:3529
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: zero length field in attribute subsection\n"
@@ -2872,7 +2878,7 @@
 "розділ [%2d] «%s»: зміщення %zu: поле нульового розміру у підрозділі "
 "атрибутів\n"
 
-#: src/elflint.c:3533
+#: src/elflint.c:3544
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: invalid length in attribute subsection\n"
@@ -2880,7 +2886,7 @@
 "розділ [%2d] «%s»: зміщення %zu: некоректна довжина у підрозділі атрибутів\n"
 
 #. Tag_File
-#: src/elflint.c:3544
+#: src/elflint.c:3555
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: attribute subsection has unexpected tag %u\n"
@@ -2888,35 +2894,35 @@
 "розділ [%2d] «%s»: зміщення %zu: підрозділ атрибутів містить неочікуваний "
 "теґ %u\n"
 
-#: src/elflint.c:3562
+#: src/elflint.c:3573
 #, c-format
 msgid "section [%2d] '%s': offset %zu: endless ULEB128 in attribute tag\n"
 msgstr ""
 "розділ [%2d] «%s»: зміщення %zu: незавершене поле ULEB128 у тезі атрибуту\n"
 
-#: src/elflint.c:3573
+#: src/elflint.c:3584
 #, c-format
 msgid "section [%2d] '%s': offset %zu: unterminated string in attribute\n"
 msgstr "розділ [%2d] «%s»: зміщення %zu: незавершений рядок у атрибуті\n"
 
-#: src/elflint.c:3586
+#: src/elflint.c:3597
 #, c-format
 msgid "section [%2d] '%s': offset %zu: unrecognized attribute tag %u\n"
 msgstr "розділ [%2d] «%s»: зміщення %zu: незавершений теґ атрибуту %u\n"
 
-#: src/elflint.c:3590
+#: src/elflint.c:3601
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: unrecognized %s attribute value %<PRIu64>\n"
 msgstr ""
 "розділ [%2d] «%s»: зміщення %zu: невідоме значення %s атрибуту %<PRIu64>\n"
 
-#: src/elflint.c:3600
+#: src/elflint.c:3611
 #, c-format
 msgid "section [%2d] '%s': offset %zu: vendor '%s' unknown\n"
 msgstr "розділ [%2d] «%s»: зміщення %zu: невідомий постачальник «%s»\n"
 
-#: src/elflint.c:3606
+#: src/elflint.c:3617
 #, c-format
 msgid ""
 "section [%2d] '%s': offset %zu: extra bytes after last attribute section\n"
@@ -2924,47 +2930,47 @@
 "розділ [%2d] «%s»: зміщення %zu: зайві байти після останнього розділу "
 "атрибутів\n"
 
-#: src/elflint.c:3695
+#: src/elflint.c:3714
 #, c-format
 msgid "cannot get section header of zeroth section\n"
 msgstr "не вдалося отримати заголовок нульового розділу\n"
 
-#: src/elflint.c:3699
+#: src/elflint.c:3718
 #, c-format
 msgid "zeroth section has nonzero name\n"
 msgstr "нульовий розділ має ненульову назву\n"
 
-#: src/elflint.c:3701
+#: src/elflint.c:3720
 #, c-format
 msgid "zeroth section has nonzero type\n"
 msgstr "нульовий розділ має ненульовий тип\n"
 
-#: src/elflint.c:3703
+#: src/elflint.c:3722
 #, c-format
 msgid "zeroth section has nonzero flags\n"
 msgstr "нульовий розділ має ненульові прапорці\n"
 
-#: src/elflint.c:3705
+#: src/elflint.c:3724
 #, c-format
 msgid "zeroth section has nonzero address\n"
 msgstr "нульовий розділ має ненульову адресу\n"
 
-#: src/elflint.c:3707
+#: src/elflint.c:3726
 #, c-format
 msgid "zeroth section has nonzero offset\n"
 msgstr "нульовий розділ має ненульове зміщення\n"
 
-#: src/elflint.c:3709
+#: src/elflint.c:3728
 #, c-format
 msgid "zeroth section has nonzero align value\n"
 msgstr "нульовий розділ має ненульове значення вирівнювання\n"
 
-#: src/elflint.c:3711
+#: src/elflint.c:3730
 #, c-format
 msgid "zeroth section has nonzero entry size value\n"
 msgstr "нульовий розділ має ненульове значення розміру запису\n"
 
-#: src/elflint.c:3714
+#: src/elflint.c:3733
 #, c-format
 msgid ""
 "zeroth section has nonzero size value while ELF header has nonzero shnum "
@@ -2973,7 +2979,7 @@
 "нульовий розділ має ненульове значення розміру, хоча заголовок ELF ман "
 "ненульове значення shnum\n"
 
-#: src/elflint.c:3718
+#: src/elflint.c:3737
 #, c-format
 msgid ""
 "zeroth section has nonzero link value while ELF header does not signal "
@@ -2982,7 +2988,7 @@
 "нульовий розділ має ненульове значення компонування, хоча у заголовку ELF "
 "немає сигналу переповнення у shstrndx\n"
 
-#: src/elflint.c:3722
+#: src/elflint.c:3741
 #, c-format
 msgid ""
 "zeroth section has nonzero link value while ELF header does not signal "
@@ -2991,28 +2997,28 @@
 "нульовий розділ має ненульове значення компонування, хоча у заголовку ELF "
 "немає сигналу переповнення у phnum\n"
 
-#: src/elflint.c:3740
+#: src/elflint.c:3759
 #, c-format
 msgid "cannot get section header for section [%2zu] '%s': %s\n"
 msgstr "не вдалося отримати заголовок розділу [%2zu] «%s»: %s\n"
 
-#: src/elflint.c:3749
+#: src/elflint.c:3768
 #, c-format
 msgid "section [%2zu]: invalid name\n"
 msgstr "розділ [%2zu]: некоректна назва\n"
 
-#: src/elflint.c:3776
+#: src/elflint.c:3795
 #, c-format
 msgid "section [%2d] '%s' has wrong type: expected %s, is %s\n"
 msgstr ""
 "розділ [%2d] «%s» належить до помилкового типу: мав бути %s, маємо %s\n"
 
-#: src/elflint.c:3794
+#: src/elflint.c:3812
 #, c-format
 msgid "section [%2zu] '%s' has wrong flags: expected %s, is %s\n"
 msgstr "розділ [%2zu] «%s» має помилкові прапорці: мало бути %s, маємо %s\n"
 
-#: src/elflint.c:3812
+#: src/elflint.c:3830
 #, c-format
 msgid ""
 "section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n"
@@ -3020,12 +3026,12 @@
 "розділ [%2zu] «%s» має помилкові прапорці: мало бути %s, можливо, %s, але "
 "маємо %s\n"
 
-#: src/elflint.c:3830
+#: src/elflint.c:3847
 #, c-format
 msgid "section [%2zu] '%s' present in object file\n"
 msgstr "у об’єктному файлі виявлено розділ [%2zu] «%s»\n"
 
-#: src/elflint.c:3836 src/elflint.c:3868
+#: src/elflint.c:3853 src/elflint.c:3885
 #, c-format
 msgid ""
 "section [%2zu] '%s' has SHF_ALLOC flag set but there is no loadable segment\n"
@@ -3033,7 +3039,7 @@
 "у розділ [%2zu] «%s» встановлено прапорець SHF_ALLOC, але немає придатного "
 "до завантаження сегмента\n"
 
-#: src/elflint.c:3841 src/elflint.c:3873
+#: src/elflint.c:3858 src/elflint.c:3890
 #, c-format
 msgid ""
 "section [%2zu] '%s' has SHF_ALLOC flag not set but there are loadable "
@@ -3042,7 +3048,7 @@
 "у розділі [%2zu] «%s» не встановлено прапорець SHF_ALLOC, але є придатні до "
 "завантаження сегменти\n"
 
-#: src/elflint.c:3849
+#: src/elflint.c:3866
 #, c-format
 msgid ""
 "section [%2zu] '%s' is extension section index table in non-object file\n"
@@ -3050,22 +3056,22 @@
 "розділ [%2zu] «%s» є таблицею-покажчиком розділу розширень у файлі, який не "
 "є об’єктним\n"
 
-#: src/elflint.c:3892
+#: src/elflint.c:3909
 #, c-format
 msgid "section [%2zu] '%s': size not multiple of entry size\n"
 msgstr "розділ [%2zu] «%s»: розмір не є кратним до розміру запису\n"
 
-#: src/elflint.c:3897
+#: src/elflint.c:3914
 #, c-format
 msgid "cannot get section header\n"
 msgstr "не вдалося отримати заголовок розділу\n"
 
-#: src/elflint.c:3907
+#: src/elflint.c:3924
 #, c-format
 msgid "section [%2zu] '%s' has unsupported type %d\n"
 msgstr "розділ [%2zu] «%s» належить до непідтримуваного типу %d\n"
 
-#: src/elflint.c:3922
+#: src/elflint.c:3944
 #, c-format
 msgid ""
 "section [%2zu] '%s' contains invalid processor-specific flag(s) %#<PRIx64>\n"
@@ -3073,74 +3079,74 @@
 "розділ [%2zu] «%s» містить некоректні специфічні для процесора прапорці "
 "%#<PRIx64>\n"
 
-#: src/elflint.c:3929
+#: src/elflint.c:3954
 #, c-format
 msgid "section [%2zu] '%s' contains unknown flag(s) %#<PRIx64>\n"
 msgstr "розділ [%2zu] «%s» містить невідомі прапорці %#<PRIx64>\n"
 
-#: src/elflint.c:3937
+#: src/elflint.c:3962
 #, c-format
 msgid "section [%2zu] '%s': thread-local data sections address not zero\n"
 msgstr ""
 "розділ [%2zu] «%s»: адреса розділів локальних даних потоків не є нульовою\n"
 
-#: src/elflint.c:3947
-#, fuzzy, c-format
+#: src/elflint.c:3972
+#, c-format
 msgid "section [%2zu] '%s': allocated section cannot be compressed\n"
 msgstr ""
-"розділ [%2zu] «%s»: адреса розділів локальних даних потоків не є нульовою\n"
+"розділ [%2zu] «%s»: розміщений у пам'яті розділ не може бути стиснений\n"
 
-#: src/elflint.c:3952
-#, fuzzy, c-format
+#: src/elflint.c:3977
+#, c-format
 msgid "section [%2zu] '%s': nobits section cannot be compressed\n"
-msgstr "розділ [%2d] «%s»: не виявлено розділу хешів\n"
+msgstr "розділ [%2zu] «%s»: розділ nobits не може бути стиснений\n"
 
-#: src/elflint.c:3958
-#, fuzzy, c-format
+#: src/elflint.c:3983
+#, c-format
 msgid ""
 "section [%2zu] '%s': compressed section with no compression header: %s\n"
-msgstr "розділ [%2d] «%s»: група розділів, що містить лише один елемент\n"
+msgstr "розділ [%2zu] «%s»: стиснений розділ без заголовка стиснення: %s\n"
 
-#: src/elflint.c:3964
+#: src/elflint.c:3989
 #, c-format
 msgid "section [%2zu] '%s': invalid section reference in link value\n"
 msgstr ""
 "розділ [%2zu] «%s»: некоректне посилання на розділ у значенні компонування\n"
 
-#: src/elflint.c:3969
+#: src/elflint.c:3994
 #, c-format
 msgid "section [%2zu] '%s': invalid section reference in info value\n"
 msgstr ""
 "розділ [%2zu] «%s»: некоректне посилання на розділ у значенні відомостей\n"
 
-#: src/elflint.c:3976
+#: src/elflint.c:4001
 #, c-format
 msgid "section [%2zu] '%s': strings flag set without merge flag\n"
 msgstr "розділ [%2zu] «%s»: встановлено прапорець strings без прапорця merge\n"
 
-#: src/elflint.c:3981
+#: src/elflint.c:4006
 #, c-format
 msgid "section [%2zu] '%s': merge flag set but entry size is zero\n"
 msgstr ""
 "розділ [%2zu] «%s»: встановлено прапорець merge, але розмір запису є "
 "нульовим\n"
 
-#: src/elflint.c:4000
+#: src/elflint.c:4025
 #, c-format
 msgid "section [%2zu] '%s' has unexpected type %d for an executable section\n"
 msgstr "розділ [%2zu] «%s» має неочікуваний тип %d для виконуваного розділу\n"
 
-#: src/elflint.c:4009
-#, fuzzy, c-format
+#: src/elflint.c:4034
+#, c-format
 msgid "section [%2zu] '%s' must be of type NOBITS in debuginfo files\n"
-msgstr "розділ [%2zu] «%s» не повинен бути придатним до запису\n"
+msgstr "розділ [%2zu] «%s» у файлах debuginfo має належати до типу NOBITS\n"
 
-#: src/elflint.c:4016
+#: src/elflint.c:4041
 #, c-format
 msgid "section [%2zu] '%s' is both executable and writable\n"
 msgstr "розділ [%2zu] «%s» є одночасно виконуваним і придатним до запису\n"
 
-#: src/elflint.c:4047
+#: src/elflint.c:4072
 #, c-format
 msgid ""
 "section [%2zu] '%s' not fully contained in segment of program header entry "
@@ -3149,7 +3155,7 @@
 "розділ [%2zu] «%s» не повністю міститься у сегменті запису заголовка "
 "програми %d\n"
 
-#: src/elflint.c:4057
+#: src/elflint.c:4082
 #, c-format
 msgid ""
 "section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
@@ -3158,7 +3164,7 @@
 "розділ [%2zu] «%s» належить до типу NOBITS, але його читання виконується з "
 "файла у сегментів запису заголовка програми %d\n"
 
-#: src/elflint.c:4083
+#: src/elflint.c:4108
 #, c-format
 msgid ""
 "section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
@@ -3167,7 +3173,7 @@
 "розділ [%2zu] «%s» належить до типу NOBITS, але його читання виконується з "
 "файла у сегментів запису заголовка програми %d, а вміст файла є ненульовим\n"
 
-#: src/elflint.c:4094
+#: src/elflint.c:4119
 #, c-format
 msgid ""
 "section [%2zu] '%s' has not type NOBITS but is not read from the file in "
@@ -3176,19 +3182,19 @@
 "розділ [%2zu] «%s» не належить до типу NOBITS, але його читання не "
 "виконується з файла у сегментів запису заголовка програми %d\n"
 
-#: src/elflint.c:4105
+#: src/elflint.c:4130
 #, c-format
 msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n"
 msgstr "розділ [%2zu] «%s» є виконуваним у невиконуваному сегменті %d\n"
 
-#: src/elflint.c:4115
+#: src/elflint.c:4140
 #, c-format
 msgid "section [%2zu] '%s' is writable in unwritable segment %d\n"
 msgstr ""
 "розділ [%2zu] «%s» є придатним до запису у непридатному до запису сегменті "
 "%d\n"
 
-#: src/elflint.c:4125
+#: src/elflint.c:4150
 #, c-format
 msgid ""
 "section [%2zu] '%s': alloc flag set but section not in any loaded segment\n"
@@ -3196,7 +3202,7 @@
 "розділ [%2zu] «%s»: встановлено прапорець alloc, але розділ не перебуває у "
 "жодному завантаженому сегменті\n"
 
-#: src/elflint.c:4131
+#: src/elflint.c:4156
 #, c-format
 msgid ""
 "section [%2zu] '%s': ELF header says this is the section header string table "
@@ -3205,7 +3211,7 @@
 "розділ [%2zu] «%s»: заголовок ELF повідомляє про те, що це таблиця рядків "
 "заголовка розділу, але ця таблиця не належить до типу SHT_TYPE\n"
 
-#: src/elflint.c:4139
+#: src/elflint.c:4164
 #, c-format
 msgid ""
 "section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n"
@@ -3213,17 +3219,17 @@
 "розділ [%2zu] «%s»: придатні до пересування файли не можуть містити "
 "динамічних таблиць символів\n"
 
-#: src/elflint.c:4190
+#: src/elflint.c:4215
 #, c-format
 msgid "more than one version symbol table present\n"
 msgstr "виявлено більше за одну таблицю символів версій\n"
 
-#: src/elflint.c:4213
+#: src/elflint.c:4238
 #, c-format
 msgid "INTERP program header entry but no .interp section\n"
 msgstr "існує запис заголовка програми INTERP, але не розділ .interp\n"
 
-#: src/elflint.c:4224
+#: src/elflint.c:4249
 #, c-format
 msgid ""
 "loadable segment [%u] is executable but contains no executable sections\n"
@@ -3231,14 +3237,14 @@
 "придатний до завантаження сегмент [%u] є виконуваним, але не містить "
 "виконуваних розділів\n"
 
-#: src/elflint.c:4230
+#: src/elflint.c:4255
 #, c-format
 msgid "loadable segment [%u] is writable but contains no writable sections\n"
 msgstr ""
 "придатний до завантаження розділ [%u] є придатним до запису, але не містить "
 "придатних до запису розділів\n"
 
-#: src/elflint.c:4241
+#: src/elflint.c:4266
 #, c-format
 msgid ""
 "no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section "
@@ -3247,24 +3253,24 @@
 "немає розділу .gnu.versym, хоча існує розділ .gnu.versym_d або .gnu."
 "versym_r\n"
 
-#: src/elflint.c:4254
+#: src/elflint.c:4279
 #, c-format
 msgid "duplicate version index %d\n"
 msgstr "дублікат індексу версії %d\n"
 
-#: src/elflint.c:4268
+#: src/elflint.c:4293
 #, c-format
 msgid ".gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n"
 msgstr ""
 "існує розділ .gnu.versym, але немає розділу .gnu.versym_d або .gnu.versym_r\n"
 
-#: src/elflint.c:4317
+#: src/elflint.c:4342
 #, c-format
 msgid "phdr[%d]: unknown core file note type %<PRIu32> at offset %<PRIu64>\n"
 msgstr ""
 "phdr[%d]: невідомий тип нотатки файла core %<PRIu32> за зміщенням %<PRIu64>\n"
 
-#: src/elflint.c:4321
+#: src/elflint.c:4346
 #, c-format
 msgid ""
 "section [%2d] '%s': unknown core file note type %<PRIu32> at offset %zu\n"
@@ -3272,56 +3278,57 @@
 "розділ [%2d] «%s»: невідомий тип нотатки файла core %<PRIu32> за зміщенням "
 "%zu\n"
 
-#: src/elflint.c:4370
-#, fuzzy, c-format
+#: src/elflint.c:4395
+#, c-format
 msgid ""
 "phdr[%d]: unknown object file note type %<PRIu32> with owner name '%s' at "
 "offset %zu\n"
 msgstr ""
-"phdr[%d]: невідомий тип нотатки об’єктного файла %<PRIu32> за зміщенням %zu\n"
+"phdr[%d]: невідомий тип нотатки у файлі об'єктів, %<PRIu32>, із іменем "
+"власника «%s» за зміщенням %zu\n"
 
-#: src/elflint.c:4375
-#, fuzzy, c-format
+#: src/elflint.c:4400
+#, c-format
 msgid ""
 "section [%2d] '%s': unknown object file note type %<PRIu32> with owner name "
 "'%s' at offset %zu\n"
 msgstr ""
-"розділ [%2d] «%s»: невідомий тип нотатки об’єктного файла %<PRIu32> за "
-"зміщенням %zu\n"
+"розділ [%2d] «%s»: невідомий тип нотатки у файлі об'єктів, %<PRIu32>, із "
+"іменем власника «%s» за зміщенням %zu\n"
 
-#: src/elflint.c:4394
+#: src/elflint.c:4419
 #, c-format
 msgid "phdr[%d]: no note entries defined for the type of file\n"
 msgstr "phdr[%d]: для цього типу файлів не визначено записів нотаток\n"
 
-#: src/elflint.c:4414
+#: src/elflint.c:4439
 #, c-format
 msgid "phdr[%d]: cannot get content of note section: %s\n"
 msgstr "phdr[%d]: не вдалося отримати вміст розділу нотаток: %s\n"
 
-#: src/elflint.c:4417
+#: src/elflint.c:4442
 #, c-format
 msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n"
 msgstr "phdr[%d]: зайві %<PRIu64> байтів після останнього запису нотатки\n"
 
-#: src/elflint.c:4438
+#: src/elflint.c:4463
 #, c-format
 msgid "section [%2d] '%s': no note entries defined for the type of file\n"
 msgstr ""
 "розділ [%2d] «%s»: для цього типу файлів не визначено записів нотаток\n"
 
-#: src/elflint.c:4445
+#: src/elflint.c:4470
 #, c-format
 msgid "section [%2d] '%s': cannot get content of note section\n"
 msgstr "розділ [%2d] «%s»: не вдалося отримати вміст розділу нотаток\n"
 
-#: src/elflint.c:4448
+#: src/elflint.c:4473
 #, c-format
 msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n"
 msgstr ""
 "розділ [%2d] «%s»: додаткові %<PRIu64> байтів після останньої нотатки\n"
 
-#: src/elflint.c:4466
+#: src/elflint.c:4491
 #, c-format
 msgid ""
 "only executables, shared objects, and core files can have program headers\n"
@@ -3329,141 +3336,143 @@
 "заголовки програм можуть бути лише у виконуваних файлів, об’єктних файлів "
 "спільного використання або файлів core\n"
 
-#: src/elflint.c:4481
+#: src/elflint.c:4506
 #, c-format
 msgid "cannot get program header entry %d: %s\n"
 msgstr "не вдалося отримати запис заголовка програми %d: %s\n"
 
-#: src/elflint.c:4490
+#: src/elflint.c:4516
 #, c-format
 msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n"
 msgstr ""
 "запис заголовка програми %d: невідомий тип запису заголовка програми "
 "%#<PRIx64>\n"
 
-#: src/elflint.c:4501
+#: src/elflint.c:4527
 #, c-format
 msgid "more than one INTERP entry in program header\n"
 msgstr "більше за один запис INTERP у заголовку програми\n"
 
-#: src/elflint.c:4509
+#: src/elflint.c:4535
 #, c-format
 msgid "more than one TLS entry in program header\n"
 msgstr "більше за один запис TLS у заголовку програми\n"
 
-#: src/elflint.c:4516
+#: src/elflint.c:4542
 #, c-format
 msgid "static executable cannot have dynamic sections\n"
 msgstr "у статичному виконуваному файлі не може бути динамічних розділів\n"
 
-#: src/elflint.c:4530
+#: src/elflint.c:4556
 #, c-format
 msgid "dynamic section reference in program header has wrong offset\n"
 msgstr ""
 "посилання на динамічний розділ у заголовку програми має помилкове зміщення\n"
 
-#: src/elflint.c:4533
+#: src/elflint.c:4559
 #, c-format
 msgid "dynamic section size mismatch in program and section header\n"
 msgstr ""
 "розміри динамічного розділу у заголовку програми та у заголовку розділу не "
 "збігаються\n"
 
-#: src/elflint.c:4543
+#: src/elflint.c:4569
 #, c-format
 msgid "more than one GNU_RELRO entry in program header\n"
 msgstr "більше за один запис GNU_RELRO у заголовку програми\n"
 
-#: src/elflint.c:4564
+#: src/elflint.c:4590
 #, c-format
 msgid "loadable segment GNU_RELRO applies to is not writable\n"
 msgstr ""
 "придатний до завантаження сегмент, до якого звертається GNU_RELRO, "
 "непридатний до запису\n"
 
-#: src/elflint.c:4575
+#: src/elflint.c:4601
 #, c-format
 msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n"
 msgstr ""
 "прапорці придатного до завантаження сегмента [%u] не відповідають прапорцям "
 "GNU_RELRO [%u]\n"
 
-#: src/elflint.c:4582
+#: src/elflint.c:4608
 #, c-format
 msgid ""
 "GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n"
 msgstr ""
+"прапорці GNU_RELRO [%u] не є підмножиною прапорців завантажуваного сегмента "
+"[%u]\n"
 
-#: src/elflint.c:4591 src/elflint.c:4614
+#: src/elflint.c:4617 src/elflint.c:4640
 #, c-format
 msgid "%s segment not contained in a loaded segment\n"
 msgstr "сегмент %s не міститься у завантаженому сегменті\n"
 
-#: src/elflint.c:4620
+#: src/elflint.c:4646
 #, c-format
 msgid "program header offset in ELF header and PHDR entry do not match"
 msgstr "зміщення заголовка програми у заголовку ELF і запис PHDR не збігаються"
 
-#: src/elflint.c:4647
+#: src/elflint.c:4673
 #, c-format
 msgid "call frame search table reference in program header has wrong offset\n"
 msgstr ""
 "посилання на таблицю вікон викликів у заголовку програми має помилкове "
 "зміщення\n"
 
-#: src/elflint.c:4650
+#: src/elflint.c:4676
 #, c-format
 msgid "call frame search table size mismatch in program and section header\n"
 msgstr ""
 "розміри таблиці пошуку вікон виклику у заголовку програми та у заголовку "
 "розділу не збігаються\n"
 
-#: src/elflint.c:4663
+#: src/elflint.c:4689
 #, c-format
 msgid "PT_GNU_EH_FRAME present but no .eh_frame_hdr section\n"
 msgstr "існує PT_GNU_EH_FRAME, хоча немає розділу .eh_frame_hdr\n"
 
-#: src/elflint.c:4671
+#: src/elflint.c:4697
 #, c-format
 msgid "call frame search table must be allocated\n"
 msgstr "таблицю пошуку вікон викликів має бути розміщено у пам’яті\n"
 
-#: src/elflint.c:4674
+#: src/elflint.c:4700
 #, c-format
 msgid "section [%2zu] '%s' must be allocated\n"
 msgstr "розділ [%2zu] «%s» має бути розміщено у пам’яті\n"
 
-#: src/elflint.c:4678
+#: src/elflint.c:4704
 #, c-format
 msgid "call frame search table must not be writable\n"
 msgstr "таблиця пошуку вікон викликів не повинна бути придатною до запису\n"
 
-#: src/elflint.c:4681
+#: src/elflint.c:4707
 #, c-format
 msgid "section [%2zu] '%s' must not be writable\n"
 msgstr "розділ [%2zu] «%s» не повинен бути придатним до запису\n"
 
-#: src/elflint.c:4686
+#: src/elflint.c:4712
 #, c-format
 msgid "call frame search table must not be executable\n"
 msgstr "таблиця пошуку вікон викликів не повинна бути придатною до виконання\n"
 
-#: src/elflint.c:4689
+#: src/elflint.c:4715
 #, c-format
 msgid "section [%2zu] '%s' must not be executable\n"
 msgstr "розділ [%2zu] «%s» не повинен бути придатним до виконання\n"
 
-#: src/elflint.c:4700
+#: src/elflint.c:4726
 #, c-format
 msgid "program header entry %d: file size greater than memory size\n"
 msgstr "запис заголовка програми %d: розмір файла перевищує об’єм пам’яті\n"
 
-#: src/elflint.c:4707
+#: src/elflint.c:4733
 #, c-format
 msgid "program header entry %d: alignment not a power of 2\n"
 msgstr "запис заголовка програми %d: значення вирівнювання не є степенем 2\n"
 
-#: src/elflint.c:4710
+#: src/elflint.c:4736
 #, c-format
 msgid ""
 "program header entry %d: file offset and virtual address not module of "
@@ -3472,7 +3481,7 @@
 "запис заголовка програми %d: зміщення у файлі і віртуальна адреса не "
 "співвідносяться з вирівнюванням\n"
 
-#: src/elflint.c:4723
+#: src/elflint.c:4749
 #, c-format
 msgid ""
 "executable/DSO with .eh_frame_hdr section does not have a PT_GNU_EH_FRAME "
@@ -3481,12 +3490,17 @@
 "виконуваний модуль/DSO з розділом .eh_frame_hdr не містить запису заголовка "
 "програми PT_GNU_EH_FRAME"
 
-#: src/elflint.c:4757
+#: src/elflint.c:4783
 #, c-format
 msgid "cannot read ELF header: %s\n"
 msgstr "не вдалося прочитати заголовок ELF: %s\n"
 
-#: src/elflint.c:4783
+#: src/elflint.c:4795
+#, fuzzy, c-format
+msgid "cannot create backend for ELF file\n"
+msgstr "не вдалося створити файл"
+
+#: src/elflint.c:4816
 #, c-format
 msgid "text relocation flag set but not needed\n"
 msgstr ""
@@ -3668,7 +3682,7 @@
 msgid "Print size of defined symbols"
 msgstr "Вивести розмір визначених символів"
 
-#: src/nm.c:91 src/size.c:68 src/strip.c:75 src/unstrip.c:73
+#: src/nm.c:91 src/size.c:68 src/strip.c:75 src/unstrip.c:69
 msgid "Output options:"
 msgstr "Параметри виводу:"
 
@@ -3703,12 +3717,12 @@
 msgstr "%s: ВНУТРІШНЯ ПОМИЛКА %d (%s): %s"
 
 #: src/nm.c:381 src/nm.c:393 src/size.c:288 src/size.c:297 src/size.c:308
-#: src/strip.c:2748
+#: src/strip.c:2763
 #, c-format
 msgid "while closing '%s'"
 msgstr "під час закриття «%s»"
 
-#: src/nm.c:403 src/objdump.c:280 src/strip.c:797
+#: src/nm.c:403 src/objdump.c:280 src/strip.c:818
 #, c-format
 msgid "%s: File format not recognized"
 msgstr "%s: не вдалося розпізнати формат файла"
@@ -3747,13 +3761,13 @@
 msgid "cannot create search tree"
 msgstr "не вдалося створити дерево пошуку"
 
-#: src/nm.c:746 src/nm.c:1205 src/objdump.c:779 src/readelf.c:635
-#: src/readelf.c:1447 src/readelf.c:1598 src/readelf.c:1799 src/readelf.c:2005
-#: src/readelf.c:2195 src/readelf.c:2373 src/readelf.c:2449 src/readelf.c:2707
-#: src/readelf.c:2783 src/readelf.c:2870 src/readelf.c:3468 src/readelf.c:3518
-#: src/readelf.c:3581 src/readelf.c:11230 src/readelf.c:12415
-#: src/readelf.c:12626 src/readelf.c:12695 src/size.c:398 src/size.c:470
-#: src/strip.c:1038
+#: src/nm.c:746 src/nm.c:1239 src/objdump.c:782 src/readelf.c:637
+#: src/readelf.c:1451 src/readelf.c:1602 src/readelf.c:1803 src/readelf.c:2009
+#: src/readelf.c:2199 src/readelf.c:2377 src/readelf.c:2453 src/readelf.c:2711
+#: src/readelf.c:2787 src/readelf.c:2874 src/readelf.c:3472 src/readelf.c:3522
+#: src/readelf.c:3592 src/readelf.c:11328 src/readelf.c:12523
+#: src/readelf.c:12734 src/readelf.c:12803 src/size.c:398 src/size.c:470
+#: src/strip.c:1084
 #, c-format
 msgid "cannot get section header string table index"
 msgstr "не вдалося визначити індекс заголовка розділу у таблиці рядків"
@@ -3782,28 +3796,28 @@
 "%*s%-*s %-*s Клас   Тип      %-*s %*s Розділ\n"
 "\n"
 
-#: src/nm.c:1216
+#: src/nm.c:1250
 #, c-format
 msgid "%s: entry size in section %zd `%s' is not what we expect"
 msgstr "%s: розмір запису у розділі %zd «%s» не є очікуваним"
 
-#: src/nm.c:1221
+#: src/nm.c:1255
 #, c-format
 msgid "%s: size of section %zd `%s' is not multiple of entry size"
 msgstr "%s: розмір розділу %zd «%s» не є кратним до розміру запису"
 
-#: src/nm.c:1300
-#, fuzzy, c-format
+#: src/nm.c:1334
+#, c-format
 msgid "%s: entries (%zd) in section %zd `%s' is too large"
-msgstr "%s: розмір запису у розділі %zd «%s» не є очікуваним"
+msgstr "%s: записи (%zd) у розділі %zd, «%s» є завеликим"
 
 #. XXX Add machine specific object file types.
-#: src/nm.c:1527
+#: src/nm.c:1570
 #, c-format
 msgid "%s%s%s%s: Invalid operation"
 msgstr "%s%s%s%s: некоректна дія"
 
-#: src/nm.c:1584
+#: src/nm.c:1620
 #, c-format
 msgid "%s%s%s: no symbols"
 msgstr "%s%s%s: немає символів"
@@ -3837,7 +3851,7 @@
 msgid "Show information from FILEs (a.out by default)."
 msgstr "Показати інформацію з ФАЙЛів (типово a.out)."
 
-#: src/objdump.c:218 src/readelf.c:580
+#: src/objdump.c:218 src/readelf.c:582
 msgid "No operation specified.\n"
 msgstr "Не вказано дії.\n"
 
@@ -3846,11 +3860,11 @@
 msgid "while close `%s'"
 msgstr "під час закриття «%s»"
 
-#: src/objdump.c:363 src/readelf.c:2100 src/readelf.c:2292
+#: src/objdump.c:363 src/readelf.c:2104 src/readelf.c:2296
 msgid "INVALID SYMBOL"
 msgstr "НЕКОРЕКТНИЙ СИМВОЛ"
 
-#: src/objdump.c:378 src/readelf.c:2134 src/readelf.c:2328
+#: src/objdump.c:378 src/readelf.c:2138 src/readelf.c:2332
 msgid "INVALID SECTION"
 msgstr "НЕКОРЕКТНИЙ РОЗДІЛ"
 
@@ -3879,6 +3893,11 @@
 msgid "cannot disassemble"
 msgstr "не вдалося дизасемблювати"
 
+#: src/objdump.c:760
+#, fuzzy, c-format
+msgid "cannot create backend for elf file"
+msgstr "не вдалося створити файл"
+
 #. Short description of program.
 #: src/ranlib.c:63
 msgid "Generate an index to speed access to archives."
@@ -3920,6 +3939,8 @@
 "Used with -w to find the skeleton Compile Units in FILE associated with the "
 "Split Compile units in a .dwo input file"
 msgstr ""
+"Використовується з -w для пошуку основи компільованих модулів у ФАЙЛі, "
+"пов'язаному із модулями розділеної компіляції у вхідному файлі .dwo"
 
 #: src/readelf.c:104
 msgid "ELF output selection:"
@@ -3950,23 +3971,20 @@
 msgstr "Показувати пересування"
 
 #: src/readelf.c:114
-#, fuzzy
 msgid "Display the section groups"
-msgstr "Показувати заголовки розділів"
+msgstr "Показувати групи розділів"
 
 #: src/readelf.c:115
 msgid "Display the sections' headers"
 msgstr "Показувати заголовки розділів"
 
 #: src/readelf.c:118
-#, fuzzy
 msgid "Display the symbol table sections"
-msgstr "Показувати таблицю символів"
+msgstr "Показати розділи таблиці символів"
 
 #: src/readelf.c:120
-#, fuzzy
 msgid "Display (only) the dynamic symbol table"
-msgstr "Показувати лише зовнішні символи"
+msgstr "Показувати (лише) динамічну таблицю символів"
 
 #: src/readelf.c:121
 msgid "Display versioning information"
@@ -3989,15 +4007,14 @@
 msgstr "Додатковий вибір виводу:"
 
 #: src/readelf.c:130
-#, fuzzy
 msgid ""
 "Display DWARF section content.  SECTION can be one of abbrev, addr, aranges, "
 "decodedaranges, frame, gdb_index, info, info+, loc, line, decodedline, "
 "ranges, pubnames, str, macinfo, macro or exception"
 msgstr ""
-"Показати вміст розділу DWARF. Значенням РОЗДІЛ може бути abbrev, aranges, "
-"decodedaranges, frame, gdb_index, info, loc, line, decodedline, ranges, "
-"pubnames, str, macinfo, macro або exception"
+"Показати вміст розділу DWARF. Значенням РОЗДІЛ може бути abbrev, addr, "
+"aranges, decodedaranges, frame, gdb_index, info, info+, loc, line, "
+"decodedline, ranges, pubnames, str, macinfo, macro або exception"
 
 #: src/readelf.c:134
 msgid "Dump the uninterpreted contents of SECTION, by number or name"
@@ -4035,6 +4052,8 @@
 "Show compression information for compressed sections (when used with -S); "
 "decompress section before dumping data (when used with -p or -x)"
 msgstr ""
+"Показати дані щодо стискання для стиснених розділів (якщо використано з -S); "
+"розпакувати розділ до створення дампу даних (якщо використано з -p або -x)"
 
 #. Short description of program.
 #: src/readelf.c:154
@@ -4050,143 +4069,143 @@
 msgid "no"
 msgstr "ні"
 
-#: src/readelf.c:548
+#: src/readelf.c:550
 #, c-format
 msgid "Unknown DWARF debug section `%s'.\n"
 msgstr "Невідомий діагностичний розділ DWARF «%s».\n"
 
-#: src/readelf.c:619 src/readelf.c:730
+#: src/readelf.c:621 src/readelf.c:732
 #, c-format
 msgid "cannot generate Elf descriptor: %s"
 msgstr "не вдалося створити дескриптор Elf: %s"
 
-#: src/readelf.c:626 src/readelf.c:953 src/strip.c:1133
+#: src/readelf.c:628 src/readelf.c:955 src/strip.c:1179
 #, c-format
 msgid "cannot determine number of sections: %s"
 msgstr "не вдалося визначити кількість розділів: %s"
 
-#: src/readelf.c:644 src/readelf.c:1263 src/readelf.c:1471
+#: src/readelf.c:646 src/readelf.c:1265 src/readelf.c:1475
 #, c-format
 msgid "cannot get section: %s"
 msgstr "не вдалося отримати розділ: %s"
 
-#: src/readelf.c:653 src/readelf.c:1270 src/readelf.c:1479 src/readelf.c:12646
-#: src/unstrip.c:395 src/unstrip.c:426 src/unstrip.c:485 src/unstrip.c:604
-#: src/unstrip.c:625 src/unstrip.c:665 src/unstrip.c:881 src/unstrip.c:1212
-#: src/unstrip.c:1339 src/unstrip.c:1363 src/unstrip.c:1419 src/unstrip.c:1483
-#: src/unstrip.c:1658 src/unstrip.c:1809 src/unstrip.c:1952 src/unstrip.c:2051
+#: src/readelf.c:655 src/readelf.c:1272 src/readelf.c:1483 src/readelf.c:12754
+#: src/unstrip.c:397 src/unstrip.c:428 src/unstrip.c:487 src/unstrip.c:608
+#: src/unstrip.c:629 src/unstrip.c:669 src/unstrip.c:885 src/unstrip.c:1216
+#: src/unstrip.c:1343 src/unstrip.c:1367 src/unstrip.c:1423 src/unstrip.c:1487
+#: src/unstrip.c:1662 src/unstrip.c:1813 src/unstrip.c:1956 src/unstrip.c:2055
 #, c-format
 msgid "cannot get section header: %s"
 msgstr "не вдалося отримати заголовок розділу: %s"
 
-#: src/readelf.c:661
+#: src/readelf.c:663
 #, c-format
 msgid "cannot get section name"
 msgstr "не вдалося отримати назву розділу"
 
-#: src/readelf.c:670 src/readelf.c:6576 src/readelf.c:10502 src/readelf.c:10604
-#: src/readelf.c:10782
+#: src/readelf.c:672 src/readelf.c:6628 src/readelf.c:10600 src/readelf.c:10702
+#: src/readelf.c:10880
 #, c-format
 msgid "cannot get %s content: %s"
 msgstr "не вдалося отримати дані %s: %s"
 
-#: src/readelf.c:686
+#: src/readelf.c:688
 #, c-format
 msgid "cannot create temp file '%s'"
 msgstr "не вдалося створити файл тимчасових даних «%s»"
 
-#: src/readelf.c:695
+#: src/readelf.c:697
 #, c-format
 msgid "cannot write section data"
 msgstr "не вдалося записати дані розділу"
 
-#: src/readelf.c:701 src/readelf.c:718 src/readelf.c:747
+#: src/readelf.c:703 src/readelf.c:720 src/readelf.c:749
 #, c-format
 msgid "error while closing Elf descriptor: %s"
 msgstr "помилка під час спроби закриття дескриптора Elf: %s"
 
-#: src/readelf.c:708
+#: src/readelf.c:710
 #, c-format
 msgid "error while rewinding file descriptor"
 msgstr "помилка під час повернення до початкового значення дескриптора файла"
 
-#: src/readelf.c:742
+#: src/readelf.c:744
 #, c-format
 msgid "'%s' is not an archive, cannot print archive index"
 msgstr "«%s» не є архівом, виведення покажчика архіву неможливе"
 
-#: src/readelf.c:846
+#: src/readelf.c:848
 #, c-format
 msgid "cannot stat input file"
 msgstr "не вдалося отримати дані з вхідного файла за допомогою stat"
 
-#: src/readelf.c:848
+#: src/readelf.c:850
 #, c-format
 msgid "input file is empty"
 msgstr "вхідний файл є порожнім"
 
-#: src/readelf.c:850
+#: src/readelf.c:852
 #, c-format
 msgid "failed reading '%s': %s"
 msgstr "не вдалося прочитати «%s»: %s"
 
-#: src/readelf.c:879
+#: src/readelf.c:881
 #, c-format
 msgid "No such section '%s' in '%s'"
 msgstr "У «%2$s» немає розділу «%1$s»"
 
-#: src/readelf.c:938
+#: src/readelf.c:940
 #, c-format
 msgid "cannot read ELF header: %s"
 msgstr "не вдалося прочитати заголовок ELF: %s"
 
-#: src/readelf.c:946
+#: src/readelf.c:948
 #, c-format
 msgid "cannot create EBL handle"
 msgstr "не вдалося створити дескриптор EBL"
 
-#: src/readelf.c:959
+#: src/readelf.c:961
 #, c-format
 msgid "cannot determine number of program headers: %s"
 msgstr "не вдалося визначити кількість заголовків програми: %s"
 
-#: src/readelf.c:991
-#, fuzzy, c-format
+#: src/readelf.c:993
+#, c-format
 msgid "cannot read ELF: %s"
-msgstr "не вдалося прочитати %s: %s"
+msgstr "не вдалося прочитати ELF: %s"
 
-#: src/readelf.c:1052
+#: src/readelf.c:1054
 msgid "NONE (None)"
 msgstr "NONE (Немає)"
 
-#: src/readelf.c:1053
+#: src/readelf.c:1055
 msgid "REL (Relocatable file)"
 msgstr "REL (Придатний до пересування файл)"
 
-#: src/readelf.c:1054
+#: src/readelf.c:1056
 msgid "EXEC (Executable file)"
 msgstr "EXEC (Виконуваний файл)"
 
-#: src/readelf.c:1055
+#: src/readelf.c:1057
 msgid "DYN (Shared object file)"
 msgstr "DYN (Файл об’єктів спільного використання)"
 
-#: src/readelf.c:1056
+#: src/readelf.c:1058
 msgid "CORE (Core file)"
 msgstr "CORE (Файл ядра)"
 
-#: src/readelf.c:1061
+#: src/readelf.c:1063
 #, c-format
 msgid "OS Specific: (%x)\n"
 msgstr "ОС-специфічне: (%x)\n"
 
 #. && e_type <= ET_HIPROC always true
-#: src/readelf.c:1063
+#: src/readelf.c:1065
 #, c-format
 msgid "Processor Specific: (%x)\n"
 msgstr "Специфічне для процесора: (%x)\n"
 
-#: src/readelf.c:1073
+#: src/readelf.c:1075
 msgid ""
 "ELF Header:\n"
 "  Magic:  "
@@ -4194,7 +4213,7 @@
 "Заголовок ELF:\n"
 "  Magic:  "
 
-#: src/readelf.c:1077
+#: src/readelf.c:1079
 #, c-format
 msgid ""
 "\n"
@@ -4203,123 +4222,123 @@
 "\n"
 "  Клас:                              %s\n"
 
-#: src/readelf.c:1082
+#: src/readelf.c:1084
 #, c-format
 msgid "  Data:                              %s\n"
 msgstr "  Дані:                              %s\n"
 
-#: src/readelf.c:1088
+#: src/readelf.c:1090
 #, c-format
 msgid "  Ident Version:                     %hhd %s\n"
 msgstr "   Версія Ident:                     %hhd %s\n"
 
-#: src/readelf.c:1090 src/readelf.c:1112
+#: src/readelf.c:1092 src/readelf.c:1114
 msgid "(current)"
 msgstr "(поточний)"
 
-#: src/readelf.c:1094
+#: src/readelf.c:1096
 #, c-format
 msgid "  OS/ABI:                            %s\n"
 msgstr "  ОС/ABI:                            %s\n"
 
-#: src/readelf.c:1097
+#: src/readelf.c:1099
 #, c-format
 msgid "  ABI Version:                       %hhd\n"
 msgstr "  Версія ABI:                       %hhd\n"
 
-#: src/readelf.c:1100
+#: src/readelf.c:1102
 msgid "  Type:                              "
 msgstr "  Тип:                                "
 
-#: src/readelf.c:1105
+#: src/readelf.c:1107
 #, c-format
 msgid "  Machine:                           %s\n"
 msgstr "  Архітектура:                       %s\n"
 
-#: src/readelf.c:1107
-#, fuzzy, c-format
+#: src/readelf.c:1109
+#, c-format
 msgid "  Machine:                           <unknown>: 0x%x\n"
-msgstr "  Архітектура:                       %s\n"
+msgstr "  Архітектура:                       <невідома>: 0x%x\n"
 
-#: src/readelf.c:1110
+#: src/readelf.c:1112
 #, c-format
 msgid "  Version:                           %d %s\n"
 msgstr "  Версія:                            %d %s\n"
 
-#: src/readelf.c:1114
+#: src/readelf.c:1116
 #, c-format
 msgid "  Entry point address:               %#<PRIx64>\n"
 msgstr "  Адреса вхідної точки:              %#<PRIx64>\n"
 
-#: src/readelf.c:1117
+#: src/readelf.c:1119
 #, c-format
 msgid "  Start of program headers:          %<PRId64> %s\n"
 msgstr "  Початок заголовків програм:      %<PRId64> %s\n"
 
-#: src/readelf.c:1118 src/readelf.c:1121
+#: src/readelf.c:1120 src/readelf.c:1123
 msgid "(bytes into file)"
 msgstr "(байтів у файл)"
 
-#: src/readelf.c:1120
+#: src/readelf.c:1122
 #, c-format
 msgid "  Start of section headers:          %<PRId64> %s\n"
 msgstr "  Початок заголовків розділів:     %<PRId64> %s\n"
 
-#: src/readelf.c:1123
+#: src/readelf.c:1125
 #, c-format
 msgid "  Flags:                             %s\n"
 msgstr "  Прапорці:                          %s\n"
 
-#: src/readelf.c:1126
+#: src/readelf.c:1128
 #, c-format
 msgid "  Size of this header:               %<PRId16> %s\n"
 msgstr "  Розмір цього заголовка:            %<PRId16> %s\n"
 
-#: src/readelf.c:1127 src/readelf.c:1130 src/readelf.c:1147
+#: src/readelf.c:1129 src/readelf.c:1132 src/readelf.c:1149
 msgid "(bytes)"
 msgstr "(байтів)"
 
-#: src/readelf.c:1129
+#: src/readelf.c:1131
 #, c-format
 msgid "  Size of program header entries:    %<PRId16> %s\n"
 msgstr "  Розмір записів заголовка програми:  %<PRId16> %s\n"
 
-#: src/readelf.c:1132
+#: src/readelf.c:1134
 #, c-format
 msgid "  Number of program headers entries: %<PRId16>"
 msgstr "  Кількість записів заголовків програми: %<PRId16>"
 
-#: src/readelf.c:1139
+#: src/readelf.c:1141
 #, c-format
 msgid " (%<PRIu32> in [0].sh_info)"
 msgstr " (%<PRIu32> у [0].sh_info)"
 
-#: src/readelf.c:1142 src/readelf.c:1159 src/readelf.c:1173
+#: src/readelf.c:1144 src/readelf.c:1161 src/readelf.c:1175
 msgid " ([0] not available)"
 msgstr " ([0] недоступний)"
 
-#: src/readelf.c:1146
+#: src/readelf.c:1148
 #, c-format
 msgid "  Size of section header entries:    %<PRId16> %s\n"
 msgstr "  Розмір записів заголовків розділів:  %<PRId16> %s\n"
 
-#: src/readelf.c:1149
+#: src/readelf.c:1151
 #, c-format
 msgid "  Number of section headers entries: %<PRId16>"
 msgstr "  Кількість записів заголовків розділів: %<PRId16>"
 
-#: src/readelf.c:1156
+#: src/readelf.c:1158
 #, c-format
 msgid " (%<PRIu32> in [0].sh_size)"
 msgstr " (%<PRIu32> у [0].sh_size)"
 
 #. We managed to get the zeroth section.
-#: src/readelf.c:1169
+#: src/readelf.c:1171
 #, c-format
 msgid " (%<PRIu32> in [0].sh_link)"
 msgstr " (%<PRIu32> у [0].sh_link)"
 
-#: src/readelf.c:1177
+#: src/readelf.c:1179
 #, c-format
 msgid ""
 "  Section header string table index: XINDEX%s\n"
@@ -4328,7 +4347,7 @@
 "  Індекс заголовка розділу у таблиці рядків: XINDEX%s\n"
 "\n"
 
-#: src/readelf.c:1181
+#: src/readelf.c:1183
 #, c-format
 msgid ""
 "  Section header string table index: %<PRId16>\n"
@@ -4337,30 +4356,30 @@
 "  Індекс заголовка розділу у таблиці рядків: %<PRId16>\n"
 "\n"
 
-#: src/readelf.c:1228 src/readelf.c:1436
-#, fuzzy, c-format
+#: src/readelf.c:1230 src/readelf.c:1440
+#, c-format
 msgid "cannot get number of sections: %s"
-msgstr "не вдалося визначити кількість розділів: %s"
+msgstr "не вдалося отримати кількість розділів: %s"
 
-#: src/readelf.c:1231
-#, fuzzy, c-format
+#: src/readelf.c:1233
+#, c-format
 msgid ""
 "There are %zd section headers, starting at offset %#<PRIx64>:\n"
 "\n"
 msgstr ""
-"Виявлено %d заголовків розділів, зміщення початку — %#<PRIx64>:\n"
+"Виявлено %zd заголовків розділів, зміщення початку — %#<PRIx64>:\n"
 "\n"
 
-#: src/readelf.c:1240
-#, fuzzy, c-format
+#: src/readelf.c:1242
+#, c-format
 msgid "cannot get section header string table index: %s"
-msgstr "не вдалося визначити індекс заголовка розділу у таблиці рядків"
+msgstr "не вдалося визначити індекс заголовка розділу у таблиці рядків: %s"
 
-#: src/readelf.c:1243
+#: src/readelf.c:1245
 msgid "Section Headers:"
 msgstr "Заголовки розділів:"
 
-#: src/readelf.c:1246
+#: src/readelf.c:1248
 msgid ""
 "[Nr] Name                 Type         Addr     Off    Size   ES Flags Lk "
 "Inf Al"
@@ -4368,7 +4387,7 @@
 "[№ ] Назва                Тип          Адр      Змі    Розмір ES Прап  Lk "
 "Інф Al"
 
-#: src/readelf.c:1248
+#: src/readelf.c:1250
 msgid ""
 "[Nr] Name                 Type         Addr             Off      Size     ES "
 "Flags Lk Inf Al"
@@ -4376,35 +4395,35 @@
 "[№ ] Назва                Тип          Адр              Змі      Розмір   ES "
 "Прап  Lk Інф Al"
 
-#: src/readelf.c:1253
-msgid "     [Compression  Size   Al]"
-msgstr ""
-
 #: src/readelf.c:1255
+msgid "     [Compression  Size   Al]"
+msgstr "     [Стискання    Розмір Ал]"
+
+#: src/readelf.c:1257
 msgid "     [Compression  Size     Al]"
-msgstr ""
+msgstr "     [Стискання    Розмір   Ал]"
 
-#: src/readelf.c:1331
-#, fuzzy, c-format
+#: src/readelf.c:1335
+#, c-format
 msgid "bad compression header for section %zd: %s"
-msgstr "не вдалося отримати заголовок розділу %zu: %s"
+msgstr "помилковий заголовок стиснення для розділу %zd: %s"
 
-#: src/readelf.c:1342
-#, fuzzy, c-format
+#: src/readelf.c:1346
+#, c-format
 msgid "bad gnu compressed size for section %zd: %s"
-msgstr "не вдалося отримати дані для розділу %d: %s"
+msgstr "помилкове значення стисненого розміру gnu для розділу %zd: %s"
 
-#: src/readelf.c:1360
+#: src/readelf.c:1364
 msgid "Program Headers:"
 msgstr "Заголовки програми:"
 
-#: src/readelf.c:1362
+#: src/readelf.c:1366
 msgid ""
 "  Type           Offset   VirtAddr   PhysAddr   FileSiz  MemSiz   Flg Align"
 msgstr ""
 "  Тип            Зміщен   ВіртАдр    ФізАдр     РозмФайл РозмПам  Пра Вирів"
 
-#: src/readelf.c:1365
+#: src/readelf.c:1369
 msgid ""
 "  Type           Offset   VirtAddr           PhysAddr           FileSiz  "
 "MemSiz   Flg Align"
@@ -4412,12 +4431,12 @@
 "  Тип           Зміщен   ВіртАдр            ФізАдр             "
 "РозмФайлРозмПам  Пра Вирів"
 
-#: src/readelf.c:1422
+#: src/readelf.c:1426
 #, c-format
 msgid "\t[Requesting program interpreter: %s]\n"
 msgstr "\t[Запит щодо інтерпретатора програми: %s]\n"
 
-#: src/readelf.c:1449
+#: src/readelf.c:1453
 msgid ""
 "\n"
 " Section to Segment mapping:\n"
@@ -4427,12 +4446,12 @@
 " Відображення розділів на сегмент:\n"
 "  Розділи сегмента..."
 
-#: src/readelf.c:1460 src/unstrip.c:2110 src/unstrip.c:2152 src/unstrip.c:2159
+#: src/readelf.c:1464 src/unstrip.c:2114 src/unstrip.c:2156 src/unstrip.c:2163
 #, c-format
 msgid "cannot get program header: %s"
 msgstr "не вдалося отримати заголовок програми: %s"
 
-#: src/readelf.c:1606
+#: src/readelf.c:1610
 #, c-format
 msgid ""
 "\n"
@@ -4450,7 +4469,7 @@
 "\n"
 "Група розділів COMDAT [%2zu] «%s» з підписом «%s» містить %zu записів:\n"
 
-#: src/readelf.c:1611
+#: src/readelf.c:1615
 #, c-format
 msgid ""
 "\n"
@@ -4468,31 +4487,31 @@
 "\n"
 "Група розділів [%2zu] «%s» з підписом «%s» містить %zu записів:\n"
 
-#: src/readelf.c:1619
+#: src/readelf.c:1623
 msgid "<INVALID SYMBOL>"
 msgstr "<НЕКОРЕКТНИЙ СИМВОЛ>"
 
-#: src/readelf.c:1633
+#: src/readelf.c:1637
 msgid "<INVALID SECTION>"
 msgstr "<НЕКОРЕКТНИЙ РОЗДІЛ>"
 
-#: src/readelf.c:1656 src/readelf.c:2383 src/readelf.c:3484 src/readelf.c:12517
-#: src/readelf.c:12524 src/readelf.c:12568 src/readelf.c:12575
+#: src/readelf.c:1660 src/readelf.c:2387 src/readelf.c:3488 src/readelf.c:12625
+#: src/readelf.c:12632 src/readelf.c:12676 src/readelf.c:12683
 msgid "Couldn't uncompress section"
-msgstr ""
+msgstr "Не вдалося розпакувати розділ"
 
-#: src/readelf.c:1661 src/readelf.c:2388 src/readelf.c:3489
-#, fuzzy, c-format
+#: src/readelf.c:1665 src/readelf.c:2392 src/readelf.c:3493
+#, c-format
 msgid "cannot get section [%zd] header: %s"
-msgstr "не вдалося отримати заголовок розділу: %s"
+msgstr "не вдалося отримати заголовок розділу [%zd]: %s"
 
-#: src/readelf.c:1805 src/readelf.c:2455 src/readelf.c:2713 src/readelf.c:2789
-#: src/readelf.c:3093 src/readelf.c:3167 src/readelf.c:5364
+#: src/readelf.c:1809 src/readelf.c:2459 src/readelf.c:2717 src/readelf.c:2793
+#: src/readelf.c:3097 src/readelf.c:3171 src/readelf.c:5401
 #, c-format
 msgid "invalid sh_link value in section %zu"
 msgstr "некоректне значення sh_link у розділі %zu"
 
-#: src/readelf.c:1808
+#: src/readelf.c:1812
 #, c-format
 msgid ""
 "\n"
@@ -4515,36 +4534,36 @@
 "Динамічний сегмент містить %lu записів:\n"
 " Адр: %#0*<PRIx64>  Зміщення: %#08<PRIx64>  Пос. на розділ: [%2u] '%s'\n"
 
-#: src/readelf.c:1818
+#: src/readelf.c:1822
 msgid "  Type              Value\n"
 msgstr "  Тип              Значення\n"
 
-#: src/readelf.c:1842
+#: src/readelf.c:1846
 #, c-format
 msgid "Shared library: [%s]\n"
 msgstr "Спільна бібліотека: [%s]\n"
 
-#: src/readelf.c:1847
+#: src/readelf.c:1851
 #, c-format
 msgid "Library soname: [%s]\n"
 msgstr "Назва so бібліотеки: [%s]\n"
 
-#: src/readelf.c:1852
+#: src/readelf.c:1856
 #, c-format
 msgid "Library rpath: [%s]\n"
 msgstr "Rpath бібліотеки: [%s]\n"
 
-#: src/readelf.c:1857
+#: src/readelf.c:1861
 #, c-format
 msgid "Library runpath: [%s]\n"
 msgstr "Runpath бібліотеки: [%s]\n"
 
-#: src/readelf.c:1877
+#: src/readelf.c:1881
 #, c-format
 msgid "%<PRId64> (bytes)\n"
 msgstr "%<PRId64> (байт)\n"
 
-#: src/readelf.c:1990 src/readelf.c:2180
+#: src/readelf.c:1994 src/readelf.c:2184
 #, c-format
 msgid ""
 "\n"
@@ -4553,7 +4572,7 @@
 "\n"
 "Некоректна таблиця символів за зміщенням %#0<PRIx64>\n"
 
-#: src/readelf.c:2008 src/readelf.c:2198
+#: src/readelf.c:2012 src/readelf.c:2202
 #, c-format
 msgid ""
 "\n"
@@ -4582,7 +4601,7 @@
 #. The .rela.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:2023 src/readelf.c:2213
+#: src/readelf.c:2027 src/readelf.c:2217
 #, c-format
 msgid ""
 "\n"
@@ -4600,30 +4619,30 @@
 "\n"
 "Розділ пересування [%2u] «%s» за зміщенням %#0<PRIx64> містить %d записів:\n"
 
-#: src/readelf.c:2033
+#: src/readelf.c:2037
 msgid "  Offset      Type                 Value       Name\n"
 msgstr "  Зміщення     Тип                  Значення    Назва\n"
 
-#: src/readelf.c:2035
+#: src/readelf.c:2039
 msgid "  Offset              Type                 Value               Name\n"
 msgstr "  Зміщення            Тип                  Значення            Назва\n"
 
-#: src/readelf.c:2088 src/readelf.c:2099 src/readelf.c:2112 src/readelf.c:2133
-#: src/readelf.c:2145 src/readelf.c:2279 src/readelf.c:2291 src/readelf.c:2305
-#: src/readelf.c:2327 src/readelf.c:2340
+#: src/readelf.c:2092 src/readelf.c:2103 src/readelf.c:2116 src/readelf.c:2137
+#: src/readelf.c:2149 src/readelf.c:2283 src/readelf.c:2295 src/readelf.c:2309
+#: src/readelf.c:2331 src/readelf.c:2344
 msgid "<INVALID RELOC>"
 msgstr "<НЕКОРЕКТНЕ ПЕРЕМІЩЕННЯ>"
 
-#: src/readelf.c:2223
+#: src/readelf.c:2227
 msgid "  Offset      Type            Value       Addend Name\n"
 msgstr "  Зміщення    Тип             Значення    Назва додатка\n"
 
-#: src/readelf.c:2225
+#: src/readelf.c:2229
 msgid "  Offset              Type            Value               Addend Name\n"
 msgstr ""
 "  Зміщення            Тип             Значення            Назва додатка\n"
 
-#: src/readelf.c:2463
+#: src/readelf.c:2467
 #, c-format
 msgid ""
 "\n"
@@ -4641,7 +4660,7 @@
 "\n"
 "Таблиця символів [%2u] «%s» містить %u записів:\n"
 
-#: src/readelf.c:2468
+#: src/readelf.c:2472
 #, c-format
 msgid " %lu local symbol  String table: [%2u] '%s'\n"
 msgid_plural " %lu local symbols  String table: [%2u] '%s'\n"
@@ -4649,33 +4668,33 @@
 msgstr[1] " %lu лок. символи  Таблиця символів: [%2u] «%s»\n"
 msgstr[2] " %lu лок. символів Таблиця символів: [%2u] «%s»\n"
 
-#: src/readelf.c:2476
+#: src/readelf.c:2480
 msgid "  Num:    Value   Size Type    Bind   Vis          Ndx Name\n"
 msgstr "  №№      Знач.   Роз. Тип     Зв’яз  Вид.         Інд Назва\n"
 
-#: src/readelf.c:2478
+#: src/readelf.c:2482
 msgid "  Num:            Value   Size Type    Bind   Vis          Ndx Name\n"
 msgstr "  №№              Знач.   Роз. Тип     Зв’яз  Вид.         Інд Назва\n"
 
-#: src/readelf.c:2498
+#: src/readelf.c:2502
 #, c-format
 msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
 msgstr "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
 
-#: src/readelf.c:2586
+#: src/readelf.c:2590
 #, c-format
 msgid "bad dynamic symbol"
 msgstr "помилковий динамічний символ"
 
-#: src/readelf.c:2668
+#: src/readelf.c:2672
 msgid "none"
 msgstr "немає"
 
-#: src/readelf.c:2685
+#: src/readelf.c:2689
 msgid "| <unknown>"
 msgstr "| <невідомо>"
 
-#: src/readelf.c:2716
+#: src/readelf.c:2720
 #, c-format
 msgid ""
 "\n"
@@ -4698,17 +4717,17 @@
 "Розділ потреби у версіях [%2u] «%s», що містить %d записів:\n"
 " Адр.: %#0*<PRIx64>  Зміщ.:  %#08<PRIx64>  Посилання на розділ: [%2u] «%s»\n"
 
-#: src/readelf.c:2737
+#: src/readelf.c:2741
 #, c-format
 msgid "  %#06x: Version: %hu  File: %s  Cnt: %hu\n"
 msgstr "  %#06x: Версія: %hu  Файл: %s  Кть: %hu\n"
 
-#: src/readelf.c:2750
+#: src/readelf.c:2754
 #, c-format
 msgid "  %#06x: Name: %s  Flags: %s  Version: %hu\n"
 msgstr "  %#06x: Назва: %s  Прап: %s  Версія: %hu\n"
 
-#: src/readelf.c:2793
+#: src/readelf.c:2797
 #, c-format
 msgid ""
 "\n"
@@ -4731,18 +4750,18 @@
 "Розділ визначення версії [%2u] «%s», що містить %d записів:\n"
 " Адр.: %#0*<PRIx64>  Зміщ.:  %#08<PRIx64>  Посилання на розділ: [%2u] «%s»\n"
 
-#: src/readelf.c:2821
+#: src/readelf.c:2825
 #, c-format
 msgid "  %#06x: Version: %hd  Flags: %s  Index: %hd  Cnt: %hd  Name: %s\n"
 msgstr "  %#06x: Версія:  %hd  Прап.: %s  Індекс: %hd К-ть: %hd Назва: %s\n"
 
-#: src/readelf.c:2836
+#: src/readelf.c:2840
 #, c-format
 msgid "  %#06x: Parent %d: %s\n"
 msgstr "  %#06x: батьківський %d: %s\n"
 
 #. Print the header.
-#: src/readelf.c:3097
+#: src/readelf.c:3101
 #, c-format
 msgid ""
 "\n"
@@ -4765,15 +4784,15 @@
 "Розділ символів версій [%2u] «%s», що містить %d записів:\n"
 " Адр.: %#0*<PRIx64>  Зміщ.:  %#08<PRIx64>  Посилання на розділ: [%2u] «%s»"
 
-#: src/readelf.c:3125
+#: src/readelf.c:3129
 msgid "   0 *local*                     "
 msgstr "   0 *локальний*                 "
 
-#: src/readelf.c:3130
+#: src/readelf.c:3134
 msgid "   1 *global*                    "
 msgstr "   1 *загальний*                 "
 
-#: src/readelf.c:3172
+#: src/readelf.c:3176
 #, c-format
 msgid ""
 "\n"
@@ -4801,22 +4820,22 @@
 "блоками):\n"
 " Адр.: %#0*<PRIx64>  Зміщ.: %#08<PRIx64>  Посилання на розділ: [%2u] «%s»\n"
 
-#: src/readelf.c:3194
+#: src/readelf.c:3198
 #, no-c-format
 msgid " Length  Number  % of total  Coverage\n"
 msgstr " Довжина Номер   % від загал. Покриття\n"
 
-#: src/readelf.c:3196
+#: src/readelf.c:3200
 #, c-format
 msgid "      0  %6<PRIu32>      %5.1f%%\n"
 msgstr "      0  %6<PRIu32>      %5.1f%%\n"
 
-#: src/readelf.c:3203
+#: src/readelf.c:3207
 #, c-format
 msgid "%7d  %6<PRIu32>      %5.1f%%    %5.1f%%\n"
 msgstr "%7d  %6<PRIu32>      %5.1f%%    %5.1f%%\n"
 
-#: src/readelf.c:3216
+#: src/readelf.c:3220
 #, c-format
 msgid ""
 " Average number of tests:   successful lookup: %f\n"
@@ -4825,37 +4844,37 @@
 " Середня кількість тестів:   успішний пошук: %f\n"
 "\t\t\t  неуспішний пошук: %f\n"
 
-#: src/readelf.c:3234 src/readelf.c:3298 src/readelf.c:3364
+#: src/readelf.c:3238 src/readelf.c:3302 src/readelf.c:3368
 #, c-format
 msgid "cannot get data for section %d: %s"
 msgstr "не вдалося отримати дані для розділу %d: %s"
 
-#: src/readelf.c:3242
+#: src/readelf.c:3246
 #, c-format
 msgid "invalid data in sysv.hash section %d"
 msgstr "некоректні дані у розділі sysv.hash %d"
 
-#: src/readelf.c:3271
-#, fuzzy, c-format
+#: src/readelf.c:3275
+#, c-format
 msgid "invalid chain in sysv.hash section %d"
-msgstr "некоректні дані у розділі sysv.hash %d"
+msgstr "некоректний ланцюжок у розділі sysv.hash %d"
 
-#: src/readelf.c:3306
+#: src/readelf.c:3310
 #, c-format
 msgid "invalid data in sysv.hash64 section %d"
 msgstr "некоректні дані у розділі sysv.hash64 %d"
 
-#: src/readelf.c:3337
-#, fuzzy, c-format
+#: src/readelf.c:3341
+#, c-format
 msgid "invalid chain in sysv.hash64 section %d"
-msgstr "некоректні дані у розділі sysv.hash64 %d"
+msgstr "некоректний ланцюжок у розділі sysv.hash64 %d"
 
-#: src/readelf.c:3373
+#: src/readelf.c:3377
 #, c-format
 msgid "invalid data in gnu.hash section %d"
 msgstr "некоректні дані у розділі gnu.hash %d"
 
-#: src/readelf.c:3440
+#: src/readelf.c:3444
 #, c-format
 msgid ""
 " Symbol Bias: %u\n"
@@ -4865,7 +4884,7 @@
 " Розмір бітової маски: %zu байтів  %<PRIuFAST32>%% встановлених бітів  зсув "
 "2-го хешу: %u\n"
 
-#: src/readelf.c:3529
+#: src/readelf.c:3533
 #, c-format
 msgid ""
 "\n"
@@ -4886,7 +4905,7 @@
 "Розділ списку бібліотек [%2zu] «%s» за зміщенням %#0<PRIx64> містить %d "
 "записів:\n"
 
-#: src/readelf.c:3543
+#: src/readelf.c:3547
 msgid ""
 "       Library                       Time Stamp          Checksum Version "
 "Flags"
@@ -4894,7 +4913,7 @@
 "       Бібліотека                    Часовий штамп       Версія суми      "
 "Прапорці"
 
-#: src/readelf.c:3595
+#: src/readelf.c:3606
 #, c-format
 msgid ""
 "\n"
@@ -4905,102 +4924,102 @@
 "Розділ атрибутів об’єктів [%2zu] «%s» з %<PRIu64> байтів за зміщенням "
 "%#0<PRIx64>:\n"
 
-#: src/readelf.c:3612
+#: src/readelf.c:3623
 msgid "  Owner          Size\n"
 msgstr "  Власник        Розмір\n"
 
-#: src/readelf.c:3641
+#: src/readelf.c:3647
 #, c-format
 msgid "  %-13s  %4<PRIu32>\n"
 msgstr "  %-13s  %4<PRIu32>\n"
 
 #. Unknown subsection, print and skip.
-#: src/readelf.c:3680
+#: src/readelf.c:3686
 #, c-format
 msgid "    %-4u %12<PRIu32>\n"
 msgstr "    %-4u %12<PRIu32>\n"
 
 #. Tag_File
-#: src/readelf.c:3685
+#: src/readelf.c:3691
 #, c-format
 msgid "    File: %11<PRIu32>\n"
 msgstr "    Файл: %11<PRIu32>\n"
 
-#: src/readelf.c:3734
+#: src/readelf.c:3740
 #, c-format
 msgid "      %s: %<PRId64>, %s\n"
 msgstr "      %s: %<PRId64>, %s\n"
 
-#: src/readelf.c:3737
+#: src/readelf.c:3743
 #, c-format
 msgid "      %s: %<PRId64>\n"
 msgstr "      %s: %<PRId64>\n"
 
-#: src/readelf.c:3740
+#: src/readelf.c:3746
 #, c-format
 msgid "      %s: %s\n"
 msgstr "      %s: %s\n"
 
-#: src/readelf.c:3750
+#: src/readelf.c:3756
 #, c-format
 msgid "      %u: %<PRId64>\n"
 msgstr "      %u: %<PRId64>\n"
 
-#: src/readelf.c:3753
+#: src/readelf.c:3759
 #, c-format
 msgid "      %u: %s\n"
 msgstr "      %u: %s\n"
 
-#: src/readelf.c:3823
-#, fuzzy, c-format
+#: src/readelf.c:3829
+#, c-format
 msgid "sprintf failure"
-msgstr "помилка mprotect"
+msgstr "помилка sprintf"
 
-#: src/readelf.c:4305
+#: src/readelf.c:4311
 msgid "empty block"
 msgstr "порожній блок"
 
-#: src/readelf.c:4308
+#: src/readelf.c:4314
 #, c-format
 msgid "%zu byte block:"
 msgstr "%zu-байтовий блок:"
 
-#: src/readelf.c:4786
-#, fuzzy, c-format
+#: src/readelf.c:4792
+#, c-format
 msgid "%*s[%2<PRIuMAX>] %s  <TRUNCATED>\n"
-msgstr "%*s[%4<PRIuMAX>] %s  <ОБРІЗАНО>\n"
+msgstr "%*s[%2<PRIuMAX>] %s  <ОБРІЗАНО>\n"
 
-#: src/readelf.c:4850
+#: src/readelf.c:4859
 #, c-format
 msgid "%s %#<PRIx64> used with different address sizes"
 msgstr "%s %#<PRIx64> використано з різними розмірами адрес"
 
-#: src/readelf.c:4857
+#: src/readelf.c:4866
 #, c-format
 msgid "%s %#<PRIx64> used with different offset sizes"
 msgstr "%s %#<PRIx64> використано з різними розмірами зміщень"
 
-#: src/readelf.c:4864
+#: src/readelf.c:4873
 #, c-format
 msgid "%s %#<PRIx64> used with different base addresses"
 msgstr "%s %#<PRIx64> використано з різними базовими адресами"
 
-#: src/readelf.c:4871
-#, fuzzy, c-format
+#: src/readelf.c:4880
+#, c-format
 msgid "%s %#<PRIx64> used with different attribute %s and %s"
-msgstr "%s %#<PRIx64> використано з різними розмірами адрес"
+msgstr "%s %#<PRIx64> використано з різними атрибутами, %s і %s"
 
-#: src/readelf.c:4968
+#: src/readelf.c:4980
 #, c-format
 msgid " [%6tx]  <UNUSED GARBAGE IN REST OF SECTION>\n"
 msgstr " [%6tx]  <НЕВИКОРИСТОВУВАНІ ДАНІ У РЕШТІ РОЗДІЛУ>\n"
 
-#: src/readelf.c:4976
+#: src/readelf.c:4988
 #, c-format
 msgid " [%6tx]  <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
 msgstr " [%6tx]  <НЕВИКОРИСТОВУВАНІ ДАНІ> ... %<PRIu64> байтів ...\n"
 
-#: src/readelf.c:5054
+#: src/readelf.c:5091
 #, c-format
 msgid ""
 "\n"
@@ -5011,7 +5030,7 @@
 "Розділ DWARF [%2zu] «%s» зі зміщенням %#<PRIx64>:\n"
 " [ Код]\n"
 
-#: src/readelf.c:5062
+#: src/readelf.c:5099
 #, c-format
 msgid ""
 "\n"
@@ -5020,20 +5039,20 @@
 "\n"
 "Розділ скорочень за зміщенням %<PRIu64>:\n"
 
-#: src/readelf.c:5075
+#: src/readelf.c:5112
 #, c-format
 msgid " *** error while reading abbreviation: %s\n"
 msgstr " *** помилка під час читання скорочення: %s\n"
 
-#: src/readelf.c:5091
+#: src/readelf.c:5128
 #, c-format
 msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
 msgstr " [%5u] зміщення: %<PRId64>, дочірній: %s, мітка: %s\n"
 
-#: src/readelf.c:5124 src/readelf.c:5433 src/readelf.c:5600 src/readelf.c:5985
-#: src/readelf.c:6586 src/readelf.c:8323 src/readelf.c:9009 src/readelf.c:9445
-#: src/readelf.c:9690 src/readelf.c:9856 src/readelf.c:10243
-#: src/readelf.c:10303
+#: src/readelf.c:5161 src/readelf.c:5470 src/readelf.c:5637 src/readelf.c:6022
+#: src/readelf.c:6638 src/readelf.c:8375 src/readelf.c:9064 src/readelf.c:9537
+#: src/readelf.c:9788 src/readelf.c:9954 src/readelf.c:10341
+#: src/readelf.c:10401
 #, c-format
 msgid ""
 "\n"
@@ -5042,56 +5061,54 @@
 "\n"
 "Розділ DWARF [%2zu] «%s» зі зміщенням %#<PRIx64>:\n"
 
-#: src/readelf.c:5137
-#, fuzzy, c-format
+#: src/readelf.c:5174
+#, c-format
 msgid "cannot get .debug_addr section data: %s"
-msgstr "не вдалося отримати дані розділу: %s"
+msgstr "не вдалося отримати дані розділу .debug_addr: %s"
 
-#: src/readelf.c:5237 src/readelf.c:5261 src/readelf.c:5645 src/readelf.c:9054
-#, fuzzy, c-format
+#: src/readelf.c:5274 src/readelf.c:5298 src/readelf.c:5682 src/readelf.c:9109
+#, c-format
 msgid " Length:         %8<PRIu64>\n"
-msgstr ""
-"\n"
-" Довжина:       %6<PRIu64>\n"
+msgstr " Довжина:        %8<PRIu64>\n"
 
-#: src/readelf.c:5239 src/readelf.c:5276 src/readelf.c:5658 src/readelf.c:9067
-#, fuzzy, c-format
+#: src/readelf.c:5276 src/readelf.c:5313 src/readelf.c:5695 src/readelf.c:9122
+#, c-format
 msgid " DWARF version:  %8<PRIu16>\n"
-msgstr " версія DWARF:  %6<PRIuFAST16>\n"
+msgstr " версія DWARF:   %8<PRIu16>\n"
 
-#: src/readelf.c:5240 src/readelf.c:5285 src/readelf.c:5667 src/readelf.c:9076
-#, fuzzy, c-format
+#: src/readelf.c:5277 src/readelf.c:5322 src/readelf.c:5704 src/readelf.c:9131
+#, c-format
 msgid " Address size:   %8<PRIu64>\n"
-msgstr " Розмір адреси:  %6<PRIu64>\n"
+msgstr " Розмір адреси:  %8<PRIu64>\n"
 
-#: src/readelf.c:5242 src/readelf.c:5295 src/readelf.c:5677 src/readelf.c:9086
-#, fuzzy, c-format
+#: src/readelf.c:5279 src/readelf.c:5332 src/readelf.c:5714 src/readelf.c:9141
+#, c-format
 msgid " Segment size:   %8<PRIu64>\n"
 msgstr ""
-" Розмір сегмента:  %6<PRIu64>\n"
+" Розмір сегмента: %8<PRIu64>\n"
 "\n"
 
-#: src/readelf.c:5280 src/readelf.c:5662 src/readelf.c:9071 src/readelf.c:10435
-#, fuzzy, c-format
+#: src/readelf.c:5317 src/readelf.c:5699 src/readelf.c:9126 src/readelf.c:10533
+#, c-format
 msgid "Unknown version"
-msgstr "невідома версія"
+msgstr "Невідома версія"
 
-#: src/readelf.c:5290 src/readelf.c:5503 src/readelf.c:5672 src/readelf.c:9081
+#: src/readelf.c:5327 src/readelf.c:5540 src/readelf.c:5709 src/readelf.c:9136
 #, c-format
 msgid "unsupported address size"
 msgstr "непідтримуваний розмір адреси"
 
-#: src/readelf.c:5301 src/readelf.c:5514 src/readelf.c:5682 src/readelf.c:9091
+#: src/readelf.c:5338 src/readelf.c:5551 src/readelf.c:5719 src/readelf.c:9146
 #, c-format
 msgid "unsupported segment size"
 msgstr "непідтримуваний розмір сегмента"
 
-#: src/readelf.c:5354 src/readelf.c:5428
+#: src/readelf.c:5391 src/readelf.c:5465
 #, c-format
 msgid "cannot get .debug_aranges content: %s"
 msgstr "не вдалося отримати дані get .debug_aranges: %s"
 
-#: src/readelf.c:5369
+#: src/readelf.c:5406
 #, c-format
 msgid ""
 "\n"
@@ -5109,12 +5126,12 @@
 "\n"
 "Розділ DWARF [%2zu] «%s» за зміщенням %#<PRIx64> містить %zu записів:\n"
 
-#: src/readelf.c:5400
+#: src/readelf.c:5437
 #, c-format
 msgid " [%*zu] ???\n"
 msgstr " [%*zu] ???\n"
 
-#: src/readelf.c:5402
+#: src/readelf.c:5439
 #, c-format
 msgid ""
 " [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
@@ -5122,7 +5139,7 @@
 " [%*zu] початок: %0#*<PRIx64>, довжина: %5<PRIu64>, зміщення CU DIE: "
 "%6<PRId64>\n"
 
-#: src/readelf.c:5446 src/readelf.c:8350
+#: src/readelf.c:5483 src/readelf.c:8402
 #, c-format
 msgid ""
 "\n"
@@ -5131,13 +5148,13 @@
 "\n"
 "Таблиця за зміщенням %zu:\n"
 
-#: src/readelf.c:5450 src/readelf.c:5626 src/readelf.c:6610 src/readelf.c:8361
-#: src/readelf.c:9035
+#: src/readelf.c:5487 src/readelf.c:5663 src/readelf.c:6662 src/readelf.c:8413
+#: src/readelf.c:9090
 #, c-format
 msgid "invalid data in section [%zu] '%s'"
 msgstr "некоректні дані у розділі [%zu] «%s»"
 
-#: src/readelf.c:5466
+#: src/readelf.c:5503
 #, c-format
 msgid ""
 "\n"
@@ -5146,27 +5163,27 @@
 "\n"
 " Довжина:       %6<PRIu64>\n"
 
-#: src/readelf.c:5478
+#: src/readelf.c:5515
 #, c-format
 msgid " DWARF version: %6<PRIuFAST16>\n"
 msgstr " версія DWARF:  %6<PRIuFAST16>\n"
 
-#: src/readelf.c:5482
+#: src/readelf.c:5519
 #, c-format
 msgid "unsupported aranges version"
 msgstr "непідтримувана версія aranges"
 
-#: src/readelf.c:5493
+#: src/readelf.c:5530
 #, c-format
 msgid " CU offset:     %6<PRIx64>\n"
 msgstr " зміщення CU:     %6<PRIx64>\n"
 
-#: src/readelf.c:5499
+#: src/readelf.c:5536
 #, c-format
 msgid " Address size:  %6<PRIu64>\n"
 msgstr " Розмір адреси:  %6<PRIu64>\n"
 
-#: src/readelf.c:5510
+#: src/readelf.c:5547
 #, c-format
 msgid ""
 " Segment size:  %6<PRIu64>\n"
@@ -5175,111 +5192,117 @@
 " Розмір сегмента:  %6<PRIu64>\n"
 "\n"
 
-#: src/readelf.c:5565
+#: src/readelf.c:5602
 #, c-format
 msgid "   %zu padding bytes\n"
 msgstr "   %zu байтів доповнення\n"
 
-#: src/readelf.c:5609
-#, fuzzy, c-format
+#: src/readelf.c:5646
+#, c-format
 msgid "cannot get .debug_rnglists content: %s"
-msgstr "не вдалося отримати дані .debug_ranges: %s"
+msgstr "не вдалося отримати вміст .debug_rnglists: %s"
 
-#: src/readelf.c:5632 src/readelf.c:9041
-#, fuzzy, c-format
+#: src/readelf.c:5669 src/readelf.c:9096
+#, c-format
 msgid ""
 "Table at Offset 0x%<PRIx64>:\n"
 "\n"
-msgstr " зміщення .debug_line: 0x%<PRIx64>\n"
+msgstr ""
+"Таблиця за зміщенням 0x%<PRIx64>:\n"
+"\n"
 
-#: src/readelf.c:5687 src/readelf.c:9096
-#, fuzzy, c-format
+#: src/readelf.c:5724 src/readelf.c:9151
+#, c-format
 msgid " Offset entries: %8<PRIu64>\n"
-msgstr " Довжина зміщення:   %<PRIu8>\n"
+msgstr " Записи зміщення: %8<PRIu64>\n"
 
-#: src/readelf.c:5703 src/readelf.c:9112
+#: src/readelf.c:5740 src/readelf.c:9167
 #, c-format
 msgid " Unknown CU base: "
-msgstr ""
+msgstr " Невідома основа CU: "
 
-#: src/readelf.c:5705 src/readelf.c:9114
+#: src/readelf.c:5742 src/readelf.c:9169
 #, c-format
 msgid " CU [%6<PRIx64>] base: "
-msgstr ""
+msgstr " Основа CU [%6<PRIx64>]: "
 
-#: src/readelf.c:5711 src/readelf.c:9120
+#: src/readelf.c:5748 src/readelf.c:9175
 #, c-format
 msgid " Not associated with a CU.\n"
-msgstr ""
+msgstr " Не пов'язано із CU.\n"
 
-#: src/readelf.c:5722 src/readelf.c:9131
+#: src/readelf.c:5759 src/readelf.c:9186
 #, c-format
 msgid "too many offset entries for unit length"
-msgstr ""
+msgstr "забагато записів зсуву для довжини модуля"
 
-#: src/readelf.c:5726 src/readelf.c:9135
-#, fuzzy, c-format
+#: src/readelf.c:5763 src/readelf.c:9190
+#, c-format
 msgid "  Offsets starting at 0x%<PRIx64>:\n"
-msgstr " Зміщення:           0x%<PRIx64>\n"
+msgstr "  Зміщення, що починаються з 0x%<PRIx64>:\n"
 
-#: src/readelf.c:5778
-#, fuzzy, c-format
+#: src/readelf.c:5815
+#, c-format
 msgid "invalid range list data"
-msgstr "некоректні дані"
+msgstr "некоректні дані списку діапазонів"
 
-#: src/readelf.c:5963 src/readelf.c:9423
-#, fuzzy, c-format
+#: src/readelf.c:6000 src/readelf.c:9515
+#, c-format
 msgid ""
 "   %zu padding bytes\n"
 "\n"
-msgstr "   %zu байтів доповнення\n"
+msgstr ""
+"   %zu байтів доповнення\n"
+"\n"
 
-#: src/readelf.c:5980
+#: src/readelf.c:6017
 #, c-format
 msgid "cannot get .debug_ranges content: %s"
 msgstr "не вдалося отримати дані .debug_ranges: %s"
 
-#: src/readelf.c:6016 src/readelf.c:9478
+#: src/readelf.c:6053 src/readelf.c:9570
 #, c-format
 msgid ""
 "\n"
 " Unknown CU base: "
 msgstr ""
+"\n"
+" Невідома основа CU: "
 
-#: src/readelf.c:6018 src/readelf.c:9480
+#: src/readelf.c:6055 src/readelf.c:9572
 #, c-format
 msgid ""
 "\n"
 " CU [%6<PRIx64>] base: "
 msgstr ""
+"\n"
+" Основа CU [%6<PRIx64>]: "
 
-#: src/readelf.c:6027 src/readelf.c:9506 src/readelf.c:9532
+#: src/readelf.c:6064 src/readelf.c:9598 src/readelf.c:9624
 #, c-format
 msgid " [%6tx]  <INVALID DATA>\n"
 msgstr " [%6tx]  <НЕКОРЕКТНІ ДАНІ>\n"
 
-#: src/readelf.c:6048 src/readelf.c:9612
-#, fuzzy, c-format
-msgid ""
-" [%6tx] base address\n"
-"          "
-msgstr " [%6tx]  базова адреса %s\n"
+#: src/readelf.c:6089 src/readelf.c:9708
+#, fuzzy
+msgid "base address"
+msgstr " встановити адресу у значення "
 
-#: src/readelf.c:6056 src/readelf.c:9620
-#, fuzzy, c-format
+#: src/readelf.c:6099 src/readelf.c:9718
+#, c-format
 msgid " [%6tx] empty list\n"
-msgstr " [%6tx]  порожній список\n"
+msgstr " [%6tx] порожній список\n"
 
-#: src/readelf.c:6311
+#: src/readelf.c:6359
 msgid "         <INVALID DATA>\n"
 msgstr "         <НЕКОРЕКТНІ ДАНІ>\n"
 
-#: src/readelf.c:6564
+#: src/readelf.c:6616
 #, c-format
 msgid "cannot get ELF: %s"
 msgstr "не вдалося отримати ELF: %s"
 
-#: src/readelf.c:6582
+#: src/readelf.c:6634
 #, c-format
 msgid ""
 "\n"
@@ -5288,7 +5311,7 @@
 "\n"
 "Розділ відомостей щодо вікна викликів [%2zu] «%s» за зміщенням %#<PRIx64>:\n"
 
-#: src/readelf.c:6632
+#: src/readelf.c:6684
 #, c-format
 msgid ""
 "\n"
@@ -5297,65 +5320,65 @@
 "\n"
 " [%6tx] нульовий переривач\n"
 
-#: src/readelf.c:6733 src/readelf.c:6887
+#: src/readelf.c:6785 src/readelf.c:6939
 #, c-format
 msgid "invalid augmentation length"
 msgstr "некоректна довжина збільшення"
 
-#: src/readelf.c:6748
+#: src/readelf.c:6800
 msgid "FDE address encoding: "
 msgstr "Кодування адреси FDE: "
 
-#: src/readelf.c:6754
+#: src/readelf.c:6806
 msgid "LSDA pointer encoding: "
 msgstr "Кодування вказівника LSDA: "
 
-#: src/readelf.c:6864
+#: src/readelf.c:6916
 #, c-format
 msgid " (offset: %#<PRIx64>)"
 msgstr " (зміщення: %#<PRIx64>)"
 
-#: src/readelf.c:6871
+#: src/readelf.c:6923
 #, c-format
 msgid " (end offset: %#<PRIx64>)"
 msgstr " (зміщення від кінця: %#<PRIx64>)"
 
-#: src/readelf.c:6908
+#: src/readelf.c:6960
 #, c-format
 msgid "   %-26sLSDA pointer: %#<PRIx64>\n"
 msgstr "   %-26sвказівник LSDA: %#<PRIx64>\n"
 
-#: src/readelf.c:6993
-#, fuzzy, c-format
+#: src/readelf.c:7045
+#, c-format
 msgid "DIE [%<PRIx64>] cannot get attribute code: %s"
-msgstr "не вдалося отримати код атрибута: %s"
+msgstr "DIE [%<PRIx64>] не вдалося отримати код атрибута: %s"
 
-#: src/readelf.c:7003
-#, fuzzy, c-format
+#: src/readelf.c:7055
+#, c-format
 msgid "DIE [%<PRIx64>] cannot get attribute form: %s"
-msgstr "не вдалося отримати форму атрибута: %s"
+msgstr "DIE [%<PRIx64>] не вдалося отримати форму атрибута: %s"
 
-#: src/readelf.c:7025
-#, fuzzy, c-format
+#: src/readelf.c:7077
+#, c-format
 msgid "DIE [%<PRIx64>] cannot get attribute '%s' (%s) value: %s"
-msgstr "не вдалося отримати значення атрибута: %s"
+msgstr "DIE [%<PRIx64>] не вдалося отримати значення атрибута «%s» (%s): %s"
 
-#: src/readelf.c:7355
-#, fuzzy, c-format
+#: src/readelf.c:7407
+#, c-format
 msgid "invalid file (%<PRId64>): %s"
-msgstr "некоректний файл"
+msgstr "некоректний файл (%<PRId64>): %s"
 
-#: src/readelf.c:7359
-#, fuzzy, c-format
+#: src/readelf.c:7411
+#, c-format
 msgid "no srcfiles for CU [%<PRIx64>]"
-msgstr " встановити файл у %<PRIu64>\n"
+msgstr "немає srcfiles для CU [%<PRIx64>]"
 
-#: src/readelf.c:7363
-#, fuzzy, c-format
+#: src/readelf.c:7415
+#, c-format
 msgid "couldn't get DWARF CU: %s"
-msgstr "не вдалося отримати ELF: %s"
+msgstr "не вдалося отримати CU DWARF: %s"
 
-#: src/readelf.c:7676
+#: src/readelf.c:7728
 #, c-format
 msgid ""
 "\n"
@@ -5366,13 +5389,13 @@
 "Розділ DWARF [%2zu] «%s» за зміщенням %#<PRIx64>:\n"
 " [Зміщення]\n"
 
-#: src/readelf.c:7726
-#, fuzzy, c-format
+#: src/readelf.c:7778
+#, c-format
 msgid "cannot get next unit: %s"
-msgstr "не вдалося визначити наступний DIE: %s"
+msgstr "не вдалося отримати наступний модуль: %s"
 
-#: src/readelf.c:7745
-#, fuzzy, c-format
+#: src/readelf.c:7797
+#, c-format
 msgid ""
 " Type unit at offset %<PRIu64>:\n"
 " Version: %<PRIu16>, Abbreviation section offset: %<PRIu64>, Address size: "
@@ -5380,11 +5403,11 @@
 " Type signature: %#<PRIx64>, Type offset: %#<PRIx64> [%<PRIx64>]\n"
 msgstr ""
 " Модуль типів за зміщенням %<PRIu64>:\n"
-" Версія: %<PRIu16>, Зміщення розділу скорочень: %<PRIu64>, Адреса: %<PRIu8>, "
-"Зміщення: %<PRIu8>\n"
-" Підпис типу: %#<PRIx64>, Зміщення типу: %#<PRIx64>\n"
+" Версія: %<PRIu16>, Зміщення розділу скорочень: %<PRIu64>, Розмір адреси: "
+"%<PRIu8>, Розмір зміщення: %<PRIu8>\n"
+" Підпис типу: %#<PRIx64>, Зміщення типу: %#<PRIx64> [%<PRIx64>]\n"
 
-#: src/readelf.c:7757
+#: src/readelf.c:7809
 #, c-format
 msgid ""
 " Compilation unit at offset %<PRIu64>:\n"
@@ -5395,49 +5418,49 @@
 " Версія: %<PRIu16>, Зміщення розділу скорочень: %<PRIu64>, Адреса: %<PRIu8>, "
 "Зміщення: %<PRIu8>\n"
 
-#: src/readelf.c:7767 src/readelf.c:7930
+#: src/readelf.c:7819 src/readelf.c:7982
 #, c-format
 msgid " Unit type: %s (%<PRIu8>)"
-msgstr ""
+msgstr " Тип модуля: %s (%<PRIu8>)"
 
-#: src/readelf.c:7794
+#: src/readelf.c:7846
 #, c-format
 msgid "unknown version (%d) or unit type (%d)"
-msgstr ""
+msgstr "невідома версія (%d) або тип модуля (%d)"
 
-#: src/readelf.c:7823
+#: src/readelf.c:7875
 #, c-format
 msgid "cannot get DIE offset: %s"
 msgstr "не вдалося отримати зміщення DIE: %s"
 
-#: src/readelf.c:7832
-#, fuzzy, c-format
+#: src/readelf.c:7884
+#, c-format
 msgid "cannot get tag of DIE at offset [%<PRIx64>] in section '%s': %s"
 msgstr ""
-"не вдалося отримати мітку DIE за зміщенням %<PRIu64> у розділі «%s»: %s"
+"не вдалося отримати мітку DIE за зміщенням [%<PRIu64>] у розділі «%s»: %s"
 
-#: src/readelf.c:7870
+#: src/readelf.c:7922
 #, c-format
 msgid "cannot get next DIE: %s\n"
 msgstr "не вдалося визначити наступний DIE: %s\n"
 
-#: src/readelf.c:7878
+#: src/readelf.c:7930
 #, c-format
 msgid "cannot get next DIE: %s"
 msgstr "не вдалося визначити наступний DIE: %s"
 
-#: src/readelf.c:7922
-#, fuzzy, c-format
+#: src/readelf.c:7974
+#, c-format
 msgid ""
 " Split compilation unit at offset %<PRIu64>:\n"
 " Version: %<PRIu16>, Abbreviation section offset: %<PRIu64>, Address size: "
 "%<PRIu8>, Offset size: %<PRIu8>\n"
 msgstr ""
-" Модуль компіляції за зміщенням %<PRIu64>:\n"
+" Модуль розділеної компіляції за зміщенням %<PRIu64>:\n"
 " Версія: %<PRIu16>, Зміщення розділу скорочень: %<PRIu64>, Адреса: %<PRIu8>, "
 "Зміщення: %<PRIu8>\n"
 
-#: src/readelf.c:7974
+#: src/readelf.c:8026
 #, c-format
 msgid ""
 "\n"
@@ -5448,19 +5471,19 @@
 "Розділ DWARF [%2zu] «%s» зі зміщенням %#<PRIx64>:\n"
 "\n"
 
-#: src/readelf.c:8306
-#, fuzzy, c-format
+#: src/readelf.c:8358
+#, c-format
 msgid "unknown form: %s"
-msgstr "невідома форма %#<PRIx64>"
+msgstr "невідома форма: %s"
 
-#: src/readelf.c:8337
+#: src/readelf.c:8389
 #, c-format
 msgid "cannot get line data section data: %s"
 msgstr "не вдалося отримати дані розділу лінійних даних: %s"
 
 #. Print what we got so far.
-#: src/readelf.c:8439
-#, fuzzy, c-format
+#: src/readelf.c:8491
+#, c-format
 msgid ""
 "\n"
 " Length:                         %<PRIu64>\n"
@@ -5481,36 +5504,38 @@
 " Довжина:                    %<PRIu64>\n"
 " Версія DWARF:               %<PRIuFAST16>\n"
 " Довжина вступу:             %<PRIu64>\n"
+" Розмір адреси:                  %zd\n"
+" Розмір селектора сегментів:     %zd\n"
 " Мінімальна довж. інстр.:    %<PRIuFAST8>\n"
 " Макс. к-ть операцій на інструкцію: %<PRIuFAST8>\n"
-" Поч. значення, якщо «%s»:   %<PRIuFAST8>\n"
+" Поч. значення, якщо «is_stmt»: %<PRIuFAST8>\n"
 " Основа рядків:              %<PRIdFAST8>\n"
 " Діапазон рядків:            %<PRIuFAST8>\n"
 " Основа кодів операцій:      %<PRIuFAST8>\n"
 "\n"
 "Коди операцій:\n"
 
-#: src/readelf.c:8461
-#, fuzzy, c-format
+#: src/readelf.c:8513
+#, c-format
 msgid "cannot handle .debug_line version: %u\n"
-msgstr "не вдалося отримати версію символу: %s"
+msgstr "не вдалося обробити версію .debug_line: %u\n"
 
-#: src/readelf.c:8469
-#, fuzzy, c-format
+#: src/readelf.c:8521
+#, c-format
 msgid "cannot handle address size: %u\n"
-msgstr "непідтримуваний розмір адреси"
+msgstr "не вдалося обробити розмір адреси: %u\n"
 
-#: src/readelf.c:8477
-#, fuzzy, c-format
+#: src/readelf.c:8529
+#, c-format
 msgid "cannot handle segment selector size: %u\n"
-msgstr "не вдалося отримати розділ: %s"
+msgstr "не вдалося обробити розмір селектора сегментів: %u\n"
 
-#: src/readelf.c:8487
+#: src/readelf.c:8539
 #, c-format
 msgid "invalid data at offset %tu in section [%zu] '%s'"
 msgstr "некоректні дані зі зміщенням %tu у розділі [%zu] «%s»"
 
-#: src/readelf.c:8502
+#: src/readelf.c:8554
 #, c-format
 msgid "  [%*<PRIuFAST8>]  %hhu argument\n"
 msgid_plural "  [%*<PRIuFAST8>]  %hhu arguments\n"
@@ -5518,7 +5543,7 @@
 msgstr[1] "  [%*<PRIuFAST8>]  %hhu аргументи\n"
 msgstr[2] "  [%*<PRIuFAST8>]  %hhu аргументів\n"
 
-#: src/readelf.c:8513
+#: src/readelf.c:8565
 msgid ""
 "\n"
 "Directory table:"
@@ -5526,29 +5551,33 @@
 "\n"
 "Таблиця каталогу:"
 
-#: src/readelf.c:8519 src/readelf.c:8596
-#, fuzzy, c-format
+#: src/readelf.c:8571 src/readelf.c:8648
+#, c-format
 msgid "      ["
-msgstr "    PC: "
+msgstr "      ["
 
-#: src/readelf.c:8590
-#, fuzzy
+#: src/readelf.c:8642
 msgid ""
 "\n"
 "File name table:"
 msgstr ""
 "\n"
-" Таблиця місця виклику:"
+" Таблиця назв файлів:"
 
-#: src/readelf.c:8651
-#, fuzzy
+#: src/readelf.c:8703
 msgid " Entry Dir   Time      Size      Name"
+msgstr " Запис Кат   Час       Розмір    Назва"
+
+#: src/readelf.c:8742
+#, fuzzy
+msgid ""
+"\n"
+"No line number statements."
 msgstr ""
 "\n"
-"Таблиця назв файлів:\n"
-" Запис Кат   Час       Розмір    Назва"
+"Оператори номерів рядків:"
 
-#: src/readelf.c:8688
+#: src/readelf.c:8746
 msgid ""
 "\n"
 "Line number statements:"
@@ -5556,120 +5585,118 @@
 "\n"
 "Оператори номерів рядків:"
 
-#: src/readelf.c:8711
+#: src/readelf.c:8766
 #, c-format
 msgid "invalid maximum operations per instruction is zero"
 msgstr "некоректну кількість операцій на інструкцію прирівняно до нуля"
 
-#: src/readelf.c:8745
-#, fuzzy, c-format
+#: src/readelf.c:8800
+#, c-format
 msgid " special opcode %u: address+%u = "
-msgstr " спеціальний код операції %u: адреса+%u = %s, рядок%+d = %zu\n"
+msgstr " спеціальний код операції %u: адреса+%u = "
 
-#: src/readelf.c:8749
-#, fuzzy, c-format
+#: src/readelf.c:8804
+#, c-format
 msgid ", op_index = %u, line%+d = %zu\n"
-msgstr ""
-" спеціальний код операції %u: адреса+%u = %s, індекс_оп = %u, рядок%+d = "
-"%zu\n"
+msgstr ", індекс_оп = %u, рядок%+d = %zu\n"
 
-#: src/readelf.c:8752
+#: src/readelf.c:8807
 #, c-format
 msgid ", line%+d = %zu\n"
-msgstr ""
+msgstr ", рядок%+d = %zu\n"
 
-#: src/readelf.c:8770
+#: src/readelf.c:8825
 #, c-format
 msgid " extended opcode %u: "
 msgstr " розширений код операції %u: "
 
-#: src/readelf.c:8775
+#: src/readelf.c:8830
 msgid " end of sequence"
 msgstr " кінець послідовності"
 
-#: src/readelf.c:8793
-#, fuzzy, c-format
+#: src/readelf.c:8848
+#, c-format
 msgid " set address to "
-msgstr " встановити адресу у значення %s\n"
+msgstr " встановити адресу у значення "
 
-#: src/readelf.c:8821
+#: src/readelf.c:8876
 #, c-format
 msgid " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
 msgstr ""
 " визначення нового файла: dir=%u, mtime=%<PRIu64>, довжина=%<PRIu64>, назва="
 "%s\n"
 
-#: src/readelf.c:8835
+#: src/readelf.c:8890
 #, c-format
 msgid " set discriminator to %u\n"
 msgstr " встановити розрізнення для %u\n"
 
 #. Unknown, ignore it.
-#: src/readelf.c:8840
+#: src/readelf.c:8895
 msgid " unknown opcode"
 msgstr " невідомий код операції"
 
 #. Takes no argument.
-#: src/readelf.c:8852
+#: src/readelf.c:8907
 msgid " copy"
 msgstr " копія"
 
-#: src/readelf.c:8863
-#, fuzzy, c-format
+#: src/readelf.c:8918
+#, c-format
 msgid " advance address by %u to "
-msgstr " збільшення адреси на %u до %s\n"
+msgstr " збільшення адреси на %u до "
 
-#: src/readelf.c:8867 src/readelf.c:8928
+#: src/readelf.c:8922 src/readelf.c:8983
 #, c-format
 msgid ", op_index to %u"
-msgstr ""
+msgstr ", op_index до %u"
 
-#: src/readelf.c:8879
+#: src/readelf.c:8934
 #, c-format
 msgid " advance line by constant %d to %<PRId64>\n"
 msgstr " просувати рядок на сталу %d до %<PRId64>\n"
 
-#: src/readelf.c:8889
+#: src/readelf.c:8944
 #, c-format
 msgid " set file to %<PRIu64>\n"
 msgstr " встановити файл у %<PRIu64>\n"
 
-#: src/readelf.c:8900
+#: src/readelf.c:8955
 #, c-format
 msgid " set column to %<PRIu64>\n"
 msgstr " встановити значення стовпчика %<PRIu64>\n"
 
-#: src/readelf.c:8907
+#: src/readelf.c:8962
 #, c-format
 msgid " set '%s' to %<PRIuFAST8>\n"
 msgstr " встановити «%s» у %<PRIuFAST8>\n"
 
 #. Takes no argument.
-#: src/readelf.c:8913
+#: src/readelf.c:8968
 msgid " set basic block flag"
 msgstr " встановити прапорець базового блоку"
 
-#: src/readelf.c:8924
-#, fuzzy, c-format
+#: src/readelf.c:8979
+#, c-format
 msgid " advance address by constant %u to "
-msgstr " збільшити адресу на сталу величину %u до %s\n"
+msgstr " збільшити адресу на сталу величину %u до "
 
-#: src/readelf.c:8944
-#, fuzzy, c-format
+#: src/readelf.c:8999
+#, c-format
 msgid " advance address by fixed value %u to \n"
-msgstr " збільшити адресу на фіксовану величину %u до %s\n"
+msgstr " збільшити адресу на фіксовану величину %u до \n"
 
 #. Takes no argument.
-#: src/readelf.c:8954
+#: src/readelf.c:9009
 msgid " set prologue end flag"
 msgstr " встановити прапорець кінця вступу"
 
 #. Takes no argument.
-#: src/readelf.c:8959
+#: src/readelf.c:9014
 msgid " set epilogue begin flag"
 msgstr " встановити прапорець початку епілогу"
 
-#: src/readelf.c:8969
+#: src/readelf.c:9024
 #, c-format
 msgid " set isa to %u\n"
 msgstr " встановити isa у %u\n"
@@ -5677,7 +5704,7 @@
 #. 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:8978
+#: src/readelf.c:9033
 #, c-format
 msgid " unknown opcode with %<PRIu8> parameter:"
 msgid_plural " unknown opcode with %<PRIu8> parameters:"
@@ -5685,97 +5712,102 @@
 msgstr[1] " невідомий код операції з %<PRIu8> параметрами:"
 msgstr[2] " невідомий код операції з %<PRIu8> параметрами:"
 
-#: src/readelf.c:9018
-#, fuzzy, c-format
+#: src/readelf.c:9073
+#, c-format
 msgid "cannot get .debug_loclists content: %s"
-msgstr "не вдалося отримати вміст .debug_loc: %s"
+msgstr "не вдалося отримати вміст .debug_loclists: %s"
 
-#: src/readelf.c:9187
+#: src/readelf.c:9239
 #, fuzzy, c-format
-msgid "invalid loclists data"
-msgstr "некоректні дані"
+msgid "    <INVALID DATA>\n"
+msgstr "   <НЕКОРЕКТНІ ДАНІ>\n"
 
-#: src/readelf.c:9440
+#: src/readelf.c:9279
+#, c-format
+msgid "invalid loclists data"
+msgstr "некоректні дані loclists"
+
+#: src/readelf.c:9532
 #, c-format
 msgid "cannot get .debug_loc content: %s"
 msgstr "не вдалося отримати вміст .debug_loc: %s"
 
-#: src/readelf.c:9647 src/readelf.c:10691
+#: src/readelf.c:9745 src/readelf.c:10789
 msgid "   <INVALID DATA>\n"
 msgstr "   <НЕКОРЕКТНІ ДАНІ>\n"
 
-#: src/readelf.c:9702 src/readelf.c:9865
+#: src/readelf.c:9800 src/readelf.c:9963
 #, c-format
 msgid "cannot get macro information section data: %s"
 msgstr "не вдалося отримати дані розділу відомостей щодо макросів: %s"
 
-#: src/readelf.c:9782
+#: src/readelf.c:9880
 #, c-format
 msgid "%*s*** non-terminated string at end of section"
 msgstr "%*s*** незавершений рядок наприкінці розділу"
 
-#: src/readelf.c:9805
+#: src/readelf.c:9903
 #, c-format
 msgid "%*s*** missing DW_MACINFO_start_file argument at end of section"
 msgstr "%*s*** пропущено аргумент DW_MACINFO_start_file наприкінці розділу"
 
-#: src/readelf.c:9906
+#: src/readelf.c:10004
 #, c-format
 msgid " Offset:             0x%<PRIx64>\n"
 msgstr " Зміщення:           0x%<PRIx64>\n"
 
-#: src/readelf.c:9918
+#: src/readelf.c:10016
 #, c-format
 msgid " Version:            %<PRIu16>\n"
 msgstr " Версія:             %<PRIu16>\n"
 
-#: src/readelf.c:9924 src/readelf.c:10811
+#: src/readelf.c:10022 src/readelf.c:10909
 #, c-format
 msgid "  unknown version, cannot parse section\n"
 msgstr "  невідома версія, не вдалося обробити розділ\n"
 
-#: src/readelf.c:9931
-#, fuzzy, c-format
+#: src/readelf.c:10029
+#, c-format
 msgid " Flag:               0x%<PRIx8>"
-msgstr " Прапорець:          0x%<PRIx8>\n"
+msgstr " Прапорець:          0x%<PRIx8>"
 
-#: src/readelf.c:9960
+#: src/readelf.c:10058
 #, c-format
 msgid " Offset length:      %<PRIu8>\n"
 msgstr " Довжина зміщення:   %<PRIu8>\n"
 
-#: src/readelf.c:9968
+#: src/readelf.c:10066
 #, c-format
 msgid " .debug_line offset: 0x%<PRIx64>\n"
 msgstr " зміщення .debug_line: 0x%<PRIx64>\n"
 
-#: src/readelf.c:9993
+#: src/readelf.c:10091
 #, c-format
 msgid "  extension opcode table, %<PRIu8> items:\n"
 msgstr "  таблиця кодів операцій розширень, записів — %<PRIu8>:\n"
 
-#: src/readelf.c:10000
+#: src/readelf.c:10098
 #, c-format
 msgid "    [%<PRIx8>]"
 msgstr "    [%<PRIx8>]"
 
-#: src/readelf.c:10012
+#: src/readelf.c:10110
 #, c-format
 msgid " %<PRIu8> arguments:"
 msgstr " %<PRIu8> аргументів:"
 
-#: src/readelf.c:10027
+#: src/readelf.c:10125
 #, c-format
 msgid " no arguments."
 msgstr " немає аргументів."
 
-#: src/readelf.c:10228
+#: src/readelf.c:10326
 #, c-format
 msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
 msgstr ""
 " [%5d] зміщення DIE: %6<PRId64>, зміщення CU DIE: %6<PRId64>, назва: %s\n"
 
-#: src/readelf.c:10272
+#: src/readelf.c:10370
 #, c-format
 msgid ""
 "\n"
@@ -5786,41 +5818,37 @@
 "Розділ DWARF [%2zu] «%s» зі зміщенням %#<PRIx64>:\n"
 " %*s  Рядок\n"
 
-#: src/readelf.c:10287
-#, fuzzy, c-format
+#: src/readelf.c:10385
+#, c-format
 msgid " *** error, missing string terminator\n"
-msgstr " *** помилка під час читання рядків: %s\n"
+msgstr " *** помилка, пропущено роздільник рядків\n"
 
-#: src/readelf.c:10316
-#, fuzzy, c-format
+#: src/readelf.c:10414
+#, c-format
 msgid "cannot get .debug_str_offsets section data: %s"
-msgstr "не вдалося отримати дані розділу: %s"
+msgstr "не вдалося отримати дані розділу .debug_str_offsets: %s"
 
-#: src/readelf.c:10415
-#, fuzzy, c-format
+#: src/readelf.c:10513
+#, c-format
 msgid " Length:        %8<PRIu64>\n"
-msgstr ""
-"\n"
-" Довжина:       %6<PRIu64>\n"
+msgstr " Довжина:       %8<PRIu64>\n"
 
-#: src/readelf.c:10417
-#, fuzzy, c-format
+#: src/readelf.c:10515
+#, c-format
 msgid " Offset size:   %8<PRIu8>\n"
-msgstr " Довжина зміщення:   %<PRIu8>\n"
+msgstr " Розмір зсуву:   %8<PRIu8>\n"
 
-#: src/readelf.c:10431
-#, fuzzy, c-format
+#: src/readelf.c:10529
+#, c-format
 msgid " DWARF version: %8<PRIu16>\n"
-msgstr " версія DWARF:  %6<PRIuFAST16>\n"
+msgstr " версія DWARF:  %8<PRIu16>\n"
 
-#: src/readelf.c:10440
-#, fuzzy, c-format
+#: src/readelf.c:10538
+#, c-format
 msgid " Padding:       %8<PRIx16>\n"
-msgstr ""
-"\n"
-" Довжина:       %6<PRIu64>\n"
+msgstr " Заповнення:     %8<PRIx16>\n"
 
-#: src/readelf.c:10494
+#: src/readelf.c:10592
 #, c-format
 msgid ""
 "\n"
@@ -5829,7 +5857,7 @@
 "\n"
 "Розділ таблиці пошуку вікон виклику [%2zu] '.eh_frame_hdr':\n"
 
-#: src/readelf.c:10596
+#: src/readelf.c:10694
 #, c-format
 msgid ""
 "\n"
@@ -5838,22 +5866,22 @@
 "\n"
 "Розділ таблиці обробки виключень [%2zu] '.gcc_except_table':\n"
 
-#: src/readelf.c:10619
+#: src/readelf.c:10717
 #, c-format
 msgid " LPStart encoding:    %#x "
 msgstr " Кодування LPStart:   %#x "
 
-#: src/readelf.c:10631
+#: src/readelf.c:10729
 #, c-format
 msgid " TType encoding:      %#x "
 msgstr " Кодування TType:     %#x "
 
-#: src/readelf.c:10646
+#: src/readelf.c:10744
 #, c-format
 msgid " Call site encoding:  %#x "
 msgstr " Кодування місця виклику:%#x "
 
-#: src/readelf.c:10659
+#: src/readelf.c:10757
 msgid ""
 "\n"
 " Call site table:"
@@ -5861,7 +5889,7 @@
 "\n"
 " Таблиця місця виклику:"
 
-#: src/readelf.c:10673
+#: src/readelf.c:10771
 #, c-format
 msgid ""
 " [%4u] Call site start:   %#<PRIx64>\n"
@@ -5874,12 +5902,12 @@
 "        Місце застосування:   %#<PRIx64>\n"
 "        Дія:                  %u\n"
 
-#: src/readelf.c:10746
+#: src/readelf.c:10844
 #, c-format
 msgid "invalid TType encoding"
 msgstr "некоректне кодування TType"
 
-#: src/readelf.c:10773
+#: src/readelf.c:10871
 #, c-format
 msgid ""
 "\n"
@@ -5888,37 +5916,37 @@
 "\n"
 "Розділ GDB [%2zu] «%s» за зміщенням %#<PRIx64> містить %<PRId64> байтів:\n"
 
-#: src/readelf.c:10802
+#: src/readelf.c:10900
 #, c-format
 msgid " Version:         %<PRId32>\n"
 msgstr " Версія:          %<PRId32>\n"
 
-#: src/readelf.c:10820
+#: src/readelf.c:10918
 #, c-format
 msgid " CU offset:       %#<PRIx32>\n"
 msgstr " зміщення CU:     %#<PRIx32>\n"
 
-#: src/readelf.c:10827
+#: src/readelf.c:10925
 #, c-format
 msgid " TU offset:       %#<PRIx32>\n"
 msgstr " зміщення TU:      %#<PRIx32>\n"
 
-#: src/readelf.c:10834
+#: src/readelf.c:10932
 #, c-format
 msgid " address offset:  %#<PRIx32>\n"
 msgstr " зміщення адреси: %#<PRIx32>\n"
 
-#: src/readelf.c:10841
+#: src/readelf.c:10939
 #, c-format
 msgid " symbol offset:   %#<PRIx32>\n"
 msgstr " зміщення символу: %#<PRIx32>\n"
 
-#: src/readelf.c:10848
+#: src/readelf.c:10946
 #, c-format
 msgid " constant offset: %#<PRIx32>\n"
 msgstr " стале зміщення:  %#<PRIx32>\n"
 
-#: src/readelf.c:10862
+#: src/readelf.c:10960
 #, c-format
 msgid ""
 "\n"
@@ -5927,7 +5955,7 @@
 "\n"
 " Список CU зі зміщенням %#<PRIx32> містить %zu записів:\n"
 
-#: src/readelf.c:10887
+#: src/readelf.c:10985
 #, c-format
 msgid ""
 "\n"
@@ -5936,7 +5964,7 @@
 "\n"
 " Список TU зі зміщенням %#<PRIx32> містить %zu записів:\n"
 
-#: src/readelf.c:10916
+#: src/readelf.c:11014
 #, c-format
 msgid ""
 "\n"
@@ -5945,7 +5973,7 @@
 "\n"
 " Список адрес зі зміщенням %#<PRIx32> містить %zu записів:\n"
 
-#: src/readelf.c:10948
+#: src/readelf.c:11046
 #, c-format
 msgid ""
 "\n"
@@ -5954,18 +5982,18 @@
 "\n"
 " Таблиця символів за зміщенням %#<PRIx32> містить %zu позицій:\n"
 
-#: src/readelf.c:11086
+#: src/readelf.c:11184
 #, c-format
 msgid "cannot get debug context descriptor: %s"
 msgstr "не вдалося отримати дескриптор контексту зневаджування: %s"
 
-#: src/readelf.c:11449 src/readelf.c:12071 src/readelf.c:12182
-#: src/readelf.c:12240
+#: src/readelf.c:11552 src/readelf.c:12179 src/readelf.c:12290
+#: src/readelf.c:12348
 #, c-format
 msgid "cannot convert core note data: %s"
 msgstr "не вдалося перетворити дані запису ядра: %s"
 
-#: src/readelf.c:11812
+#: src/readelf.c:11915
 #, c-format
 msgid ""
 "\n"
@@ -5974,21 +6002,21 @@
 "\n"
 "%*s... <повторюється %u разів> ..."
 
-#: src/readelf.c:12319
+#: src/readelf.c:12427
 msgid "  Owner          Data size  Type\n"
 msgstr "  Власник        Розм. даних Тип\n"
 
-#: src/readelf.c:12348
+#: src/readelf.c:12456
 #, c-format
 msgid "  %-13.*s  %9<PRId32>  %s\n"
 msgstr "  %-13.*s  %9<PRId32>  %s\n"
 
-#: src/readelf.c:12400
-#, fuzzy, c-format
+#: src/readelf.c:12508
+#, c-format
 msgid "cannot get content of note: %s"
-msgstr "не вдалося отримати вміст розділу записів: %s"
+msgstr "не вдалося отримати вміст нотатки: %s"
 
-#: src/readelf.c:12434
+#: src/readelf.c:12542
 #, c-format
 msgid ""
 "\n"
@@ -5998,7 +6026,7 @@
 "Розділ записів (note) [%2zu] «%s» з %<PRIu64> байтів за зміщенням "
 "%#0<PRIx64>:\n"
 
-#: src/readelf.c:12457
+#: src/readelf.c:12565
 #, c-format
 msgid ""
 "\n"
@@ -6007,7 +6035,7 @@
 "\n"
 "Сегмент записів з %<PRIu64> байтів за зміщенням %#0<PRIx64>:\n"
 
-#: src/readelf.c:12504
+#: src/readelf.c:12612
 #, c-format
 msgid ""
 "\n"
@@ -6016,12 +6044,12 @@
 "\n"
 "У розділі [%zu] «%s» не міститься даних для створення дампу.\n"
 
-#: src/readelf.c:12531 src/readelf.c:12582
+#: src/readelf.c:12639 src/readelf.c:12690
 #, c-format
 msgid "cannot get data for section [%zu] '%s': %s"
 msgstr "не вдалося отримати дані для розділу [%zu] «%s»: %s"
 
-#: src/readelf.c:12536
+#: src/readelf.c:12644
 #, c-format
 msgid ""
 "\n"
@@ -6030,17 +6058,18 @@
 "\n"
 "Шіст. дамп розділу [%zu] «%s», %<PRIu64> байтів за зміщенням %#0<PRIx64>:\n"
 
-#: src/readelf.c:12541
-#, fuzzy, c-format
+#: src/readelf.c:12649
+#, c-format
 msgid ""
 "\n"
 "Hex dump of section [%zu] '%s', %<PRIu64> bytes (%zd uncompressed) at offset "
 "%#0<PRIx64>:\n"
 msgstr ""
 "\n"
-"Шіст. дамп розділу [%zu] «%s», %<PRIu64> байтів за зміщенням %#0<PRIx64>:\n"
+"Шіст. дамп розділу [%zu] «%s», %<PRIu64> байтів (%zd нестиснено) за "
+"зміщенням %#0<PRIx64>:\n"
 
-#: src/readelf.c:12555
+#: src/readelf.c:12663
 #, c-format
 msgid ""
 "\n"
@@ -6049,7 +6078,7 @@
 "\n"
 "У розділі [%zu] «%s» не міститься рядків для створення дампу.\n"
 
-#: src/readelf.c:12587
+#: src/readelf.c:12695
 #, c-format
 msgid ""
 "\n"
@@ -6058,17 +6087,18 @@
 "\n"
 "Розділ рядків [%zu] «%s» містить %<PRIu64> байтів за зміщенням %#0<PRIx64>:\n"
 
-#: src/readelf.c:12592
-#, fuzzy, c-format
+#: src/readelf.c:12700
+#, c-format
 msgid ""
 "\n"
 "String section [%zu] '%s' contains %<PRIu64> bytes (%zd uncompressed) at "
 "offset %#0<PRIx64>:\n"
 msgstr ""
 "\n"
-"Розділ рядків [%zu] «%s» містить %<PRIu64> байтів за зміщенням %#0<PRIx64>:\n"
+"Рядок розділу [%zu] «%s» містить %<PRIu64> байти (%zd нестиснено) на "
+"зміщенні %#0<PRIx64>:\n"
 
-#: src/readelf.c:12641
+#: src/readelf.c:12749
 #, c-format
 msgid ""
 "\n"
@@ -6077,7 +6107,7 @@
 "\n"
 "розділу [%lu] не існує"
 
-#: src/readelf.c:12671
+#: src/readelf.c:12779
 #, c-format
 msgid ""
 "\n"
@@ -6086,12 +6116,12 @@
 "\n"
 "розділу «%s» не існує"
 
-#: src/readelf.c:12728
+#: src/readelf.c:12836
 #, c-format
 msgid "cannot get symbol index of archive '%s': %s"
 msgstr "не вдалося отримати покажчик символів архіву «%s»: %s"
 
-#: src/readelf.c:12731
+#: src/readelf.c:12839
 #, c-format
 msgid ""
 "\n"
@@ -6100,7 +6130,7 @@
 "\n"
 "У архіві «%s» немає покажчика символів\n"
 
-#: src/readelf.c:12735
+#: src/readelf.c:12843
 #, c-format
 msgid ""
 "\n"
@@ -6109,12 +6139,12 @@
 "\n"
 "Покажчик архіву «%s» містить %zu записів:\n"
 
-#: src/readelf.c:12753
+#: src/readelf.c:12861
 #, c-format
 msgid "cannot extract member at offset %zu in '%s': %s"
 msgstr "не вдалося видобути елемент за зміщенням %zu у «%s»: %s"
 
-#: src/readelf.c:12758
+#: src/readelf.c:12866
 #, c-format
 msgid "Archive member '%s' contains:\n"
 msgstr "Елемент архіву «%s» містить:\n"
@@ -6181,77 +6211,77 @@
 msgid "%s: file format not recognized"
 msgstr "%s: не вдалося розпізнати формат файла"
 
-#: src/size.c:418 src/size.c:557
+#: src/size.c:418 src/size.c:560
 #, c-format
 msgid " (ex %s)"
 msgstr " (прикл. %s)"
 
 #: src/size.c:482
-#, fuzzy, c-format
+#, c-format
 msgid "cannot get section header"
-msgstr "не вдалося отримати заголовок розділу\n"
+msgstr "не вдалося отримати заголовок розділу"
 
-#: src/size.c:582
+#: src/size.c:585
 msgid "(TOTALS)\n"
 msgstr "(ЗАГАЛОМ)\n"
 
-#: src/stack.c:482
+#: src/stack.c:487
 #, c-format
 msgid "-p PID should be a positive process id."
 msgstr "PID у -p PID має бути додатним значенням ідентифікатора процесу."
 
-#: src/stack.c:488
+#: src/stack.c:493
 #, c-format
 msgid "Cannot open core file '%s'"
 msgstr "Не вдалося відкрити файл дампу ядра «%s»"
 
-#: src/stack.c:548
+#: src/stack.c:553
 #, c-format
 msgid "-n MAXFRAMES should be 0 or higher."
 msgstr "MAXFRAMES у -n має бути значенням рівним 0 або більшим."
 
-#: src/stack.c:560
+#: src/stack.c:565
 #, c-format
 msgid "-e EXEC needs a core given by --core."
 msgstr "Для -e EXEC слід вказати ядро за допомогою --core."
 
-#: src/stack.c:564
+#: src/stack.c:569
 #, c-format
 msgid "-1 needs a thread id given by -p."
 msgstr "-1 слід передати ідентифікатор потоку виконання, заданого -p."
 
-#: src/stack.c:568
+#: src/stack.c:573
 #, c-format
 msgid "One of -p PID or --core COREFILE should be given."
 msgstr "Слід вказати -p PID або --core COREFILE."
 
-#: src/stack.c:640
+#: src/stack.c:645
 msgid "Show stack of process PID"
 msgstr "Вивести стек PID процесу"
 
-#: src/stack.c:642
+#: src/stack.c:647
 msgid "Show stack found in COREFILE"
 msgstr "Вивести стек, знайдений у COREFILE"
 
-#: src/stack.c:643
+#: src/stack.c:648
 msgid "(optional) EXECUTABLE that produced COREFILE"
 msgstr "(необов’язковий) EXECUTABLE, яким створено COREFILE"
 
-#: src/stack.c:647
+#: src/stack.c:652
 msgid "Output selection options:"
 msgstr "Параметри вибору виведених даних:"
 
-#: src/stack.c:649
+#: src/stack.c:654
 msgid "Additionally show frame activation"
 msgstr "Додатково вивести активацію вікна"
 
-#: src/stack.c:651
+#: src/stack.c:656
 msgid "Additionally try to lookup DWARF debuginfo name for frame address"
 msgstr ""
 "Додатково спробувати визначити назву файла даних діагностики DWARF для "
 "адреси вікна"
 
-#: src/stack.c:654
+#: src/stack.c:659
 msgid ""
 "Additionally show inlined function frames using DWARF debuginfo if available "
 "(implies -d)"
@@ -6259,15 +6289,15 @@
 "Додатково вивести вікна вбудованих функцій за допомогою даних діагностики "
 "DWARF, якщо такі є (використовується і -d)"
 
-#: src/stack.c:656
+#: src/stack.c:661
 msgid "Additionally show module file information"
 msgstr "Додатково вивести дані щодо файла модуля"
 
-#: src/stack.c:658
+#: src/stack.c:663
 msgid "Additionally show source file information"
 msgstr "Додатково вивести дані щодо файла початкового коду"
 
-#: src/stack.c:660
+#: src/stack.c:665
 msgid ""
 "Show all additional information (activation, debugname, inlines, module and "
 "source)"
@@ -6275,44 +6305,43 @@
 "Вивести усі додаткові дані (активацію, назву у системі діагностики, "
 "вбудовані функції, модуль і початковий файл)"
 
-#: src/stack.c:662
+#: src/stack.c:667
 msgid "Do not resolve address to function symbol name"
 msgstr "Не розгортати адресу до назви символу функції"
 
-#: src/stack.c:664
+#: src/stack.c:669
 msgid "Show raw function symbol names, do not try to demangle names"
 msgstr ""
 "Вивести назви символів функцій без обробки, не намагатися розшифрувати назви"
 
-#: src/stack.c:666
+#: src/stack.c:671
 msgid "Show module build-id, load address and pc offset"
 msgstr "Виводити ідентифікатор збирання, адресу завантаження та зсув модуля"
 
-#: src/stack.c:668
+#: src/stack.c:673
 msgid "Show the backtrace of only one thread"
 msgstr "Виводити зворотне трасування лише одного потоку"
 
-#: src/stack.c:670
+#: src/stack.c:675
 msgid "Show at most MAXFRAMES per thread (default 256, use 0 for unlimited)"
 msgstr ""
 "Виводити не більше MAXFRAMES на потік виконання (типове значення 256, 0 — не "
 "обмежувати)"
 
-#: src/stack.c:672
+#: src/stack.c:677
 msgid "Show module memory map with build-id, elf and debug files detected"
 msgstr ""
 "Вивести карту пам’яті модуля із виявленими ідентифікатором збирання, elf та "
 "файлами діагностичних даних"
 
-#: src/stack.c:680
-#, fuzzy
+#: src/stack.c:685
 msgid ""
 "Print a stack for each thread in a process or core file.\n"
 "\n"
 "Program exits with return code 0 if all frames were shown without any "
 "errors.  If some frames were shown, but there were some non-fatal errors, "
 "possibly causing an incomplete backtrace, the program exits with return code "
-"1.  If no frames could be shown, or a fatal error occured the program exits "
+"1.  If no frames could be shown, or a fatal error occurred the program exits "
 "with return code 2.  If the program was invoked with bad or missing "
 "arguments it will exit with return code 64."
 msgstr ""
@@ -6326,7 +6355,7 @@
 "програму було викликано з помилковими або пропущеними аргументами, програма "
 "завершить роботу з кодом виходу 64."
 
-#: src/stack.c:755
+#: src/stack.c:760
 #, c-format
 msgid "Couldn't show any frames."
 msgstr "Не вдалося вивести жодного вікна."
@@ -6347,7 +6376,7 @@
 
 #: src/strings.c:69
 msgid ""
-"Select character size and endianess: s = 7-bit, S = 8-bit, {b,l} = 16-bit, "
+"Select character size and endianness: s = 7-bit, S = 8-bit, {b,l} = 16-bit, "
 "{B,L} = 32-bit"
 msgstr ""
 "Визначення розмірності та порядку бітів символів: s = 7-бітові, S = 8-"
@@ -6381,9 +6410,9 @@
 msgstr "некоректна мінімальна довжина розмірності рядка для порівняння"
 
 #: src/strings.c:585
-#, fuzzy, c-format
+#, c-format
 msgid "lseek failed"
-msgstr "помилка lseek64"
+msgstr "помилка lseek"
 
 #: src/strings.c:602 src/strings.c:666
 #, c-format
@@ -6428,7 +6457,7 @@
 msgid ""
 "Resolve all trivial relocations between debug sections if the removed "
 "sections are placed in a debug file (only relevant for ET_REL files, "
-"operation is not reversable, needs -f)"
+"operation is not reversible, needs -f)"
 msgstr ""
 "Розв’язати всі очевидні пересування між діагностичними розділами, якщо "
 "вилучені розділи було розташовано у діагностичному файлі (стосується лише "
@@ -6438,9 +6467,13 @@
 msgid ""
 "Similar to --reloc-debug-sections, but resolve all trivial relocations "
 "between debug sections in place.  No other stripping is performed (operation "
-"is not reversable, incompatible with -f, -g, --remove-comment and --remove-"
+"is not reversible, incompatible with -f, -g, --remove-comment and --remove-"
 "section)"
 msgstr ""
+"Подібний до --reloc-debug-sections, або усі тривіальні переміщення між "
+"розділами діагностики вирішуються на місці. Додаткове очищення не "
+"виконується (дію неможливо скасувати, параметр несумісний із -f, -g, --"
+"remove-comment та --remove-section)"
 
 #: src/strip.c:89
 msgid "Remove .comment section"
@@ -6451,12 +6484,17 @@
 "Remove the named section.  SECTION is an extended wildcard pattern.  May be "
 "given more than once.  Only non-allocated sections can be removed."
 msgstr ""
+"Вилучити іменований розділ. РОЗДІЛ є розширеним взірцем із символами-"
+"замінниками. Можна вказувати декілька розділів. Може бути вилучено лише "
+"нерозміщені у пам'яті розділи."
 
 #: src/strip.c:91
 msgid ""
 "Keep the named section.  SECTION is an extended wildcard pattern.  May be "
 "given more than once."
 msgstr ""
+"Зберегти іменований розділ. РОЗДІЛ є розширеним взірцем із символами-"
+"замінниками. Можна вказувати декілька розділів."
 
 #. Short description of program.
 #: src/strip.c:98
@@ -6474,6 +6512,8 @@
 "--reloc-debug-sections-only incompatible with -f, -g, --remove-comment and --"
 "remove-section"
 msgstr ""
+"--reloc-debug-sections-only є несумісним із -f, -g, --remove-comment та --"
+"remove-section"
 
 #: src/strip.c:267
 #, c-format
@@ -6492,26 +6532,26 @@
 msgstr "параметр -F вказано двічі"
 
 #: src/strip.c:362
-#, fuzzy, c-format
+#, c-format
 msgid "cannot both keep and remove .comment section"
-msgstr "Вилучити розділ .comment"
+msgstr "неможливо одночасно зберегти і вилучити розділ .comment"
 
-#: src/strip.c:574
+#: src/strip.c:481
 #, c-format
 msgid "bad relocation"
 msgstr "помилкове пересування"
 
-#: src/strip.c:726 src/strip.c:750
+#: src/strip.c:747 src/strip.c:771
 #, c-format
 msgid "cannot stat input file '%s'"
 msgstr "не вдалося отримати дані з вхідного файла «%s» за допомогою stat"
 
-#: src/strip.c:740
+#: src/strip.c:761
 #, c-format
 msgid "while opening '%s'"
 msgstr "під час спроби відкриття «%s»"
 
-#: src/strip.c:778
+#: src/strip.c:799
 #, c-format
 msgid "%s: cannot use -o or -f when stripping archive"
 msgstr ""
@@ -6524,270 +6564,271 @@
 #. result = handle_ar (fd, elf, NULL, fname,
 #. preserve_dates ? tv : NULL);
 #.
-#: src/strip.c:790
+#: src/strip.c:811
 #, c-format
 msgid "%s: no support for stripping archive"
 msgstr "%s: підтримки вилучення додаткового вмісту з архіву не передбачено"
 
-#: src/strip.c:1001
+#: src/strip.c:1047
 #, c-format
 msgid "cannot open EBL backend"
 msgstr "не вдалося відкрити канал сервера EBL"
 
-#: src/strip.c:1046
+#: src/strip.c:1092
 #, c-format
 msgid "cannot get number of phdrs"
 msgstr "не вдалося отримати кількість phdr"
 
-#: src/strip.c:1060 src/strip.c:1103
-#, fuzzy, c-format
+#: src/strip.c:1106 src/strip.c:1149
+#, c-format
 msgid "cannot create new ehdr for file '%s': %s"
-msgstr "не вдалося створити файл «%s»: %s"
+msgstr "не вдалося створити ehdr для файла «%s»: %s"
 
-#: src/strip.c:1070 src/strip.c:1113
-#, fuzzy, c-format
+#: src/strip.c:1116 src/strip.c:1159
+#, c-format
 msgid "cannot create new phdr for file '%s': %s"
-msgstr "не вдалося створити файл «%s»: %s"
+msgstr "не вдалося створити phdr для файла «%s»: %s"
 
-#: src/strip.c:1194
+#: src/strip.c:1240
 #, c-format
 msgid "illformed file '%s'"
 msgstr "помилкове форматування файла «%s»"
 
-#: src/strip.c:1204
-#, fuzzy, c-format
+#: src/strip.c:1250
+#, c-format
 msgid "Cannot remove allocated section '%s'"
-msgstr "не вдалося розмістити PLT-розділ: %s"
+msgstr "Неможливо вилучити розміщений у пам'яті розділ «%s»"
 
-#: src/strip.c:1213
-#, fuzzy, c-format
+#: src/strip.c:1259
+#, c-format
 msgid "Cannot both keep and remove section '%s'"
-msgstr "не вдалося додати новий розділ: %s"
+msgstr "Неможливо одночасно зберегти та вилучити розділ «%s»"
 
-#: src/strip.c:1573 src/strip.c:1688
+#: src/strip.c:1624 src/strip.c:1739
 #, c-format
 msgid "while generating output file: %s"
 msgstr "під час спроби створення файла з виведеними даними: %s"
 
-#: src/strip.c:1637
-#, fuzzy, c-format
+#: src/strip.c:1688
+#, c-format
 msgid "%s: error while updating ELF header: %s"
-msgstr "%s: помилка під час створення заголовка ELF: %s"
+msgstr "%s: помилка під час оновлення заголовка ELF: %s"
 
-#: src/strip.c:1646
-#, fuzzy, c-format
+#: src/strip.c:1697
+#, c-format
 msgid "%s: error while getting shdrstrndx: %s"
-msgstr "%s: помилка під час створення заголовка ELF: %s"
+msgstr "%s: помилка під час отримання shdrstrndx: %s"
 
-#: src/strip.c:1654 src/strip.c:2535
-#, fuzzy, c-format
+#: src/strip.c:1705 src/strip.c:2550
+#, c-format
 msgid "%s: error updating shdrstrndx: %s"
-msgstr "%s: помилка під час створення заголовка ELF: %s"
+msgstr "%s: помилка під час оновлення shdrstrndx: %s"
 
-#: src/strip.c:1671
+#: src/strip.c:1722
 #, c-format
 msgid "while preparing output for '%s'"
 msgstr "під час приготування виведених даних для «%s»"
 
-#: src/strip.c:1733 src/strip.c:1796
+#: src/strip.c:1784 src/strip.c:1847
 #, c-format
 msgid "while create section header section: %s"
 msgstr "під час створення розділу заголовка розділу: %s"
 
-#: src/strip.c:1742
+#: src/strip.c:1793
 #, c-format
 msgid "cannot allocate section data: %s"
 msgstr "не вдалося розмістити дані розділу: %s"
 
-#: src/strip.c:1808
+#: src/strip.c:1859
 #, c-format
 msgid "while create section header string table: %s"
 msgstr "під час створення таблиці рядків заголовка розділу: %s"
 
-#: src/strip.c:1815
-#, fuzzy, c-format
+#: src/strip.c:1866
+#, c-format
 msgid "no memory to create section header string table"
-msgstr "під час створення таблиці рядків заголовка розділу: %s"
+msgstr "недостатньо пам'яті для створення таблиці рядків заголовка розділу"
 
-#: src/strip.c:2028
+#: src/strip.c:2079
 #, c-format
 msgid "Cannot remove symbol [%zd] from allocated symbol table [%zd]"
 msgstr ""
+"Неможливо вилучити символ [%zd] з розміщеної у пам'яті таблиці символів [%zd]"
 
-#: src/strip.c:2451 src/strip.c:2559
+#: src/strip.c:2466 src/strip.c:2574
 #, c-format
 msgid "while writing '%s': %s"
 msgstr "під час запису «%s»: %s"
 
-#: src/strip.c:2462
+#: src/strip.c:2477
 #, c-format
 msgid "while creating '%s'"
 msgstr "під час спроби створення «%s»"
 
-#: src/strip.c:2485
+#: src/strip.c:2500
 #, c-format
 msgid "while computing checksum for debug information"
 msgstr "під час обчислення контрольної суми для діагностичних даних"
 
-#: src/strip.c:2526
+#: src/strip.c:2541
 #, c-format
 msgid "%s: error while creating ELF header: %s"
 msgstr "%s: помилка під час створення заголовка ELF: %s"
 
-#: src/strip.c:2544
+#: src/strip.c:2559
 #, c-format
 msgid "%s: error while reading the file: %s"
 msgstr "%s: помилка під час читання файла: %s"
 
-#: src/strip.c:2584 src/strip.c:2604
+#: src/strip.c:2599 src/strip.c:2619
 #, c-format
 msgid "while writing '%s'"
 msgstr "під час спроби запису «%s»"
 
-#: src/strip.c:2641 src/strip.c:2648
+#: src/strip.c:2656 src/strip.c:2663
 #, c-format
 msgid "error while finishing '%s': %s"
 msgstr "помилка під час завершення «%s»: %s"
 
-#: src/strip.c:2665 src/strip.c:2741
+#: src/strip.c:2680 src/strip.c:2756
 #, c-format
 msgid "cannot set access and modification date of '%s'"
 msgstr "не вдалося встановити права доступу та дату зміни «%s»"
 
-#: src/unstrip.c:70
+#: src/unstrip.c:66
 msgid "Match MODULE against file names, not module names"
 msgstr ""
 "Встановити відповідність МОДУЛЯ назвам файлів, а не назвам модулів names"
 
-#: src/unstrip.c:71
+#: src/unstrip.c:67
 msgid "Silently skip unfindable files"
 msgstr "Пропустити незнайдені файли без додаткових повідомлень"
 
-#: src/unstrip.c:74
+#: src/unstrip.c:70
 msgid "Place output into FILE"
 msgstr "Вивести дані у ФАЙЛ"
 
-#: src/unstrip.c:76
+#: src/unstrip.c:72
 msgid "Create multiple output files under DIRECTORY"
 msgstr "Створити декілька файлів виведених даних у КАТАЛОЗІ"
 
-#: src/unstrip.c:77
+#: src/unstrip.c:73
 msgid "Use module rather than file names"
 msgstr "Використовувати назви модулів, а не файлів"
 
-#: src/unstrip.c:79
+#: src/unstrip.c:75
 msgid "Create output for modules that have no separate debug information"
 msgstr ""
 "Вивести дані для модулів, які не містять окремих діагностичних відомостей"
 
-#: src/unstrip.c:82
+#: src/unstrip.c:78
 msgid "Apply relocations to section contents in ET_REL files"
 msgstr "Застосувати пересування до вмісту розділів у файлах ET_REL"
 
-#: src/unstrip.c:84
+#: src/unstrip.c:80
 msgid "Only list module and file names, build IDs"
 msgstr "Вивести лише список назв модулів, файлів, побудувати ідентифікатори"
 
-#: src/unstrip.c:86
+#: src/unstrip.c:82
 msgid "Force combining files even if some ELF headers don't seem to match"
 msgstr ""
 "Примусово поєднати файли, навіть якщо буде встановлено невідповідність "
 "якихось із заголовків ELF"
 
-#: src/unstrip.c:130
+#: src/unstrip.c:126
 #, c-format
 msgid "-d option specified twice"
 msgstr "параметр -d вказано двічі"
 
-#: src/unstrip.c:165
+#: src/unstrip.c:161
 #, c-format
 msgid "only one of -o or -d allowed"
 msgstr "можна використовувати лише один з параметрів: -o або -d"
 
-#: src/unstrip.c:174
+#: src/unstrip.c:170
 #, c-format
 msgid "-n cannot be used with explicit files or -o or -d"
 msgstr ""
 "-n не можна використовувати з файлами, заданими явно, або параметрами -o і -d"
 
-#: src/unstrip.c:189
+#: src/unstrip.c:185
 #, c-format
 msgid "output directory '%s'"
 msgstr "каталог виведення даних «%s»"
 
-#: src/unstrip.c:198
+#: src/unstrip.c:194
 #, c-format
 msgid "exactly two file arguments are required"
 msgstr "як аргументи має бути вказано точно два файла"
 
-#: src/unstrip.c:204
+#: src/unstrip.c:200
 #, c-format
 msgid "-m, -a, -R, and -i options not allowed with explicit files"
 msgstr ""
 "для файлів, заданих явно, не можна використовувати параметри -m, -a, -R і -i"
 
-#: src/unstrip.c:217
+#: src/unstrip.c:213
 #, c-format
 msgid "-o or -d is required when using implicit files"
 msgstr ""
 "якщо використовуються файли, задані неявно, слід додавати параметр -o або -d"
 
-#: src/unstrip.c:240
+#: src/unstrip.c:236
 #, c-format
 msgid "cannot create ELF header: %s"
 msgstr "не вдалося створити заголовок ELF: %s"
 
-#: src/unstrip.c:244
-#, fuzzy, c-format
+#: src/unstrip.c:240
+#, c-format
 msgid "cannot get shdrstrndx:%s"
-msgstr "не вдалося отримати розділ: %s"
+msgstr "не вдалося отримати shdrstrndx:%s"
 
-#: src/unstrip.c:248 src/unstrip.c:2081
+#: src/unstrip.c:244 src/unstrip.c:2085
 #, c-format
 msgid "cannot get ELF header: %s"
 msgstr "не вдалося отримати заголовок ELF: %s"
 
-#: src/unstrip.c:258
-#, fuzzy, c-format
+#: src/unstrip.c:254
+#, c-format
 msgid "cannot get new zero section: %s"
-msgstr "не вдалося отримати розділ: %s"
+msgstr "не вдалося отримати новий нульовий розділ: %s"
+
+#: src/unstrip.c:257
+#, c-format
+msgid "cannot update new zero section: %s"
+msgstr "неможливо оновити новий нульовий розділ: %s"
 
 #: src/unstrip.c:261
-#, fuzzy, c-format
-msgid "cannot update new zero section: %s"
-msgstr "не вдалося оновити пересування: %s"
-
-#: src/unstrip.c:265
 #, c-format
 msgid "cannot copy ELF header: %s"
 msgstr "не вдалося скопіювати заголовок ELF: %s"
 
-#: src/unstrip.c:269 src/unstrip.c:2099 src/unstrip.c:2142
+#: src/unstrip.c:265 src/unstrip.c:2103 src/unstrip.c:2146
 #, c-format
 msgid "cannot get number of program headers: %s"
 msgstr "не вдалося отримати кількість заголовків програми: %s"
 
-#: src/unstrip.c:274 src/unstrip.c:2103
+#: src/unstrip.c:270 src/unstrip.c:2107
 #, c-format
 msgid "cannot create program headers: %s"
 msgstr "не вдалося створити заголовки програми: %s"
 
-#: src/unstrip.c:280
+#: src/unstrip.c:276
 #, c-format
 msgid "cannot copy program header: %s"
 msgstr "не вдалося скопіювати заголовок програми: %s"
 
-#: src/unstrip.c:290
+#: src/unstrip.c:286
 #, c-format
 msgid "cannot copy section header: %s"
 msgstr "не вдалося скопіювати заголовок розділу: %s"
 
-#: src/unstrip.c:293 src/unstrip.c:1703
+#: src/unstrip.c:289 src/unstrip.c:1707
 #, c-format
 msgid "cannot get section data: %s"
 msgstr "не вдалося отримати дані розділу: %s"
 
-#: src/unstrip.c:295 src/unstrip.c:1705
+#: src/unstrip.c:291 src/unstrip.c:1709
 #, c-format
 msgid "cannot copy section data: %s"
 msgstr "не вдалося скопіювати дані розділу: %s"
@@ -6797,184 +6838,184 @@
 msgid "cannot create directory '%s'"
 msgstr "не вдалося створити каталог «%s»"
 
-#: src/unstrip.c:391 src/unstrip.c:651 src/unstrip.c:685 src/unstrip.c:853
-#: src/unstrip.c:1745
+#: src/unstrip.c:393 src/unstrip.c:655 src/unstrip.c:689 src/unstrip.c:857
+#: src/unstrip.c:1749
 #, c-format
 msgid "cannot get symbol table entry: %s"
 msgstr "не вдалося отримати запис таблиці символів: %s"
 
-#: src/unstrip.c:407 src/unstrip.c:654 src/unstrip.c:675 src/unstrip.c:688
-#: src/unstrip.c:1766 src/unstrip.c:1961 src/unstrip.c:1985
+#: src/unstrip.c:409 src/unstrip.c:658 src/unstrip.c:679 src/unstrip.c:692
+#: src/unstrip.c:1770 src/unstrip.c:1965 src/unstrip.c:1989
 #, c-format
 msgid "cannot update symbol table: %s"
 msgstr "не вдалося оновити таблицю символів: %s"
 
-#: src/unstrip.c:417
+#: src/unstrip.c:419
 #, c-format
 msgid "cannot update section header: %s"
 msgstr "не вдалося оновити заголовок розділу: %s"
 
-#: src/unstrip.c:463 src/unstrip.c:477
+#: src/unstrip.c:465 src/unstrip.c:479
 #, c-format
 msgid "cannot update relocation: %s"
 msgstr "не вдалося оновити пересування: %s"
 
-#: src/unstrip.c:574
+#: src/unstrip.c:578
 #, c-format
 msgid "cannot get symbol version: %s"
 msgstr "не вдалося отримати версію символу: %s"
 
-#: src/unstrip.c:587
+#: src/unstrip.c:591
 #, c-format
 msgid "unexpected section type in [%zu] with sh_link to symtab"
 msgstr "неочікуваний тип розділу у [%zu] з посиланням sh_link на symtab"
 
-#: src/unstrip.c:842
-#, fuzzy, c-format
+#: src/unstrip.c:846
+#, c-format
 msgid "cannot get symbol section data: %s"
-msgstr "не вдалося отримати дані розділу: %s"
+msgstr "не вдалося отримати дані розділу символів: %s"
 
-#: src/unstrip.c:844
-#, fuzzy, c-format
+#: src/unstrip.c:848
+#, c-format
 msgid "cannot get string section data: %s"
-msgstr "не вдалося отримати дані розділу: %s"
+msgstr "не вдалося отримати дані розділу рядків: %s"
 
-#: src/unstrip.c:861
+#: src/unstrip.c:865
 #, c-format
 msgid "invalid string offset in symbol [%zu]"
 msgstr "некоректне зміщення рядка у символі [%zu]"
 
-#: src/unstrip.c:1019 src/unstrip.c:1423
+#: src/unstrip.c:1023 src/unstrip.c:1427
 #, c-format
 msgid "cannot read section [%zu] name: %s"
 msgstr "не вдалося прочитати назву розділу [%zu]: %s"
 
-#: src/unstrip.c:1034
-#, fuzzy, c-format
+#: src/unstrip.c:1038
+#, c-format
 msgid "bad sh_link for group section: %s"
-msgstr "некоректне значення sh_link у розділі %zu"
+msgstr "помилкове значення sh_link для розділу груп: %s"
 
-#: src/unstrip.c:1040
-#, fuzzy, c-format
+#: src/unstrip.c:1044
+#, c-format
 msgid "couldn't get shdr for group section: %s"
-msgstr "не вдалося отримати заголовок 0-го розділу: %s"
+msgstr "не вдалося отримати shdr для розділу груп: %s"
 
-#: src/unstrip.c:1045
-#, fuzzy, c-format
+#: src/unstrip.c:1049
+#, c-format
 msgid "bad data for group symbol section: %s"
-msgstr "не вдалося отримати дані для розділу символів\n"
+msgstr "помилкові дані для розділу символів груп: %s"
 
-#: src/unstrip.c:1051
-#, fuzzy, c-format
+#: src/unstrip.c:1055
+#, c-format
 msgid "couldn't get symbol for group section: %s"
-msgstr "не вдалося отримати версію символу: %s"
+msgstr "не вдалося отримати символ для розділу груп: %s"
 
-#: src/unstrip.c:1056
-#, fuzzy, c-format
+#: src/unstrip.c:1060
+#, c-format
 msgid "bad symbol name for group section: %s"
-msgstr "не вдалося отримати заголовок розділу %zu: %s"
+msgstr "помилкова назва символу для розділу груп: %s"
 
-#: src/unstrip.c:1098 src/unstrip.c:1117 src/unstrip.c:1155
+#: src/unstrip.c:1102 src/unstrip.c:1121 src/unstrip.c:1159
 #, c-format
 msgid "cannot read '.gnu.prelink_undo' section: %s"
 msgstr "не вдалося прочитати розділ «.gnu.prelink_undo»: %s"
 
-#: src/unstrip.c:1135
+#: src/unstrip.c:1139
 #, c-format
 msgid "overflow with shnum = %zu in '%s' section"
-msgstr ""
+msgstr "переповнення з shnum = %zu у розділі «%s»"
 
-#: src/unstrip.c:1146
+#: src/unstrip.c:1150
 #, c-format
 msgid "invalid contents in '%s' section"
 msgstr "некоректний вміст розділу «%s»"
 
-#: src/unstrip.c:1202 src/unstrip.c:1549
+#: src/unstrip.c:1206 src/unstrip.c:1553
 #, c-format
 msgid "cannot find matching section for [%zu] '%s'"
 msgstr "не вдалося знайти відповідний розділ для [%zu] «%s»"
 
-#: src/unstrip.c:1327 src/unstrip.c:1343 src/unstrip.c:1629 src/unstrip.c:1920
+#: src/unstrip.c:1331 src/unstrip.c:1347 src/unstrip.c:1633 src/unstrip.c:1924
 #, c-format
 msgid "cannot add section name to string table: %s"
 msgstr "не вдалося додати назву розділу до таблиці рядків: %s"
 
-#: src/unstrip.c:1352
+#: src/unstrip.c:1356
 #, c-format
 msgid "cannot update section header string table data: %s"
 msgstr "не вдалося оновити дані заголовка розділу у таблиці рядків: %s"
 
-#: src/unstrip.c:1381 src/unstrip.c:1385
+#: src/unstrip.c:1385 src/unstrip.c:1389
 #, c-format
 msgid "cannot get section header string table section index: %s"
 msgstr ""
 "не вдалося визначити індекс розділу заголовка розділу у таблиці рядків: %s"
 
-#: src/unstrip.c:1389 src/unstrip.c:1393 src/unstrip.c:1644
+#: src/unstrip.c:1393 src/unstrip.c:1397 src/unstrip.c:1648
 #, c-format
 msgid "cannot get section count: %s"
 msgstr "не вдалося отримати кількість розділів: %s"
 
-#: src/unstrip.c:1396
+#: src/unstrip.c:1400
 #, c-format
 msgid "more sections in stripped file than debug file -- arguments reversed?"
 msgstr ""
 "у очищеному файлі більше розділів ніж у файлі з даними для зневаджування — "
 "помилковий порядок параметрів?"
 
-#: src/unstrip.c:1400
+#: src/unstrip.c:1404
 #, c-format
 msgid "no sections in stripped file"
-msgstr ""
+msgstr "у очищеному файлі немає розділів"
 
-#: src/unstrip.c:1471 src/unstrip.c:1564
+#: src/unstrip.c:1475 src/unstrip.c:1568
 #, c-format
 msgid "cannot read section header string table: %s"
 msgstr "не вдалося прочитати таблицю рядків заголовка розділу: %s"
 
-#: src/unstrip.c:1623
+#: src/unstrip.c:1627
 #, c-format
 msgid "cannot add new section: %s"
 msgstr "не вдалося додати новий розділ: %s"
 
-#: src/unstrip.c:1753
+#: src/unstrip.c:1757
 #, c-format
 msgid "symbol [%zu] has invalid section index"
 msgstr "символ [%zu] має некоректний індекс розділу"
 
-#: src/unstrip.c:1785
-#, fuzzy, c-format
+#: src/unstrip.c:1789
+#, c-format
 msgid "group has invalid section index [%zd]"
-msgstr "символ [%zu] має некоректний індекс розділу"
+msgstr "група містить некоректний індекс розділу [%zd]"
 
-#: src/unstrip.c:2060
+#: src/unstrip.c:2064
 #, c-format
 msgid "cannot read section data: %s"
 msgstr "не вдалося прочитати дані розділу: %s"
 
-#: src/unstrip.c:2089
+#: src/unstrip.c:2093
 #, c-format
 msgid "cannot update ELF header: %s"
 msgstr "не вдалося оновити заголовок ELF: %s"
 
-#: src/unstrip.c:2113
+#: src/unstrip.c:2117
 #, c-format
 msgid "cannot update program header: %s"
 msgstr "не вдалося оновити заголовок програми: %s"
 
-#: src/unstrip.c:2118 src/unstrip.c:2200
+#: src/unstrip.c:2122 src/unstrip.c:2205
 #, c-format
 msgid "cannot write output file: %s"
 msgstr "не вдалося записати файл виведених даних: %s"
 
-#: src/unstrip.c:2169
+#: src/unstrip.c:2173
 #, c-format
 msgid "DWARF data not adjusted for prelinking bias; consider prelink -u"
 msgstr ""
 "Дані DWARF не скориговано відповідно до відхилення перед компонуванням; "
 "спробуйте виправити це командою prelink -u"
 
-#: src/unstrip.c:2172
+#: src/unstrip.c:2176
 #, c-format
 msgid ""
 "DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u"
@@ -6982,76 +7023,76 @@
 "Дані DWARF у «%s» не скориговано відповідно до відхилення перед "
 "компонуванням; спробуйте виправити це командою prelink -u"
 
-#: src/unstrip.c:2191 src/unstrip.c:2242 src/unstrip.c:2254 src/unstrip.c:2340
+#: src/unstrip.c:2196 src/unstrip.c:2247 src/unstrip.c:2259 src/unstrip.c:2345
 #, c-format
 msgid "cannot create ELF descriptor: %s"
 msgstr "не вдалося створити дескриптор ELF: %s"
 
-#: src/unstrip.c:2233
+#: src/unstrip.c:2238
 msgid "WARNING: "
 msgstr "УВАГА: "
 
-#: src/unstrip.c:2235
+#: src/unstrip.c:2240
 msgid ", use --force"
 msgstr ", скористайтеся --force"
 
-#: src/unstrip.c:2258
+#: src/unstrip.c:2263
 msgid "ELF header identification (e_ident) different"
 msgstr "Різні ідентифікатори заголовків ELF (e_ident)"
 
-#: src/unstrip.c:2261
+#: src/unstrip.c:2266
 msgid "ELF header type (e_type) different"
 msgstr "Різні типи заголовків ELF (e_type)"
 
-#: src/unstrip.c:2264
+#: src/unstrip.c:2269
 msgid "ELF header machine type (e_machine) different"
 msgstr "Різні типи архітектур заголовків ELF (e_machine)"
 
-#: src/unstrip.c:2267
+#: src/unstrip.c:2272
 msgid "stripped program header (e_phnum) smaller than unstripped"
 msgstr "очищений заголовок програми (e_phnum) є меншим за неочищений"
 
-#: src/unstrip.c:2297
+#: src/unstrip.c:2302
 #, c-format
 msgid "cannot find stripped file for module '%s': %s"
 msgstr "не вдалося знайти очищений файл для модуля «%s»: %s"
 
-#: src/unstrip.c:2301
+#: src/unstrip.c:2306
 #, c-format
 msgid "cannot open stripped file '%s' for module '%s': %s"
 msgstr "не вдалося відкрити очищений файл «%s» для модуля «%s»: %s"
 
-#: src/unstrip.c:2316
+#: src/unstrip.c:2321
 #, c-format
 msgid "cannot find debug file for module '%s': %s"
 msgstr "не вдалося знайти файл діагностичних даних для модуля «%s»: %s"
 
-#: src/unstrip.c:2320
+#: src/unstrip.c:2325
 #, c-format
 msgid "cannot open debug file '%s' for module '%s': %s"
 msgstr "не вдалося відкрити файл діагностичних даних «%s» для модуля «%s»: %s"
 
-#: src/unstrip.c:2333
+#: src/unstrip.c:2338
 #, c-format
 msgid "module '%s' file '%s' is not stripped"
 msgstr "у модулі «%s» файл «%s» не очищено strip"
 
-#: src/unstrip.c:2364
+#: src/unstrip.c:2369
 #, c-format
 msgid "cannot cache section addresses for module '%s': %s"
 msgstr "не вдалося кешувати адреси розділів для модуля «%s»: %s"
 
-#: src/unstrip.c:2497
+#: src/unstrip.c:2501
 #, c-format
 msgid "no matching modules found"
 msgstr "відповідних модулів не виявлено"
 
-#: src/unstrip.c:2506
+#: src/unstrip.c:2510
 #, c-format
 msgid "matched more than one module"
 msgstr "встановлено відповідність декількох модулів"
 
-#: src/unstrip.c:2550
+#: src/unstrip.c:2554
 msgid ""
 "STRIPPED-FILE DEBUG-FILE\n"
 "[MODULE...]"
@@ -7059,8 +7100,7 @@
 "ОЧИЩЕНИЙ-ФАЙЛ ФАЙЛ-DEBUG\n"
 "[МОДУЛЬ...]"
 
-#: src/unstrip.c:2551
-#, fuzzy
+#: src/unstrip.c:2555
 msgid ""
 "Combine stripped files with separate symbols and debug information.\n"
 "\n"
@@ -7123,14 +7163,21 @@
 msgid "Run executable"
 msgstr "Запустити виконуваний файл"
 
-#: tests/dwflmodtest.c:213
+#: tests/dwflmodtest.c:209
 msgid "Additionally show function names"
 msgstr "Додатково вивести назви функцій"
 
-#: tests/dwflmodtest.c:214
+#: tests/dwflmodtest.c:210
 msgid "Show instances of inlined functions"
 msgstr "Вивести екземпляри вбудованих функцій"
 
+#~ msgid ""
+#~ " [%6tx] base address\n"
+#~ "          "
+#~ msgstr ""
+#~ " [%6tx] базова адреса\n"
+#~ "          "
+
 #, fuzzy
 #~ msgid "%s: error getting zero section: %s"
 #~ msgstr "%s: помилка під час читання файла: %s"
diff --git a/po/zh_CN.po b/po/zh_CN.po
deleted file mode 100644
index 0c6ec56..0000000
--- a/po/zh_CN.po
+++ /dev/null
@@ -1,5666 +0,0 @@
-# SOME DESCRIPTIVE TITLE.
-# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
-# This file is distributed under the same license as the PACKAGE package.
-# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
-#
-#, fuzzy
-msgid ""
-msgstr ""
-"Project-Id-Version: PACKAGE VERSION\n"
-"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2010-04-21 07:41-0700\n"
-"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
-"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
-"Language-Team: LANGUAGE <LL@li.org>\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=CHARSET\n"
-"Content-Transfer-Encoding: 8bit\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#: lib/xmalloc.c:51 lib/xmalloc.c:65 lib/xmalloc.c:79 src/readelf.c:2822
-#: src/readelf.c:3161 src/unstrip.c:2087 src/unstrip.c:2295
-#, c-format
-msgid "memory exhausted"
-msgstr ""
-
-#: libasm/asm_error.c:62 libdw/dwarf_error.c:79 libdwfl/libdwflP.h:70
-#: libelf/elf_error.c:81
-msgid "no error"
-msgstr ""
-
-#: libasm/asm_error.c:63 libdw/dwarf_error.c:88 libdwfl/libdwflP.h:72
-#: libelf/elf_error.c:112
-msgid "out of memory"
-msgstr ""
-
-#: libasm/asm_error.c:64 src/ldgeneric.c:2687
-#, c-format
-msgid "cannot create output file"
-msgstr ""
-
-#: libasm/asm_error.c:65
-msgid "invalid parameter"
-msgstr ""
-
-#: libasm/asm_error.c:66
-msgid "cannot change mode of output file"
-msgstr ""
-
-#: libasm/asm_error.c:67 src/ldgeneric.c:7001
-#, c-format
-msgid "cannot rename output file"
-msgstr ""
-
-#: libasm/asm_error.c:68
-msgid "duplicate symbol"
-msgstr ""
-
-#: libasm/asm_error.c:69
-msgid "invalid section type for operation"
-msgstr ""
-
-#: libasm/asm_error.c:70
-msgid "error during output of data"
-msgstr ""
-
-#: libasm/asm_error.c:71
-msgid "no backend support available"
-msgstr ""
-
-#: libasm/asm_error.c:81 libdw/dwarf_error.c:80 libdwfl/libdwflP.h:71
-#: libelf/elf_error.c:84
-msgid "unknown error"
-msgstr ""
-
-#: libdw/dwarf_error.c:81
-msgid "invalid access"
-msgstr ""
-
-#: libdw/dwarf_error.c:82
-msgid "no regular file"
-msgstr ""
-
-#: libdw/dwarf_error.c:83
-msgid "I/O error"
-msgstr ""
-
-#: libdw/dwarf_error.c:84
-msgid "invalid ELF file"
-msgstr ""
-
-#: libdw/dwarf_error.c:85
-msgid "no DWARF information"
-msgstr ""
-
-#: libdw/dwarf_error.c:86
-msgid "no ELF file"
-msgstr ""
-
-#: libdw/dwarf_error.c:87
-msgid "cannot get ELF header"
-msgstr ""
-
-#: libdw/dwarf_error.c:89
-msgid "not implemented"
-msgstr ""
-
-#: libdw/dwarf_error.c:90 libelf/elf_error.c:128 libelf/elf_error.c:176
-msgid "invalid command"
-msgstr ""
-
-#: libdw/dwarf_error.c:91
-msgid "invalid version"
-msgstr ""
-
-#: libdw/dwarf_error.c:92
-msgid "invalid file"
-msgstr ""
-
-#: libdw/dwarf_error.c:93
-msgid "no entries found"
-msgstr ""
-
-#: libdw/dwarf_error.c:94
-msgid "invalid DWARF"
-msgstr ""
-
-#: libdw/dwarf_error.c:95
-msgid "no string data"
-msgstr ""
-
-#: libdw/dwarf_error.c:96
-msgid "no address value"
-msgstr ""
-
-#: libdw/dwarf_error.c:97
-msgid "no constant value"
-msgstr ""
-
-#: libdw/dwarf_error.c:98
-msgid "no reference value"
-msgstr ""
-
-#: libdw/dwarf_error.c:99
-msgid "invalid reference value"
-msgstr ""
-
-#: libdw/dwarf_error.c:100
-msgid ".debug_line section missing"
-msgstr ""
-
-#: libdw/dwarf_error.c:101
-msgid "invalid .debug_line section"
-msgstr ""
-
-#: libdw/dwarf_error.c:102
-msgid "debug information too big"
-msgstr ""
-
-#: libdw/dwarf_error.c:103
-msgid "invalid DWARF version"
-msgstr ""
-
-#: libdw/dwarf_error.c:104
-msgid "invalid directory index"
-msgstr ""
-
-#: libdw/dwarf_error.c:105 libdwfl/libdwflP.h:91
-msgid "address out of range"
-msgstr ""
-
-#: 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 ""
-
-#: libdw/dwarf_error.c:109
-msgid "invalid address range index"
-msgstr ""
-
-#: libdw/dwarf_error.c:110 libdwfl/libdwflP.h:92
-msgid "no matching address range"
-msgstr ""
-
-#: libdw/dwarf_error.c:111
-msgid "no flag value"
-msgstr ""
-
-#: libdw/dwarf_error.c:112 libelf/elf_error.c:253
-msgid "invalid offset"
-msgstr ""
-
-#: libdw/dwarf_error.c:113
-msgid ".debug_ranges section missing"
-msgstr ""
-
-#: libdw/dwarf_error.c:114
-msgid "invalid CFI section"
-msgstr ""
-
-#: libdwfl/argp-std.c:67 src/unstrip.c:2237
-msgid "Input selection options:"
-msgstr ""
-
-#: libdwfl/argp-std.c:68
-msgid "Find addresses in FILE"
-msgstr ""
-
-#: libdwfl/argp-std.c:70
-msgid "Find addresses from signatures found in COREFILE"
-msgstr ""
-
-#: 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 ""
-
-#: libdwfl/argp-std.c:78
-msgid "Kernel with all modules"
-msgstr ""
-
-#: libdwfl/argp-std.c:80
-msgid "Search path for separate debuginfo files"
-msgstr ""
-
-#: libdwfl/argp-std.c:163
-msgid "only one of -e, -p, -k, -K, or --core allowed"
-msgstr ""
-
-#: libdwfl/argp-std.c:223
-#, c-format
-msgid "cannot read ELF core file: %s"
-msgstr ""
-
-#: libdwfl/argp-std.c:241
-msgid "No modules recognized in core file"
-msgstr ""
-
-#: libdwfl/argp-std.c:253
-msgid "cannot load kernel symbols"
-msgstr ""
-
-#: libdwfl/argp-std.c:257
-msgid "cannot find kernel modules"
-msgstr ""
-
-#: libdwfl/argp-std.c:271
-msgid "cannot find kernel or modules"
-msgstr ""
-
-#: libdwfl/libdwflP.h:73
-msgid "See errno"
-msgstr ""
-
-#: libdwfl/libdwflP.h:74
-msgid "See elf_errno"
-msgstr ""
-
-#: libdwfl/libdwflP.h:75
-msgid "See dwarf_errno"
-msgstr ""
-
-#: libdwfl/libdwflP.h:76
-msgid "See ebl_errno (XXX missing)"
-msgstr ""
-
-#: libdwfl/libdwflP.h:77
-msgid "gzip decompression failed"
-msgstr ""
-
-#: libdwfl/libdwflP.h:78
-msgid "bzip2 decompression failed"
-msgstr ""
-
-#: libdwfl/libdwflP.h:79
-msgid "LZMA decompression failed"
-msgstr ""
-
-#: libdwfl/libdwflP.h:80
-msgid "no support library found for machine"
-msgstr ""
-
-#: libdwfl/libdwflP.h:81
-msgid "Callbacks missing for ET_REL file"
-msgstr ""
-
-#: libdwfl/libdwflP.h:82
-msgid "Unsupported relocation type"
-msgstr ""
-
-#: libdwfl/libdwflP.h:83
-msgid "r_offset is bogus"
-msgstr ""
-
-#: libdwfl/libdwflP.h:84 libelf/elf_error.c:132 libelf/elf_error.c:192
-msgid "offset out of range"
-msgstr ""
-
-#: libdwfl/libdwflP.h:85
-msgid "relocation refers to undefined symbol"
-msgstr ""
-
-#: libdwfl/libdwflP.h:86
-msgid "Callback returned failure"
-msgstr ""
-
-#: libdwfl/libdwflP.h:87
-msgid "No DWARF information found"
-msgstr ""
-
-#: libdwfl/libdwflP.h:88
-msgid "No symbol table found"
-msgstr ""
-
-#: libdwfl/libdwflP.h:89
-msgid "No ELF program headers"
-msgstr ""
-
-#: libdwfl/libdwflP.h:90
-msgid "address range overlaps an existing module"
-msgstr ""
-
-#: libdwfl/libdwflP.h:93
-msgid "image truncated"
-msgstr ""
-
-#: libdwfl/libdwflP.h:94
-msgid "ELF file opened"
-msgstr ""
-
-#: libdwfl/libdwflP.h:95
-msgid "not a valid ELF file"
-msgstr ""
-
-#: libdwfl/libdwflP.h:96
-msgid "cannot handle DWARF type description"
-msgstr ""
-
-#: libebl/eblbackendname.c:63
-msgid "No backend"
-msgstr ""
-
-#: libebl/eblcorenotetypename.c:107 libebl/eblobjecttypename.c:78
-#: libebl/eblobjnotetypename.c:86 libebl/eblosabiname.c:98
-#: libebl/eblsectionname.c:110 libebl/eblsectiontypename.c:140
-#: libebl/eblsegmenttypename.c:104
-msgid "<unknown>"
-msgstr ""
-
-#: libebl/ebldynamictagname.c:126
-#, c-format
-msgid "<unknown>: %#<PRIx64>"
-msgstr ""
-
-#: libebl/eblobjnote.c:76
-#, c-format
-msgid "    Build ID: "
-msgstr ""
-
-#: libebl/eblobjnote.c:87
-#, c-format
-msgid "    Linker version: %.*s\n"
-msgstr ""
-
-#: libebl/eblobjnote.c:136
-#, c-format
-msgid "    OS: %s, ABI: "
-msgstr ""
-
-#: libebl/eblosabiname.c:95
-msgid "Stand alone"
-msgstr ""
-
-#: libebl/eblsymbolbindingname.c:92 libebl/eblsymboltypename.c:98
-#, c-format
-msgid "<unknown>: %d"
-msgstr ""
-
-#: libelf/elf_error.c:88
-msgid "unknown version"
-msgstr ""
-
-#: libelf/elf_error.c:92
-msgid "unknown type"
-msgstr ""
-
-#: 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:4779
-#, c-format
-msgid "invalid encoding"
-msgstr ""
-
-#: libelf/elf_error.c:116
-msgid "invalid file descriptor"
-msgstr ""
-
-#: libelf/elf_error.c:120
-msgid "invalid operation"
-msgstr ""
-
-#: libelf/elf_error.c:124
-msgid "ELF version not set"
-msgstr ""
-
-#: libelf/elf_error.c:136
-msgid "invalid fmag field in archive header"
-msgstr ""
-
-#: libelf/elf_error.c:140
-msgid "invalid archive file"
-msgstr ""
-
-#: 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 ""
-
-#: libelf/elf_error.c:156
-msgid "cannot write data to file"
-msgstr ""
-
-#: 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 file descriptor 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:6242 src/readelf.c:6343
-#, c-format
-msgid "invalid data"
-msgstr ""
-
-#: libelf/elf_error.c:212
-msgid "unknown data encoding"
-msgstr ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: src/addr2line.c:73
-msgid "Treat addresses as offsets relative to NAME section."
-msgstr ""
-
-#: src/addr2line.c:75 src/elfcmp.c:75 src/findtextrel.c:75 src/nm.c:103
-#: src/strings.c:83
-msgid "Miscellaneous:"
-msgstr ""
-
-#: src/addr2line.c:84
-msgid ""
-"Locate source files and line information for ADDRs (in a.out by default)."
-msgstr ""
-
-#: src/addr2line.c:88
-msgid "[ADDR...]"
-msgstr ""
-
-#: src/addr2line.c:185 src/ar.c:289 src/elfcmp.c:555 src/elflint.c:239
-#: src/findtextrel.c:170 src/ld.c:957 src/nm.c:253 src/objdump.c:181
-#: src/ranlib.c:136 src/readelf.c:449 src/size.c:219 src/strings.c:227
-#: src/strip.c:204 src/unstrip.c:234
-#, 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 ""
-
-#: src/addr2line.c:190 src/ar.c:294 src/elfcmp.c:560 src/elflint.c:244
-#: src/findtextrel.c:175 src/ld.c:962 src/nm.c:258 src/objdump.c:186
-#: src/ranlib.c:141 src/readelf.c:454 src/size.c:224 src/strings.c:232
-#: src/strip.c:209 src/unstrip.c:239
-#, c-format
-msgid "Written by %s.\n"
-msgstr ""
-
-#: src/addr2line.c:405
-#, c-format
-msgid "Section syntax requires exactly one module"
-msgstr ""
-
-#: src/addr2line.c:428
-#, c-format
-msgid "offset %#<PRIxMAX> lies outside section '%s'"
-msgstr ""
-
-#: src/addr2line.c:461
-#, c-format
-msgid "cannot find symbol '%s'"
-msgstr ""
-
-#: src/addr2line.c:466
-#, c-format
-msgid "offset %#<PRIxMAX> lies outside contents of '%s'"
-msgstr ""
-
-#: src/ar.c:76
-msgid "Commands:"
-msgstr ""
-
-#: src/ar.c:77
-msgid "Delete files from archive."
-msgstr ""
-
-#: src/ar.c:78
-msgid "Move files in archive."
-msgstr ""
-
-#: src/ar.c:79
-msgid "Print files in archive."
-msgstr ""
-
-#: src/ar.c:80
-msgid "Quick append files to archive."
-msgstr ""
-
-#: src/ar.c:82
-msgid "Replace existing or insert new file into archive."
-msgstr ""
-
-#: src/ar.c:83
-msgid "Display content of archive."
-msgstr ""
-
-#: src/ar.c:84
-msgid "Extract files from archive."
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:91
-msgid "Allow filename to be truncated if necessary."
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:96
-msgid "Insert file before [MEMBER]."
-msgstr ""
-
-#: src/ar.c:97
-msgid "Same as -b."
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:107
-msgid "Create, modify, and extract from archives."
-msgstr ""
-
-#: src/ar.c:110
-msgid "[MEMBER] [COUNT] ARCHIVE [FILE...]"
-msgstr ""
-
-#: src/ar.c:192
-#, c-format
-msgid "'a', 'b', and 'i' are only allowed with the 'm' and 'r' options"
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:230
-#, c-format
-msgid "invalid COUNT parameter %s"
-msgstr ""
-
-#: src/ar.c:237
-#, c-format
-msgid "'%c' is only meaningful with the 'x' option"
-msgstr ""
-
-#: src/ar.c:243
-#, c-format
-msgid "archive name required"
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:414
-#, c-format
-msgid "cannot open archive '%s': %s"
-msgstr ""
-
-#: src/ar.c:418
-#, c-format
-msgid "%s: not an archive file"
-msgstr ""
-
-#: 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 ""
-
-#: src/ar.c:487 src/ar.c:929 src/ar.c:1129
-#, c-format
-msgid "cannot create hash table"
-msgstr ""
-
-#: src/ar.c:494 src/ar.c:936 src/ar.c:1138
-#, c-format
-msgid "cannot insert into hash table"
-msgstr ""
-
-#: src/ar.c:502 src/ranlib.c:176
-#, c-format
-msgid "cannot stat '%s'"
-msgstr ""
-
-#: src/ar.c:598
-#, c-format
-msgid "cannot read content of %s: %s"
-msgstr ""
-
-#: src/ar.c:641
-#, c-format
-msgid "cannot open %.*s"
-msgstr ""
-
-#: src/ar.c:663
-#, c-format
-msgid "failed to write %s"
-msgstr ""
-
-#: src/ar.c:675
-#, c-format
-msgid "cannot change mode of %s"
-msgstr ""
-
-#: src/ar.c:691
-#, c-format
-msgid "cannot change modification time of %s"
-msgstr ""
-
-#: src/ar.c:737
-#, c-format
-msgid "cannot rename temporary file to %.*s"
-msgstr ""
-
-#: src/ar.c:773 src/ar.c:1021 src/ar.c:1419 src/ranlib.c:250
-#, c-format
-msgid "cannot create new file"
-msgstr ""
-
-#: src/ar.c:1220
-#, c-format
-msgid "position member %s not found"
-msgstr ""
-
-#: src/ar.c:1230
-#, c-format
-msgid "%s: no entry %s in archive!\n"
-msgstr ""
-
-#: src/ar.c:1259 src/ldgeneric.c:519 src/objdump.c:257
-#, c-format
-msgid "cannot open %s"
-msgstr ""
-
-#: src/ar.c:1264
-#, c-format
-msgid "cannot stat %s"
-msgstr ""
-
-#: src/ar.c:1270
-#, c-format
-msgid "%s is no regular file"
-msgstr ""
-
-#: src/ar.c:1283
-#, c-format
-msgid "cannot get ELF descriptor for %s: %s\n"
-msgstr ""
-
-#: src/ar.c:1302
-#, c-format
-msgid "cannot read %s: %s"
-msgstr ""
-
-#: src/arlib.c:215
-#, c-format
-msgid "the archive '%s' is too large"
-msgstr ""
-
-#: src/arlib.c:228
-#, c-format
-msgid "cannot read ELF header of %s(%s): %s"
-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 ""
-
-#: src/elfcmp.c:80
-msgid "Compare relevant parts of two ELF files for equality."
-msgstr ""
-
-#: 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:198 src/elfcmp.c:201
-#, c-format
-msgid "cannot get section count of '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:206
-#, c-format
-msgid "%s %s diff: section count"
-msgstr ""
-
-#: src/elfcmp.c:214 src/elfcmp.c:217
-#, c-format
-msgid "cannot get program header count of '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:222
-#, c-format
-msgid "%s %s diff: program header count"
-msgstr ""
-
-#: src/elfcmp.c:281
-#, c-format
-msgid "%s %s differ: section header"
-msgstr ""
-
-#: src/elfcmp.c:309 src/elfcmp.c:315
-#, c-format
-msgid "cannot get content of section %zu in '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:331 src/elfcmp.c:337
-#, c-format
-msgid "cannot get symbol in '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:358
-#, c-format
-msgid "%s %s differ: symbol table [%zu]"
-msgstr ""
-
-#: src/elfcmp.c:361
-#, c-format
-msgid "%s %s differ: symbol table [%zu,%zu]"
-msgstr ""
-
-#: src/elfcmp.c:409
-#, c-format
-msgid "%s %s differ: section [%zu] '%s' content"
-msgstr ""
-
-#: src/elfcmp.c:413
-#, c-format
-msgid "%s %s differ: section [%zu,%zu] '%s' content"
-msgstr ""
-
-#: src/elfcmp.c:429
-#, c-format
-msgid "%s %s differ: unequal amount of important sections"
-msgstr ""
-
-#: src/elfcmp.c:463 src/elfcmp.c:468
-#, c-format
-msgid "cannot load data of '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:487 src/elfcmp.c:493
-#, c-format
-msgid "cannot get program header entry %d of '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:499
-#, c-format
-msgid "%s %s differ: program header %d"
-msgstr ""
-
-#: src/elfcmp.c:524
-#, c-format
-msgid "%s %s differ: gap"
-msgstr ""
-
-#: src/elfcmp.c:583
-#, c-format
-msgid "Invalid value '%s' for --gaps parameter."
-msgstr ""
-
-#: src/elfcmp.c:607 src/findtextrel.c:229 src/ldgeneric.c:1767
-#: src/ldgeneric.c:4257 src/nm.c:363 src/ranlib.c:169 src/size.c:301
-#: src/strings.c:183 src/strip.c:433 src/strip.c:468 src/unstrip.c:1900
-#: src/unstrip.c:1929
-#, c-format
-msgid "cannot open '%s'"
-msgstr ""
-
-#: src/elfcmp.c:611 src/findtextrel.c:236 src/ranlib.c:186
-#, c-format
-msgid "cannot create ELF descriptor for '%s': %s"
-msgstr ""
-
-#: src/elfcmp.c:616
-#, c-format
-msgid "cannot create EBL descriptor for '%s'"
-msgstr ""
-
-#: src/elfcmp.c:634
-#, c-format
-msgid "cannot get section header of section %zu: %s"
-msgstr ""
-
-#: src/elfcmp.c:644
-#, c-format
-msgid "cannot get content of section %zu: %s"
-msgstr ""
-
-#: src/elfcmp.c:654 src/elfcmp.c:668
-#, c-format
-msgid "cannot get relocation: %s"
-msgstr ""
-
-#: src/elflint.c:72
-msgid "Be extremely strict, flag level 2 features."
-msgstr ""
-
-#: src/elflint.c:73
-msgid "Do not print anything if successful"
-msgstr ""
-
-#: src/elflint.c:74
-msgid "Binary is a separate debuginfo file"
-msgstr ""
-
-#: src/elflint.c:76
-msgid ""
-"Binary has been created with GNU ld and is therefore known to be broken in "
-"certain ways"
-msgstr ""
-
-#: src/elflint.c:82
-msgid "Pedantic checking of ELF files compliance with gABI/psABI spec."
-msgstr ""
-
-#: src/elflint.c:86 src/readelf.c:118
-msgid "FILE..."
-msgstr ""
-
-#: src/elflint.c:159 src/readelf.c:272
-#, c-format
-msgid "cannot open input file"
-msgstr ""
-
-#: src/elflint.c:166
-#, c-format
-msgid "cannot generate Elf descriptor: %s\n"
-msgstr ""
-
-#: src/elflint.c:185
-#, c-format
-msgid "error while closing Elf descriptor: %s\n"
-msgstr ""
-
-#: src/elflint.c:189
-msgid "No errors"
-msgstr ""
-
-#: src/elflint.c:223 src/readelf.c:425
-msgid "Missing file name.\n"
-msgstr ""
-
-#: src/elflint.c:302
-#, c-format
-msgid " error while freeing sub-ELF descriptor: %s\n"
-msgstr ""
-
-#: src/elflint.c:310
-#, c-format
-msgid "Not an ELF file - it has the wrong magic bytes at the start\n"
-msgstr ""
-
-#: src/elflint.c:370
-#, c-format
-msgid "e_ident[%d] == %d is no known class\n"
-msgstr ""
-
-#: src/elflint.c:375
-#, c-format
-msgid "e_ident[%d] == %d is no known data encoding\n"
-msgstr ""
-
-#: src/elflint.c:379
-#, c-format
-msgid "unknown ELF header version number e_ident[%d] == %d\n"
-msgstr ""
-
-#: src/elflint.c:385
-#, c-format
-msgid "unsupported OS ABI e_ident[%d] == '%s'\n"
-msgstr ""
-
-#: src/elflint.c:391
-#, c-format
-msgid "unsupport ABI version e_ident[%d] == %d\n"
-msgstr ""
-
-#: src/elflint.c:396
-#, c-format
-msgid "e_ident[%zu] is not zero\n"
-msgstr ""
-
-#: src/elflint.c:401
-#, c-format
-msgid "unknown object file type %d\n"
-msgstr ""
-
-#: src/elflint.c:408
-#, c-format
-msgid "unknown machine type %d\n"
-msgstr ""
-
-#: src/elflint.c:412
-#, c-format
-msgid "unknown object file version\n"
-msgstr ""
-
-#: src/elflint.c:418
-#, c-format
-msgid "invalid program header offset\n"
-msgstr ""
-
-#: src/elflint.c:420
-#, c-format
-msgid "executables and DSOs cannot have zero program header offset\n"
-msgstr ""
-
-#: src/elflint.c:424
-#, c-format
-msgid "invalid number of program header entries\n"
-msgstr ""
-
-#: src/elflint.c:432
-#, c-format
-msgid "invalid section header table offset\n"
-msgstr ""
-
-#: src/elflint.c:435
-#, c-format
-msgid "section header table must be present\n"
-msgstr ""
-
-#: src/elflint.c:449
-#, c-format
-msgid "invalid number of section header table entries\n"
-msgstr ""
-
-#: src/elflint.c:466
-#, c-format
-msgid "invalid section header index\n"
-msgstr ""
-
-#: src/elflint.c:480
-#, c-format
-msgid "invalid number of program header table entries\n"
-msgstr ""
-
-#: src/elflint.c:489
-#, c-format
-msgid "invalid machine flags: %s\n"
-msgstr ""
-
-#: src/elflint.c:496 src/elflint.c:513
-#, c-format
-msgid "invalid ELF header size: %hd\n"
-msgstr ""
-
-#: src/elflint.c:499 src/elflint.c:516
-#, c-format
-msgid "invalid program header size: %hd\n"
-msgstr ""
-
-#: src/elflint.c:502 src/elflint.c:519
-#, c-format
-msgid "invalid program header position or size\n"
-msgstr ""
-
-#: src/elflint.c:505 src/elflint.c:522
-#, c-format
-msgid "invalid section header size: %hd\n"
-msgstr ""
-
-#: src/elflint.c:508 src/elflint.c:525
-#, c-format
-msgid "invalid section header position or size\n"
-msgstr ""
-
-#: src/elflint.c:569
-#, c-format
-msgid ""
-"section [%2d] '%s': section with SHF_GROUP flag set not part of a section "
-"group\n"
-msgstr ""
-
-#: src/elflint.c:573
-#, c-format
-msgid ""
-"section [%2d] '%s': section group [%2zu] '%s' does not precede group member\n"
-msgstr ""
-
-#: src/elflint.c:589 src/elflint.c:1432 src/elflint.c:1482 src/elflint.c:1591
-#: src/elflint.c:2185 src/elflint.c:2699 src/elflint.c:2860 src/elflint.c:2990
-#: src/elflint.c:3162 src/elflint.c:4062
-#, c-format
-msgid "section [%2d] '%s': cannot get section data\n"
-msgstr ""
-
-#: src/elflint.c:602 src/elflint.c:1598
-#, 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:625
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol table cannot have more than one extended index "
-"section\n"
-msgstr ""
-
-#: src/elflint.c:636
-#, c-format
-msgid "section [%2u] '%s': entry size is does not match ElfXX_Sym\n"
-msgstr ""
-
-#: src/elflint.c:645
-#, c-format
-msgid "section [%2d] '%s': cannot get symbol %d: %s\n"
-msgstr ""
-
-#: src/elflint.c:650 src/elflint.c:653 src/elflint.c:656 src/elflint.c:659
-#: src/elflint.c:662 src/elflint.c:665
-#, c-format
-msgid "section [%2d] '%s': '%s' in zeroth entry not zero\n"
-msgstr ""
-
-#: src/elflint.c:668
-#, c-format
-msgid "section [%2d] '%s': XINDEX for zeroth entry not zero\n"
-msgstr ""
-
-#: src/elflint.c:678
-#, c-format
-msgid "section [%2d] '%s': cannot get symbol %zu: %s\n"
-msgstr ""
-
-#: src/elflint.c:687
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: invalid name value\n"
-msgstr ""
-
-#: src/elflint.c:700
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: too large section index but no extended "
-"section index section\n"
-msgstr ""
-
-#: src/elflint.c:706
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: XINDEX used for index which would fit in "
-"st_shndx (%<PRIu32>)\n"
-msgstr ""
-
-#: src/elflint.c:718
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: invalid section index\n"
-msgstr ""
-
-#: src/elflint.c:726
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown type\n"
-msgstr ""
-
-#: src/elflint.c:732
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown symbol binding\n"
-msgstr ""
-
-#: src/elflint.c:737
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unique symbol not of object type\n"
-msgstr ""
-
-#: src/elflint.c:745
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: COMMON only allowed in relocatable files\n"
-msgstr ""
-
-#: src/elflint.c:749
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: local COMMON symbols are nonsense\n"
-msgstr ""
-
-#: src/elflint.c:753
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: function in COMMON section is nonsense\n"
-msgstr ""
-
-#: src/elflint.c:785
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: st_value out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:791 src/elflint.c:816 src/elflint.c:859
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu does not fit completely in referenced section "
-"[%2d] '%s'\n"
-msgstr ""
-
-#: src/elflint.c:800
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: referenced section [%2d] '%s' does not have "
-"SHF_TLS flag set\n"
-msgstr ""
-
-#: src/elflint.c:810 src/elflint.c:852
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: st_value out of bounds of referenced section "
-"[%2d] '%s'\n"
-msgstr ""
-
-#: src/elflint.c:837
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: TLS symbol but no TLS program header entry\n"
-msgstr ""
-
-#: src/elflint.c:845
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: st_value short of referenced section [%2d] '%"
-"s'\n"
-msgstr ""
-
-#: src/elflint.c:872
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: local symbol outside range described in "
-"sh_info\n"
-msgstr ""
-
-#: src/elflint.c:879
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: non-local symbol outside range described in "
-"sh_info\n"
-msgstr ""
-
-#: src/elflint.c:886
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: non-local section symbol\n"
-msgstr ""
-
-#: src/elflint.c:936
-#, c-format
-msgid ""
-"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to bad section [%"
-"2d]\n"
-msgstr ""
-
-#: src/elflint.c:943
-#, c-format
-msgid ""
-"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to section [%2d] '%"
-"s'\n"
-msgstr ""
-
-#: src/elflint.c:959
-#, c-format
-msgid ""
-"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol value %#<PRIx64> does not "
-"match %s section address %#<PRIx64>\n"
-msgstr ""
-
-#: src/elflint.c:966
-#, c-format
-msgid ""
-"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol size %<PRIu64> does not "
-"match %s section size %<PRIu64>\n"
-msgstr ""
-
-#: src/elflint.c:974
-#, c-format
-msgid ""
-"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol present, but no .got "
-"section\n"
-msgstr ""
-
-#: src/elflint.c:990
-#, c-format
-msgid ""
-"section [%2d] '%s': _DYNAMIC_ symbol value %#<PRIx64> does not match dynamic "
-"segment address %#<PRIx64>\n"
-msgstr ""
-
-#: src/elflint.c:997
-#, c-format
-msgid ""
-"section [%2d] '%s': _DYNAMIC symbol size %<PRIu64> does not match dynamic "
-"segment size %<PRIu64>\n"
-msgstr ""
-
-#: src/elflint.c:1010
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %zu: symbol in dynamic symbol table with non-"
-"default visibility\n"
-msgstr ""
-
-#: src/elflint.c:1014
-#, c-format
-msgid "section [%2d] '%s': symbol %zu: unknown bit set in st_other\n"
-msgstr ""
-
-#: src/elflint.c:1059
-#, c-format
-msgid "section [%2d] '%s': DT_RELCOUNT used for this RELA section\n"
-msgstr ""
-
-#: src/elflint.c:1068 src/elflint.c:1120
-#, c-format
-msgid "section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"
-msgstr ""
-
-#: src/elflint.c:1093 src/elflint.c:1145
-#, c-format
-msgid ""
-"section [%2d] '%s': relative relocations after index %d as specified by "
-"DT_RELCOUNT\n"
-msgstr ""
-
-#: src/elflint.c:1099 src/elflint.c:1151
-#, c-format
-msgid ""
-"section [%2d] '%s': non-relative relocation at index %zu; DT_RELCOUNT "
-"specified %d relative relocations\n"
-msgstr ""
-
-#: src/elflint.c:1111
-#, c-format
-msgid "section [%2d] '%s': DT_RELACOUNT used for this REL section\n"
-msgstr ""
-
-#: src/elflint.c:1193
-#, c-format
-msgid "section [%2d] '%s': invalid destination section index\n"
-msgstr ""
-
-#: src/elflint.c:1206
-#, c-format
-msgid "section [%2d] '%s': invalid destination section type\n"
-msgstr ""
-
-#: src/elflint.c:1214
-#, c-format
-msgid "section [%2d] '%s': sh_info should be zero\n"
-msgstr ""
-
-#: src/elflint.c:1221
-#, c-format
-msgid "section [%2d] '%s': no relocations for merge-able sections possible\n"
-msgstr ""
-
-#: src/elflint.c:1228
-#, c-format
-msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n"
-msgstr ""
-
-#: src/elflint.c:1288
-#, c-format
-msgid "text relocation flag set but there is no read-only segment\n"
-msgstr ""
-
-#: src/elflint.c:1315
-#, c-format
-msgid "section [%2d] '%s': relocation %zu: invalid type\n"
-msgstr ""
-
-#: src/elflint.c:1323
-#, c-format
-msgid ""
-"section [%2d] '%s': relocation %zu: relocation type invalid for the file "
-"type\n"
-msgstr ""
-
-#: src/elflint.c:1331
-#, c-format
-msgid "section [%2d] '%s': relocation %zu: invalid symbol index\n"
-msgstr ""
-
-#: src/elflint.c:1349
-#, c-format
-msgid ""
-"section [%2d] '%s': relocation %zu: only symbol '_GLOBAL_OFFSET_TABLE_' can "
-"be used with %s\n"
-msgstr ""
-
-#: src/elflint.c:1366
-#, c-format
-msgid "section [%2d] '%s': relocation %zu: offset out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:1381
-#, c-format
-msgid ""
-"section [%2d] '%s': relocation %zu: copy relocation against symbol of type %"
-"s\n"
-msgstr ""
-
-#: src/elflint.c:1402
-#, c-format
-msgid ""
-"section [%2d] '%s': relocation %zu: read-only section modified but text "
-"relocation flag not set\n"
-msgstr ""
-
-#: src/elflint.c:1417
-#, c-format
-msgid "section [%2d] '%s': relocations are against loaded and unloaded data\n"
-msgstr ""
-
-#: src/elflint.c:1456 src/elflint.c:1506
-#, c-format
-msgid "section [%2d] '%s': cannot get relocation %zu: %s\n"
-msgstr ""
-
-#: src/elflint.c:1586
-#, c-format
-msgid "more than one dynamic section present\n"
-msgstr ""
-
-#: src/elflint.c:1604
-#, c-format
-msgid "section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"
-msgstr ""
-
-#: src/elflint.c:1609 src/elflint.c:1901
-#, c-format
-msgid "section [%2d] '%s': sh_info not zero\n"
-msgstr ""
-
-#: src/elflint.c:1619
-#, c-format
-msgid "section [%2d] '%s': cannot get dynamic section entry %zu: %s\n"
-msgstr ""
-
-#: src/elflint.c:1627
-#, c-format
-msgid "section [%2d] '%s': non-DT_NULL entries follow DT_NULL entry\n"
-msgstr ""
-
-#: src/elflint.c:1634
-#, c-format
-msgid "section [%2d] '%s': entry %zu: unknown tag\n"
-msgstr ""
-
-#: src/elflint.c:1645
-#, c-format
-msgid "section [%2d] '%s': entry %zu: more than one entry with tag %s\n"
-msgstr ""
-
-#: src/elflint.c:1655
-#, c-format
-msgid "section [%2d] '%s': entry %zu: level 2 tag %s used\n"
-msgstr ""
-
-#: src/elflint.c:1673
-#, c-format
-msgid ""
-"section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n"
-msgstr ""
-
-#: src/elflint.c:1695
-#, 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:1738
-#, c-format
-msgid ""
-"section [%2d] '%s': entry %zu: %s value must point into loaded segment\n"
-msgstr ""
-
-#: src/elflint.c:1753
-#, c-format
-msgid ""
-"section [%2d] '%s': entry %zu: %s value must be valid offset in section [%"
-"2d] '%s'\n"
-msgstr ""
-
-#: src/elflint.c:1773 src/elflint.c:1801
-#, c-format
-msgid "section [%2d] '%s': contains %s entry but not %s\n"
-msgstr ""
-
-#: src/elflint.c:1785
-#, c-format
-msgid "section [%2d] '%s': mandatory tag %s not present\n"
-msgstr ""
-
-#: src/elflint.c:1794
-#, c-format
-msgid "section [%2d] '%s': no hash section present\n"
-msgstr ""
-
-#: src/elflint.c:1809 src/elflint.c:1816
-#, c-format
-msgid "section [%2d] '%s': not all of %s, %s, and %s are present\n"
-msgstr ""
-
-#: src/elflint.c:1826 src/elflint.c:1830
-#, c-format
-msgid "section [%2d] '%s': %s tag missing in DSO marked during prelinking\n"
-msgstr ""
-
-#: src/elflint.c:1836
-#, c-format
-msgid "section [%2d] '%s': non-DSO file marked as dependency during prelink\n"
-msgstr ""
-
-#: src/elflint.c:1847 src/elflint.c:1851 src/elflint.c:1855 src/elflint.c:1859
-#, c-format
-msgid "section [%2d] '%s': %s tag missing in prelinked executable\n"
-msgstr ""
-
-#: src/elflint.c:1871
-#, c-format
-msgid ""
-"section [%2d] '%s': only relocatable files can have extended section index\n"
-msgstr ""
-
-#: src/elflint.c:1881
-#, c-format
-msgid ""
-"section [%2d] '%s': extended section index section not for symbol table\n"
-msgstr ""
-
-#: src/elflint.c:1886
-#, c-format
-msgid "cannot get data for symbol section\n"
-msgstr ""
-
-#: src/elflint.c:1889
-#, c-format
-msgid "section [%2d] '%s': entry size does not match Elf32_Word\n"
-msgstr ""
-
-#: src/elflint.c:1896
-#, c-format
-msgid "section [%2d] '%s': extended index table too small for symbol table\n"
-msgstr ""
-
-#: src/elflint.c:1911
-#, c-format
-msgid ""
-"section [%2d] '%s': extended section index in section [%2zu] '%s' refers to "
-"same symbol table\n"
-msgstr ""
-
-#: src/elflint.c:1922
-#, c-format
-msgid "symbol 0 should have zero extended section index\n"
-msgstr ""
-
-#: src/elflint.c:1934
-#, c-format
-msgid "cannot get data for symbol %zu\n"
-msgstr ""
-
-#: src/elflint.c:1939
-#, c-format
-msgid "extended section index is %<PRIu32> but symbol index is not XINDEX\n"
-msgstr ""
-
-#: src/elflint.c:1955 src/elflint.c:1996
-#, c-format
-msgid ""
-"section [%2d] '%s': hash table section is too small (is %ld, expected %ld)\n"
-msgstr ""
-
-#: src/elflint.c:1967 src/elflint.c:2008
-#, c-format
-msgid "section [%2d] '%s': chain array too large\n"
-msgstr ""
-
-#: src/elflint.c:1976 src/elflint.c:2017
-#, c-format
-msgid "section [%2d] '%s': hash bucket reference %zu out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:1982
-#, c-format
-msgid "section [%2d] '%s': hash chain reference %zu out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:2023
-#, c-format
-msgid "section [%2d] '%s': hash chain reference %<PRIu64> out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:2038
-#, c-format
-msgid "section [%2d] '%s': bitmask size not power of 2: %u\n"
-msgstr ""
-
-#: src/elflint.c:2049
-#, c-format
-msgid ""
-"section [%2d] '%s': hash table section is too small (is %ld, expected at "
-"least%ld)\n"
-msgstr ""
-
-#: src/elflint.c:2057
-#, c-format
-msgid "section [%2d] '%s': 2nd hash function shift too big: %u\n"
-msgstr ""
-
-#: src/elflint.c:2089
-#, c-format
-msgid ""
-"section [%2d] '%s': hash chain for bucket %zu lower than symbol index bias\n"
-msgstr ""
-
-#: src/elflint.c:2110
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %u referenced in chain for bucket %zu is "
-"undefined\n"
-msgstr ""
-
-#: src/elflint.c:2121
-#, c-format
-msgid ""
-"section [%2d] '%s': hash value for symbol %u in chain for bucket %zu wrong\n"
-msgstr ""
-
-#: src/elflint.c:2152
-#, c-format
-msgid "section [%2d] '%s': hash chain for bucket %zu out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:2157
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol reference in chain for bucket %zu out of bounds\n"
-msgstr ""
-
-#: src/elflint.c:2163
-#, c-format
-msgid "section [%2d] '%s': bitmask does not match names in the hash table\n"
-msgstr ""
-
-#: src/elflint.c:2176
-#, c-format
-msgid "section [%2d] '%s': relocatable files cannot have hash tables\n"
-msgstr ""
-
-#: src/elflint.c:2194
-#, c-format
-msgid "section [%2d] '%s': hash table not for dynamic symbol table\n"
-msgstr ""
-
-#: src/elflint.c:2202
-#, c-format
-msgid "section [%2d] '%s': hash table entry size incorrect\n"
-msgstr ""
-
-#: src/elflint.c:2207
-#, c-format
-msgid "section [%2d] '%s': not marked to be allocated\n"
-msgstr ""
-
-#: src/elflint.c:2212
-#, c-format
-msgid ""
-"section [%2d] '%s': hash table has not even room for initial administrative "
-"entries\n"
-msgstr ""
-
-#: src/elflint.c:2260
-#, c-format
-msgid "sh_link in hash sections [%2zu] '%s' and [%2zu] '%s' not identical\n"
-msgstr ""
-
-#: src/elflint.c:2338 src/elflint.c:2342
-#, c-format
-msgid "section [%2zu] '%s': reference to symbol index 0\n"
-msgstr ""
-
-#: src/elflint.c:2349
-#, 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:2361
-#, 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:2377
-#, c-format
-msgid "section [%2d] '%s': nonzero sh_%s for NULL section\n"
-msgstr ""
-
-#: src/elflint.c:2397
-#, c-format
-msgid ""
-"section [%2d] '%s': section groups only allowed in relocatable object files\n"
-msgstr ""
-
-#: src/elflint.c:2408
-#, c-format
-msgid "section [%2d] '%s': cannot get symbol table: %s\n"
-msgstr ""
-
-#: src/elflint.c:2413
-#, c-format
-msgid "section [%2d] '%s': section reference in sh_link is no symbol table\n"
-msgstr ""
-
-#: src/elflint.c:2419
-#, c-format
-msgid "section [%2d] '%s': invalid symbol index in sh_info\n"
-msgstr ""
-
-#: src/elflint.c:2424
-#, c-format
-msgid "section [%2d] '%s': sh_flags not zero\n"
-msgstr ""
-
-#: src/elflint.c:2431
-#, c-format
-msgid "section [%2d] '%s': cannot get symbol for signature\n"
-msgstr ""
-
-#: src/elflint.c:2436
-#, c-format
-msgid "section [%2d] '%s': signature symbol cannot be empty string\n"
-msgstr ""
-
-#: src/elflint.c:2442
-#, c-format
-msgid "section [%2d] '%s': sh_flags not set correctly\n"
-msgstr ""
-
-#: src/elflint.c:2448
-#, c-format
-msgid "section [%2d] '%s': cannot get data: %s\n"
-msgstr ""
-
-#: src/elflint.c:2457
-#, c-format
-msgid "section [%2d] '%s': section size not multiple of sizeof(Elf32_Word)\n"
-msgstr ""
-
-#: src/elflint.c:2462
-#, c-format
-msgid "section [%2d] '%s': section group without flags word\n"
-msgstr ""
-
-#: src/elflint.c:2468
-#, c-format
-msgid "section [%2d] '%s': section group without member\n"
-msgstr ""
-
-#: src/elflint.c:2472
-#, c-format
-msgid "section [%2d] '%s': section group with only one member\n"
-msgstr ""
-
-#: src/elflint.c:2483
-#, c-format
-msgid "section [%2d] '%s': unknown section group flags\n"
-msgstr ""
-
-#: src/elflint.c:2495
-#, c-format
-msgid "section [%2d] '%s': section index %Zu out of range\n"
-msgstr ""
-
-#: src/elflint.c:2504
-#, c-format
-msgid "section [%2d] '%s': cannot get section header for element %zu: %s\n"
-msgstr ""
-
-#: src/elflint.c:2511
-#, c-format
-msgid "section [%2d] '%s': section group contains another group [%2d] '%s'\n"
-msgstr ""
-
-#: src/elflint.c:2517
-#, c-format
-msgid ""
-"section [%2d] '%s': element %Zu references section [%2d] '%s' without "
-"SHF_GROUP flag set\n"
-msgstr ""
-
-#: src/elflint.c:2524
-#, c-format
-msgid "section [%2d] '%s' is contained in more than one section group\n"
-msgstr ""
-
-#: src/elflint.c:2713
-#, 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:2724
-#, c-format
-msgid ""
-"section [%2d] '%s' has different number of entries than symbol table [%2d] '%"
-"s'\n"
-msgstr ""
-
-#: src/elflint.c:2740
-#, c-format
-msgid "section [%2d] '%s': symbol %d: cannot read version data\n"
-msgstr ""
-
-#: src/elflint.c:2756
-#, c-format
-msgid "section [%2d] '%s': symbol %d: local symbol with global scope\n"
-msgstr ""
-
-#: src/elflint.c:2764
-#, c-format
-msgid "section [%2d] '%s': symbol %d: local symbol with version\n"
-msgstr ""
-
-#: src/elflint.c:2778
-#, c-format
-msgid "section [%2d] '%s': symbol %d: invalid version index %d\n"
-msgstr ""
-
-#: src/elflint.c:2783
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %d: version index %d is for defined version\n"
-msgstr ""
-
-#: src/elflint.c:2793
-#, c-format
-msgid ""
-"section [%2d] '%s': symbol %d: version index %d is for requested version\n"
-msgstr ""
-
-#: src/elflint.c:2845
-#, c-format
-msgid "more than one version reference section present\n"
-msgstr ""
-
-#: src/elflint.c:2853 src/elflint.c:2982
-#, c-format
-msgid "section [%2d] '%s': sh_link does not link to string table\n"
-msgstr ""
-
-#: src/elflint.c:2876 src/elflint.c:3034
-#, c-format
-msgid "section [%2d] '%s': entry %d has wrong version %d\n"
-msgstr ""
-
-#: src/elflint.c:2882 src/elflint.c:3040
-#, c-format
-msgid "section [%2d] '%s': entry %d has wrong offset of auxiliary data\n"
-msgstr ""
-
-#: src/elflint.c:2890
-#, c-format
-msgid "section [%2d] '%s': entry %d has invalid file reference\n"
-msgstr ""
-
-#: src/elflint.c:2898
-#, c-format
-msgid "section [%2d] '%s': entry %d references unknown dependency\n"
-msgstr ""
-
-#: src/elflint.c:2910
-#, c-format
-msgid "section [%2d] '%s': auxiliary entry %d of entry %d has unknown flag\n"
-msgstr ""
-
-#: src/elflint.c:2917
-#, c-format
-msgid ""
-"section [%2d] '%s': auxiliary entry %d of entry %d has invalid name "
-"reference\n"
-msgstr ""
-
-#: src/elflint.c:2924
-#, c-format
-msgid ""
-"section [%2d] '%s': auxiliary entry %d of entry %d has wrong hash value: %"
-"#x, expected %#x\n"
-msgstr ""
-
-#: src/elflint.c:2934
-#, c-format
-msgid ""
-"section [%2d] '%s': auxiliary entry %d of entry %d has duplicate version "
-"name '%s'\n"
-msgstr ""
-
-#: src/elflint.c:2945
-#, c-format
-msgid ""
-"section [%2d] '%s': auxiliary entry %d of entry %d has wrong next field\n"
-msgstr ""
-
-#: src/elflint.c:2961 src/elflint.c:3119
-#, c-format
-msgid "section [%2d] '%s': entry %d has invalid offset to next entry\n"
-msgstr ""
-
-#: src/elflint.c:2974
-#, c-format
-msgid "more than one version definition section present\n"
-msgstr ""
-
-#: src/elflint.c:3019
-#, c-format
-msgid "section [%2d] '%s': more than one BASE definition\n"
-msgstr ""
-
-#: src/elflint.c:3023
-#, c-format
-msgid "section [%2d] '%s': BASE definition must have index VER_NDX_GLOBAL\n"
-msgstr ""
-
-#: src/elflint.c:3029
-#, c-format
-msgid "section [%2d] '%s': entry %d has unknown flag\n"
-msgstr ""
-
-#: src/elflint.c:3053
-#, c-format
-msgid "section [%2d] '%s': entry %d has invalid name reference\n"
-msgstr ""
-
-#: src/elflint.c:3060
-#, c-format
-msgid "section [%2d] '%s': entry %d has wrong hash value: %#x, expected %#x\n"
-msgstr ""
-
-#: src/elflint.c:3069
-#, c-format
-msgid "section [%2d] '%s': entry %d has duplicate version name '%s'\n"
-msgstr ""
-
-#: src/elflint.c:3088
-#, c-format
-msgid ""
-"section [%2d] '%s': entry %d has invalid name reference in auxiliary data\n"
-msgstr ""
-
-#: src/elflint.c:3103
-#, c-format
-msgid "section [%2d] '%s': entry %d has wrong next field in auxiliary data\n"
-msgstr ""
-
-#: src/elflint.c:3125
-#, c-format
-msgid "section [%2d] '%s': no BASE definition\n"
-msgstr ""
-
-#: src/elflint.c:3141
-#, c-format
-msgid "section [%2d] '%s': unknown parent version '%s'\n"
-msgstr ""
-
-#: src/elflint.c:3154
-#, c-format
-msgid "section [%2d] '%s': empty object attributes section\n"
-msgstr ""
-
-#: src/elflint.c:3175
-#, c-format
-msgid "section [%2d] '%s': unrecognized attribute format\n"
-msgstr ""
-
-#: src/elflint.c:3191
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: zero length field in attribute section\n"
-msgstr ""
-
-#: src/elflint.c:3200
-#, c-format
-msgid "section [%2d] '%s': offset %zu: invalid length in attribute section\n"
-msgstr ""
-
-#: src/elflint.c:3212
-#, c-format
-msgid "section [%2d] '%s': offset %zu: unterminated vendor name string\n"
-msgstr ""
-
-#: src/elflint.c:3229
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: endless ULEB128 in attribute subsection tag\n"
-msgstr ""
-
-#: src/elflint.c:3238
-#, c-format
-msgid "section [%2d] '%s': offset %zu: truncated attribute section\n"
-msgstr ""
-
-#: src/elflint.c:3247
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: zero length field in attribute subsection\n"
-msgstr ""
-
-#: src/elflint.c:3260
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: invalid length in attribute subsection\n"
-msgstr ""
-
-#: src/elflint.c:3271
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: attribute subsection has unexpected tag %u\n"
-msgstr ""
-
-#: src/elflint.c:3289
-#, c-format
-msgid "section [%2d] '%s': offset %zu: endless ULEB128 in attribute tag\n"
-msgstr ""
-
-#: src/elflint.c:3300
-#, c-format
-msgid "section [%2d] '%s': offset %zu: unterminated string in attribute\n"
-msgstr ""
-
-#: src/elflint.c:3313
-#, c-format
-msgid "section [%2d] '%s': offset %zu: unrecognized attribute tag %u\n"
-msgstr ""
-
-#: src/elflint.c:3317
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: unrecognized %s attribute value %<PRIu64>\n"
-msgstr ""
-
-#: src/elflint.c:3327
-#, c-format
-msgid "section [%2d] '%s': offset %zu: vendor '%s' unknown\n"
-msgstr ""
-
-#: src/elflint.c:3333
-#, c-format
-msgid ""
-"section [%2d] '%s': offset %zu: extra bytes after last attribute section\n"
-msgstr ""
-
-#: src/elflint.c:3422
-#, c-format
-msgid "cannot get section header of zeroth section\n"
-msgstr ""
-
-#: src/elflint.c:3426
-#, c-format
-msgid "zeroth section has nonzero name\n"
-msgstr ""
-
-#: src/elflint.c:3428
-#, c-format
-msgid "zeroth section has nonzero type\n"
-msgstr ""
-
-#: src/elflint.c:3430
-#, c-format
-msgid "zeroth section has nonzero flags\n"
-msgstr ""
-
-#: src/elflint.c:3432
-#, c-format
-msgid "zeroth section has nonzero address\n"
-msgstr ""
-
-#: src/elflint.c:3434
-#, c-format
-msgid "zeroth section has nonzero offset\n"
-msgstr ""
-
-#: src/elflint.c:3436
-#, c-format
-msgid "zeroth section has nonzero align value\n"
-msgstr ""
-
-#: src/elflint.c:3438
-#, c-format
-msgid "zeroth section has nonzero entry size value\n"
-msgstr ""
-
-#: src/elflint.c:3441
-#, c-format
-msgid ""
-"zeroth section has nonzero size value while ELF header has nonzero shnum "
-"value\n"
-msgstr ""
-
-#: src/elflint.c:3445
-#, c-format
-msgid ""
-"zeroth section has nonzero link value while ELF header does not signal "
-"overflow in shstrndx\n"
-msgstr ""
-
-#: src/elflint.c:3449
-#, c-format
-msgid ""
-"zeroth section has nonzero link value while ELF header does not signal "
-"overflow in phnum\n"
-msgstr ""
-
-#: src/elflint.c:3466
-#, c-format
-msgid "cannot get section header for section [%2zu] '%s': %s\n"
-msgstr ""
-
-#: src/elflint.c:3475
-#, c-format
-msgid "section [%2zu]: invalid name\n"
-msgstr ""
-
-#: src/elflint.c:3502
-#, c-format
-msgid "section [%2d] '%s' has wrong type: expected %s, is %s\n"
-msgstr ""
-
-#: src/elflint.c:3518
-#, c-format
-msgid "section [%2zu] '%s' has wrong flags: expected %s, is %s\n"
-msgstr ""
-
-#: src/elflint.c:3535
-#, c-format
-msgid ""
-"section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n"
-msgstr ""
-
-#: src/elflint.c:3553
-#, c-format
-msgid "section [%2zu] '%s' present in object file\n"
-msgstr ""
-
-#: src/elflint.c:3559 src/elflint.c:3591
-#, c-format
-msgid ""
-"section [%2zu] '%s' has SHF_ALLOC flag set but there is no loadable segment\n"
-msgstr ""
-
-#: src/elflint.c:3564 src/elflint.c:3596
-#, c-format
-msgid ""
-"section [%2zu] '%s' has SHF_ALLOC flag not set but there are loadable "
-"segments\n"
-msgstr ""
-
-#: src/elflint.c:3572
-#, c-format
-msgid ""
-"section [%2zu] '%s' is extension section index table in non-object file\n"
-msgstr ""
-
-#: src/elflint.c:3615
-#, c-format
-msgid "section [%2zu] '%s': size not multiple of entry size\n"
-msgstr ""
-
-#: src/elflint.c:3620
-#, c-format
-msgid "cannot get section header\n"
-msgstr ""
-
-#: src/elflint.c:3630
-#, c-format
-msgid "section [%2zu] '%s' has unsupported type %d\n"
-msgstr ""
-
-#: src/elflint.c:3644
-#, c-format
-msgid ""
-"section [%2zu] '%s' contains invalid processor-specific flag(s) %#<PRIx64>\n"
-msgstr ""
-
-#: src/elflint.c:3651
-#, c-format
-msgid "section [%2zu] '%s' contains unknown flag(s) %#<PRIx64>\n"
-msgstr ""
-
-#: src/elflint.c:3659
-#, c-format
-msgid "section [%2zu] '%s': thread-local data sections address not zero\n"
-msgstr ""
-
-#: src/elflint.c:3667
-#, c-format
-msgid "section [%2zu] '%s': invalid section reference in link value\n"
-msgstr ""
-
-#: src/elflint.c:3672
-#, c-format
-msgid "section [%2zu] '%s': invalid section reference in info value\n"
-msgstr ""
-
-#: src/elflint.c:3679
-#, c-format
-msgid "section [%2zu] '%s': strings flag set without merge flag\n"
-msgstr ""
-
-#: src/elflint.c:3684
-#, c-format
-msgid "section [%2zu] '%s': merge flag set but entry size is zero\n"
-msgstr ""
-
-#: src/elflint.c:3702
-#, c-format
-msgid "section [%2zu] '%s' has unexpected type %d for an executable section\n"
-msgstr ""
-
-#: src/elflint.c:3711
-#, c-format
-msgid "section [%2zu] '%s' is both executable and writable\n"
-msgstr ""
-
-#: src/elflint.c:3738
-#, c-format
-msgid ""
-"section [%2zu] '%s' not fully contained in segment of program header entry %"
-"d\n"
-msgstr ""
-
-#: src/elflint.c:3746
-#, 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:3755
-#, 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:3766
-#, c-format
-msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n"
-msgstr ""
-
-#: src/elflint.c:3776
-#, c-format
-msgid "section [%2zu] '%s' is writable in unwritable segment %d\n"
-msgstr ""
-
-#: src/elflint.c:3786
-#, c-format
-msgid ""
-"section [%2zu] '%s': alloc flag set but section not in any loaded segment\n"
-msgstr ""
-
-#: src/elflint.c:3792
-#, 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:3800
-#, c-format
-msgid ""
-"section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n"
-msgstr ""
-
-#: src/elflint.c:3851
-#, c-format
-msgid "more than one version symbol table present\n"
-msgstr ""
-
-#: src/elflint.c:3874
-#, c-format
-msgid "INTERP program header entry but no .interp section\n"
-msgstr ""
-
-#: src/elflint.c:3885
-#, c-format
-msgid ""
-"loadable segment [%u] is executable but contains no executable sections\n"
-msgstr ""
-
-#: src/elflint.c:3891
-#, c-format
-msgid "loadable segment [%u] is writable but contains no writable sections\n"
-msgstr ""
-
-#: src/elflint.c:3902
-#, c-format
-msgid ""
-"no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section "
-"exist\n"
-msgstr ""
-
-#: src/elflint.c:3915
-#, c-format
-msgid "duplicate version index %d\n"
-msgstr ""
-
-#: src/elflint.c:3929
-#, c-format
-msgid ".gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n"
-msgstr ""
-
-#: src/elflint.c:3978
-#, c-format
-msgid "phdr[%d]: unknown core file note type %<PRIu32> at offset %<PRIu64>\n"
-msgstr ""
-
-#: src/elflint.c:3982
-#, c-format
-msgid ""
-"section [%2d] '%s': unknown core file note type %<PRIu32> at offset %Zu\n"
-msgstr ""
-
-#: src/elflint.c:4005
-#, c-format
-msgid "phdr[%d]: unknown object file note type %<PRIu32> at offset %Zu\n"
-msgstr ""
-
-#: src/elflint.c:4009
-#, c-format
-msgid ""
-"section [%2d] '%s': unknown object file note type %<PRIu32> at offset %Zu\n"
-msgstr ""
-
-#: src/elflint.c:4026
-#, c-format
-msgid "phdr[%d]: no note entries defined for the type of file\n"
-msgstr ""
-
-#: src/elflint.c:4045
-#, c-format
-msgid "phdr[%d]: cannot get content of note section: %s\n"
-msgstr ""
-
-#: src/elflint.c:4048
-#, c-format
-msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n"
-msgstr ""
-
-#: src/elflint.c:4069
-#, c-format
-msgid "section [%2d] '%s': no note entries defined for the type of file\n"
-msgstr ""
-
-#: src/elflint.c:4076
-#, c-format
-msgid "section [%2d] '%s': cannot get content of note section\n"
-msgstr ""
-
-#: src/elflint.c:4079
-#, c-format
-msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n"
-msgstr ""
-
-#: src/elflint.c:4097
-#, c-format
-msgid ""
-"only executables, shared objects, and core files can have program headers\n"
-msgstr ""
-
-#: src/elflint.c:4112
-#, c-format
-msgid "cannot get program header entry %d: %s\n"
-msgstr ""
-
-#: src/elflint.c:4121
-#, c-format
-msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n"
-msgstr ""
-
-#: src/elflint.c:4132
-#, c-format
-msgid "more than one INTERP entry in program header\n"
-msgstr ""
-
-#: src/elflint.c:4140
-#, c-format
-msgid "more than one TLS entry in program header\n"
-msgstr ""
-
-#: src/elflint.c:4147
-#, c-format
-msgid "static executable cannot have dynamic sections\n"
-msgstr ""
-
-#: src/elflint.c:4161
-#, c-format
-msgid "dynamic section reference in program header has wrong offset\n"
-msgstr ""
-
-#: src/elflint.c:4164
-#, c-format
-msgid "dynamic section size mismatch in program and section header\n"
-msgstr ""
-
-#: src/elflint.c:4174
-#, c-format
-msgid "more than one GNU_RELRO entry in program header\n"
-msgstr ""
-
-#: src/elflint.c:4195
-#, c-format
-msgid "loadable segment GNU_RELRO applies to is not writable\n"
-msgstr ""
-
-#: src/elflint.c:4198
-#, c-format
-msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n"
-msgstr ""
-
-#: src/elflint.c:4206 src/elflint.c:4229
-#, c-format
-msgid "%s segment not contained in a loaded segment\n"
-msgstr ""
-
-#: src/elflint.c:4235
-#, c-format
-msgid "program header offset in ELF header and PHDR entry do not match"
-msgstr ""
-
-#: src/elflint.c:4259
-#, c-format
-msgid "call frame search table reference in program header has wrong offset\n"
-msgstr ""
-
-#: src/elflint.c:4262
-#, c-format
-msgid "call frame search table size mismatch in program and section header\n"
-msgstr ""
-
-#: src/elflint.c:4275
-#, c-format
-msgid "PT_GNU_EH_FRAME present but no .eh_frame_hdr section\n"
-msgstr ""
-
-#: src/elflint.c:4283
-#, c-format
-msgid "call frame search table must be allocated\n"
-msgstr ""
-
-#: src/elflint.c:4286
-#, c-format
-msgid "section [%2zu] '%s' must be allocated\n"
-msgstr ""
-
-#: src/elflint.c:4290
-#, c-format
-msgid "call frame search table must not be writable\n"
-msgstr ""
-
-#: src/elflint.c:4293
-#, c-format
-msgid "section [%2zu] '%s' must not be writable\n"
-msgstr ""
-
-#: src/elflint.c:4298
-#, c-format
-msgid "call frame search table must not be executable\n"
-msgstr ""
-
-#: src/elflint.c:4301
-#, c-format
-msgid "section [%2zu] '%s' must not be executable\n"
-msgstr ""
-
-#: src/elflint.c:4312
-#, c-format
-msgid "program header entry %d: file size greater than memory size\n"
-msgstr ""
-
-#: src/elflint.c:4319
-#, c-format
-msgid "program header entry %d: alignment not a power of 2\n"
-msgstr ""
-
-#: src/elflint.c:4322
-#, c-format
-msgid ""
-"program header entry %d: file offset and virtual address not module of "
-"alignment\n"
-msgstr ""
-
-#: src/elflint.c:4335
-#, 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:4369
-#, c-format
-msgid "cannot read ELF header: %s\n"
-msgstr ""
-
-#: src/elflint.c:4395
-#, c-format
-msgid "text relocation flag set but not needed\n"
-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 ""
-
-#: src/findtextrel.c:80
-msgid "Locate source of text relocations in FILEs (a.out by default)."
-msgstr ""
-
-#: src/findtextrel.c:84 src/nm.c:111 src/objdump.c:80 src/size.c:92
-#: src/strings.c:92 src/strip.c:97
-msgid "[FILE...]"
-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/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/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 archives 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 ""
-
-#: src/ld.c:197
-msgid "Combine object and archive files."
-msgstr ""
-
-#: 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 ""
-
-#: 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:661 src/ldgeneric.c:1122 src/readelf.c:629 src/strip.c:543
-#, c-format
-msgid "cannot determine number of sections: %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 ""
-
-#: 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 ""
-
-#: 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 ""
-
-#: 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:1808
-#, 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 ""
-
-#: 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/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' is declared both local and global for unnamed version"
-msgstr ""
-
-#: src/ldscript.y:747
-#, c-format
-msgid "symbol '%s' is 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/nm.c:74 src/strip.c:73
-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:78 src/unstrip.c:81
-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:108
-msgid "List symbols from FILEs (a.out by default)."
-msgstr ""
-
-#: src/nm.c:136 src/objdump.c:105 src/size.c:117 src/strip.c:121
-#, c-format
-msgid "%s: INTERNAL ERROR %d (%s-%s): %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:1816
-#, c-format
-msgid "while closing '%s'"
-msgstr ""
-
-#: src/nm.c:402 src/objdump.c:296 src/strip.c:359
-#, c-format
-msgid "%s: File format not recognized"
-msgstr ""
-
-#: 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/objdump.c:744 src/readelf.c:885
-#: src/readelf.c:1028 src/readelf.c:1169 src/readelf.c:1351 src/readelf.c:1549
-#: src/readelf.c:1735 src/readelf.c:1945 src/readelf.c:2199 src/readelf.c:2265
-#: src/readelf.c:2343 src/readelf.c:2841 src/readelf.c:2877 src/readelf.c:2939
-#: src/readelf.c:6493 src/readelf.c:7387 src/readelf.c:7534 src/readelf.c:7604
-#: src/size.c:425 src/size.c:499 src/strip.c:483
-#, 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 ""
-
-#: src/nm.c:768
-#, c-format
-msgid ""
-"\n"
-"\n"
-"Symbols from %s[%s]:\n"
-"\n"
-msgstr ""
-
-#: 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 ""
-
-#: 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/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 ""
-
-#: src/objdump.c:76
-msgid "Show information from FILEs (a.out by default)."
-msgstr ""
-
-#: src/objdump.c:236 src/readelf.c:430
-msgid "No operation specified.\n"
-msgstr ""
-
-#: src/objdump.c:274 src/objdump.c:286
-#, c-format
-msgid "while close `%s'"
-msgstr ""
-
-#: src/objdump.c:379 src/readelf.c:1644 src/readelf.c:1818
-msgid "INVALID SYMBOL"
-msgstr ""
-
-#: src/objdump.c:394 src/readelf.c:1675 src/readelf.c:1851
-msgid "INVALID SECTION"
-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 ""
-
-#: src/ranlib.c:74
-msgid "Generate an index to speed access to archives."
-msgstr ""
-
-#: 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/readelf.c:73
-msgid "ELF output selection:"
-msgstr ""
-
-#: src/readelf.c:75
-msgid "All these plus -p .strtab -p .dynstr -p .comment"
-msgstr ""
-
-#: src/readelf.c:76
-msgid "Display the dynamic segment"
-msgstr ""
-
-#: src/readelf.c:77
-msgid "Display the ELF file header"
-msgstr ""
-
-#: src/readelf.c:79
-msgid "Display histogram of bucket list lengths"
-msgstr ""
-
-#: src/readelf.c:80
-msgid "Display the program headers"
-msgstr ""
-
-#: src/readelf.c:82
-msgid "Display relocations"
-msgstr ""
-
-#: src/readelf.c:83
-msgid "Display the sections' headers"
-msgstr ""
-
-#: src/readelf.c:85
-msgid "Display the symbol table"
-msgstr ""
-
-#: src/readelf.c:86
-msgid "Display versioning information"
-msgstr ""
-
-#: src/readelf.c:87
-msgid "Display the ELF notes"
-msgstr ""
-
-#: src/readelf.c:89
-msgid "Display architecture specific information, if any"
-msgstr ""
-
-#: src/readelf.c:91
-msgid "Display sections for exception handling"
-msgstr ""
-
-#: src/readelf.c:93
-msgid "Additional output selection:"
-msgstr ""
-
-#: src/readelf.c:95
-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:99
-msgid "Dump the uninterpreted contents of SECTION, by number or name"
-msgstr ""
-
-#: src/readelf.c:101
-msgid "Print string contents of sections"
-msgstr ""
-
-#: src/readelf.c:104
-msgid "Display the symbol index of an archive"
-msgstr ""
-
-#: src/readelf.c:106
-msgid "Output control:"
-msgstr ""
-
-#: src/readelf.c:108
-msgid "Do not find symbol names for addresses in DWARF data"
-msgstr ""
-
-#: src/readelf.c:114
-msgid "Print information from ELF file in human-readable form."
-msgstr ""
-
-#: src/readelf.c:401
-#, c-format
-msgid "Unknown DWARF debug section `%s'.\n"
-msgstr ""
-
-#: src/readelf.c:465
-#, c-format
-msgid "cannot generate Elf descriptor: %s"
-msgstr ""
-
-#: src/readelf.c:477
-#, c-format
-msgid "'%s' is not an archive, cannot print archive index"
-msgstr ""
-
-#: src/readelf.c:482
-#, c-format
-msgid "error while closing Elf descriptor: %s"
-msgstr ""
-
-#: src/readelf.c:574
-#, c-format
-msgid "cannot stat input file"
-msgstr ""
-
-#: src/readelf.c:576
-#, c-format
-msgid "input file is empty"
-msgstr ""
-
-#: src/readelf.c:578
-#, c-format
-msgid "failed reading '%s': %s"
-msgstr ""
-
-#: src/readelf.c:614
-#, c-format
-msgid "cannot read ELF header: %s"
-msgstr ""
-
-#: src/readelf.c:622
-#, c-format
-msgid "cannot create EBL handle"
-msgstr ""
-
-#: src/readelf.c:635
-#, c-format
-msgid "cannot determine number of program headers: %s"
-msgstr ""
-
-#: src/readelf.c:721
-msgid "NONE (None)"
-msgstr ""
-
-#: src/readelf.c:722
-msgid "REL (Relocatable file)"
-msgstr ""
-
-#: src/readelf.c:723
-msgid "EXEC (Executable file)"
-msgstr ""
-
-#: src/readelf.c:724
-msgid "DYN (Shared object file)"
-msgstr ""
-
-#: src/readelf.c:725
-msgid "CORE (Core file)"
-msgstr ""
-
-#: src/readelf.c:730
-#, c-format
-msgid "OS Specific: (%x)\n"
-msgstr ""
-
-#: src/readelf.c:732
-#, c-format
-msgid "Processor Specific: (%x)\n"
-msgstr ""
-
-#: src/readelf.c:742
-msgid ""
-"ELF Header:\n"
-"  Magic:  "
-msgstr ""
-
-#: src/readelf.c:746
-#, c-format
-msgid ""
-"\n"
-"  Class:                             %s\n"
-msgstr ""
-
-#: src/readelf.c:751
-#, c-format
-msgid "  Data:                              %s\n"
-msgstr ""
-
-#: src/readelf.c:757
-#, c-format
-msgid "  Ident Version:                     %hhd %s\n"
-msgstr ""
-
-#: src/readelf.c:759 src/readelf.c:776
-msgid "(current)"
-msgstr ""
-
-#: src/readelf.c:763
-#, c-format
-msgid "  OS/ABI:                            %s\n"
-msgstr ""
-
-#: src/readelf.c:766
-#, c-format
-msgid "  ABI Version:                       %hhd\n"
-msgstr ""
-
-#: src/readelf.c:769
-msgid "  Type:                              "
-msgstr ""
-
-#: src/readelf.c:772
-#, c-format
-msgid "  Machine:                           %s\n"
-msgstr ""
-
-#: src/readelf.c:774
-#, c-format
-msgid "  Version:                           %d %s\n"
-msgstr ""
-
-#: src/readelf.c:778
-#, c-format
-msgid "  Entry point address:               %#<PRIx64>\n"
-msgstr ""
-
-#: src/readelf.c:781
-#, c-format
-msgid "  Start of program headers:          %<PRId64> %s\n"
-msgstr ""
-
-#: src/readelf.c:782 src/readelf.c:785
-msgid "(bytes into file)"
-msgstr ""
-
-#: src/readelf.c:784
-#, c-format
-msgid "  Start of section headers:          %<PRId64> %s\n"
-msgstr ""
-
-#: src/readelf.c:787
-#, c-format
-msgid "  Flags:                             %s\n"
-msgstr ""
-
-#: src/readelf.c:790
-#, c-format
-msgid "  Size of this header:               %<PRId16> %s\n"
-msgstr ""
-
-#: src/readelf.c:791 src/readelf.c:794 src/readelf.c:811
-msgid "(bytes)"
-msgstr ""
-
-#: src/readelf.c:793
-#, c-format
-msgid "  Size of program header entries:    %<PRId16> %s\n"
-msgstr ""
-
-#: src/readelf.c:796
-#, c-format
-msgid "  Number of program headers entries: %<PRId16>"
-msgstr ""
-
-#: src/readelf.c:803
-#, c-format
-msgid " (%<PRIu32> in [0].sh_info)"
-msgstr ""
-
-#: src/readelf.c:806 src/readelf.c:823 src/readelf.c:837
-msgid " ([0] not available)"
-msgstr ""
-
-#: src/readelf.c:810
-#, c-format
-msgid "  Size of section header entries:    %<PRId16> %s\n"
-msgstr ""
-
-#: src/readelf.c:813
-#, c-format
-msgid "  Number of section headers entries: %<PRId16>"
-msgstr ""
-
-#: src/readelf.c:820
-#, c-format
-msgid " (%<PRIu32> in [0].sh_size)"
-msgstr ""
-
-#: src/readelf.c:833
-#, c-format
-msgid " (%<PRIu32> in [0].sh_link)"
-msgstr ""
-
-#: src/readelf.c:841
-#, c-format
-msgid ""
-"  Section header string table index: XINDEX%s\n"
-"\n"
-msgstr ""
-
-#: src/readelf.c:845
-#, c-format
-msgid ""
-"  Section header string table index: %<PRId16>\n"
-"\n"
-msgstr ""
-
-#: src/readelf.c:877
-#, c-format
-msgid ""
-"There are %d section headers, starting at offset %#<PRIx64>:\n"
-"\n"
-msgstr ""
-
-#: src/readelf.c:887
-msgid "Section Headers:"
-msgstr ""
-
-#: src/readelf.c:890
-msgid ""
-"[Nr] Name                 Type         Addr     Off    Size   ES Flags Lk "
-"Inf Al"
-msgstr ""
-
-#: src/readelf.c:892
-msgid ""
-"[Nr] Name                 Type         Addr             Off      Size     ES "
-"Flags Lk Inf Al"
-msgstr ""
-
-#: src/readelf.c:899 src/readelf.c:1052
-#, c-format
-msgid "cannot get section: %s"
-msgstr ""
-
-#: src/readelf.c:906 src/readelf.c:1060 src/readelf.c:7554 src/unstrip.c:353
-#: src/unstrip.c:377 src/unstrip.c:427 src/unstrip.c:536 src/unstrip.c:553
-#: src/unstrip.c:591 src/unstrip.c:789 src/unstrip.c:1057 src/unstrip.c:1244
-#: src/unstrip.c:1305 src/unstrip.c:1427 src/unstrip.c:1480 src/unstrip.c:1588
-#: src/unstrip.c:1778
-#, c-format
-msgid "cannot get section header: %s"
-msgstr ""
-
-#: src/readelf.c:964
-msgid "Program Headers:"
-msgstr ""
-
-#: src/readelf.c:966
-msgid ""
-"  Type           Offset   VirtAddr   PhysAddr   FileSiz  MemSiz   Flg Align"
-msgstr ""
-
-#: src/readelf.c:969
-msgid ""
-"  Type           Offset   VirtAddr           PhysAddr           FileSiz  "
-"MemSiz   Flg Align"
-msgstr ""
-
-#: src/readelf.c:1009
-#, c-format
-msgid "\t[Requesting program interpreter: %s]\n"
-msgstr ""
-
-#: src/readelf.c:1030
-msgid ""
-"\n"
-" Section to Segment mapping:\n"
-"  Segment Sections..."
-msgstr ""
-
-#: src/readelf.c:1041 src/unstrip.c:1824 src/unstrip.c:1863 src/unstrip.c:1870
-#, c-format
-msgid "cannot get program header: %s"
-msgstr ""
-
-#: src/readelf.c:1175
-#, 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:1180
-#, 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:1188
-msgid "<INVALID SYMBOL>"
-msgstr ""
-
-#: src/readelf.c:1202
-msgid "<INVALID SECTION>"
-msgstr ""
-
-#: src/readelf.c:1353
-#, 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:1365
-msgid "  Type              Value\n"
-msgstr ""
-
-#: src/readelf.c:1389
-#, c-format
-msgid "Shared library: [%s]\n"
-msgstr ""
-
-#: src/readelf.c:1394
-#, c-format
-msgid "Library soname: [%s]\n"
-msgstr ""
-
-#: src/readelf.c:1399
-#, c-format
-msgid "Library rpath: [%s]\n"
-msgstr ""
-
-#: src/readelf.c:1404
-#, c-format
-msgid "Library runpath: [%s]\n"
-msgstr ""
-
-#: src/readelf.c:1424
-#, c-format
-msgid "%<PRId64> (bytes)\n"
-msgstr ""
-
-#: src/readelf.c:1534 src/readelf.c:1720
-#, c-format
-msgid ""
-"\n"
-"Invalid symbol table at offset %#0<PRIx64>\n"
-msgstr ""
-
-#: src/readelf.c:1552 src/readelf.c:1737
-#, 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] ""
-
-#: src/readelf.c:1567
-#, 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:1577
-msgid "  Offset      Type                 Value       Name\n"
-msgstr ""
-
-#: src/readelf.c:1579
-msgid "  Offset              Type                 Value               Name\n"
-msgstr ""
-
-#: src/readelf.c:1632 src/readelf.c:1643 src/readelf.c:1656 src/readelf.c:1674
-#: src/readelf.c:1686 src/readelf.c:1805 src/readelf.c:1817 src/readelf.c:1831
-#: src/readelf.c:1850 src/readelf.c:1863
-msgid "<INVALID RELOC>"
-msgstr ""
-
-#: src/readelf.c:1749
-msgid "  Offset      Type            Value       Addend Name\n"
-msgstr ""
-
-#: src/readelf.c:1751
-msgid "  Offset              Type            Value               Addend Name\n"
-msgstr ""
-
-#: src/readelf.c:1952
-#, 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:1958
-#, 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:1968
-msgid "  Num:    Value   Size Type    Bind   Vis          Ndx Name\n"
-msgstr ""
-
-#: src/readelf.c:1970
-msgid "  Num:            Value   Size Type    Bind   Vis          Ndx Name\n"
-msgstr ""
-
-#: src/readelf.c:1990
-#, c-format
-msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
-msgstr ""
-
-#: src/readelf.c:2078
-#, c-format
-msgid "bad dynamic symbol"
-msgstr ""
-
-#: src/readelf.c:2160
-msgid "none"
-msgstr ""
-
-#: src/readelf.c:2177
-msgid "| <unknown>"
-msgstr ""
-
-#: src/readelf.c:2202
-#, 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:2225
-#, c-format
-msgid "  %#06x: Version: %hu  File: %s  Cnt: %hu\n"
-msgstr ""
-
-#: src/readelf.c:2238
-#, c-format
-msgid "  %#06x: Name: %s  Flags: %s  Version: %hu\n"
-msgstr ""
-
-#: src/readelf.c:2269
-#, 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:2299
-#, c-format
-msgid "  %#06x: Version: %hd  Flags: %s  Index: %hd  Cnt: %hd  Name: %s\n"
-msgstr ""
-
-#: src/readelf.c:2314
-#, c-format
-msgid "  %#06x: Parent %d: %s\n"
-msgstr ""
-
-#: src/readelf.c:2546
-#, 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:2576
-msgid "   0 *local*                     "
-msgstr ""
-
-#: src/readelf.c:2581
-msgid "   1 *global*                    "
-msgstr ""
-
-#: src/readelf.c:2612
-#, 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:2636
-#, no-c-format
-msgid " Length  Number  % of total  Coverage\n"
-msgstr ""
-
-#: src/readelf.c:2638
-#, c-format
-msgid "      0  %6<PRIu32>      %5.1f%%\n"
-msgstr ""
-
-#: src/readelf.c:2645
-#, c-format
-msgid "%7d  %6<PRIu32>      %5.1f%%    %5.1f%%\n"
-msgstr ""
-
-#: src/readelf.c:2658
-#, c-format
-msgid ""
-" Average number of tests:   successful lookup: %f\n"
-"                          unsuccessful lookup: %f\n"
-msgstr ""
-
-#: src/readelf.c:2676 src/readelf.c:2718 src/readelf.c:2759
-#, c-format
-msgid "cannot get data for section %d: %s"
-msgstr ""
-
-#: src/readelf.c:2813
-#, c-format
-msgid ""
-" Symbol Bias: %u\n"
-" Bitmask Size: %zu bytes  %<PRIuFAST32>%% bits set  2nd hash shift: %u\n"
-msgstr ""
-
-#: src/readelf.c:2887
-#, 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:2901
-msgid ""
-"       Library                       Time Stamp          Checksum Version "
-"Flags"
-msgstr ""
-
-#: src/readelf.c:2951
-#, c-format
-msgid ""
-"\n"
-"Object attributes section [%2zu] '%s' of %<PRIu64> bytes at offset %"
-"#0<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:2967
-msgid "  Owner          Size\n"
-msgstr ""
-
-#: src/readelf.c:2993
-#, c-format
-msgid "  %-13s  %4<PRIu32>\n"
-msgstr ""
-
-#: src/readelf.c:3025
-#, c-format
-msgid "    %-4u %12<PRIu32>\n"
-msgstr ""
-
-#: src/readelf.c:3030
-#, c-format
-msgid "    File: %11<PRIu32>\n"
-msgstr ""
-
-#: src/readelf.c:3065
-#, c-format
-msgid "      %s: %<PRId64>, %s\n"
-msgstr ""
-
-#: src/readelf.c:3068
-#, c-format
-msgid "      %s: %<PRId64>\n"
-msgstr ""
-
-#: src/readelf.c:3071
-#, c-format
-msgid "      %s: %s\n"
-msgstr ""
-
-#: src/readelf.c:3078
-#, c-format
-msgid "      %u: %<PRId64>\n"
-msgstr ""
-
-#: src/readelf.c:3081
-#, c-format
-msgid "      %u: %s\n"
-msgstr ""
-
-#: src/readelf.c:3117
-#, c-format
-msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>"
-msgstr ""
-
-#: src/readelf.c:3120
-#, c-format
-msgid "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
-msgstr ""
-
-#: src/readelf.c:3125
-#, c-format
-msgid "%#<PRIx64> <%s+%#<PRIx64>>"
-msgstr ""
-
-#: src/readelf.c:3128
-#, c-format
-msgid "%#0*<PRIx64> <%s+%#<PRIx64>>"
-msgstr ""
-
-#: src/readelf.c:3134
-#, c-format
-msgid "%s+%#<PRIx64> <%s>"
-msgstr ""
-
-#: src/readelf.c:3137
-#, c-format
-msgid "%s+%#0*<PRIx64> <%s>"
-msgstr ""
-
-#: src/readelf.c:3141
-#, c-format
-msgid "%#<PRIx64> <%s>"
-msgstr ""
-
-#: src/readelf.c:3144
-#, c-format
-msgid "%#0*<PRIx64> <%s>"
-msgstr ""
-
-#: src/readelf.c:3149
-#, c-format
-msgid "%s+%#<PRIx64>"
-msgstr ""
-
-#: src/readelf.c:3152
-#, c-format
-msgid "%s+%#0*<PRIx64>"
-msgstr ""
-
-#: src/readelf.c:3260
-#, c-format
-msgid "unknown tag %hx"
-msgstr ""
-
-#: src/readelf.c:3262
-#, c-format
-msgid "unknown user tag %hx"
-msgstr ""
-
-#: src/readelf.c:3480
-#, c-format
-msgid "unknown attribute %hx"
-msgstr ""
-
-#: src/readelf.c:3483
-#, c-format
-msgid "unknown user attribute %hx"
-msgstr ""
-
-#: src/readelf.c:3529
-#, c-format
-msgid "unknown form %<PRIx64>"
-msgstr ""
-
-#: src/readelf.c:3763
-msgid "empty block"
-msgstr ""
-
-#: src/readelf.c:3766
-#, c-format
-msgid "%zu byte block:"
-msgstr ""
-
-#: src/readelf.c:4175
-#, c-format
-msgid "%*s[%4<PRIuMAX>] %s  <TRUNCATED>\n"
-msgstr ""
-
-#: src/readelf.c:4188
-#, c-format
-msgid ""
-"\n"
-"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n"
-" [ Code]\n"
-msgstr ""
-
-#: src/readelf.c:4195
-#, c-format
-msgid ""
-"\n"
-"Abbreviation section at offset %<PRIu64>:\n"
-msgstr ""
-
-#: src/readelf.c:4208
-#, c-format
-msgid " *** error while reading abbreviation: %s\n"
-msgstr ""
-
-#: src/readelf.c:4224
-#, c-format
-msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
-msgstr ""
-
-#: src/readelf.c:4227
-msgid "yes"
-msgstr ""
-
-#: src/readelf.c:4227
-msgid "no"
-msgstr ""
-
-#: src/readelf.c:4263
-#, c-format
-msgid "cannot get .debug_aranges content: %s"
-msgstr ""
-
-#: src/readelf.c:4268
-#, 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:4298
-#, c-format
-msgid " [%*zu] ???\n"
-msgstr ""
-
-#: src/readelf.c:4300
-#, c-format
-msgid ""
-" [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
-msgstr ""
-
-#: src/readelf.c:4319
-#, c-format
-msgid "cannot get .debug_ranges content: %s"
-msgstr ""
-
-#: src/readelf.c:4324 src/readelf.c:4810 src/readelf.c:5452 src/readelf.c:5897
-#: src/readelf.c:5992 src/readelf.c:6164
-#, c-format
-msgid ""
-"\n"
-"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:4338 src/readelf.c:5911
-#, c-format
-msgid " [%6tx]  <INVALID DATA>\n"
-msgstr ""
-
-#: src/readelf.c:4360 src/readelf.c:5933
-#, c-format
-msgid " [%6tx]  base address %s\n"
-msgstr ""
-
-#: src/readelf.c:4371
-#, c-format
-msgid " [%6tx]  %s..%s\n"
-msgstr ""
-
-#: src/readelf.c:4373
-#, c-format
-msgid "           %s..%s\n"
-msgstr ""
-
-#: src/readelf.c:4799 src/readelf.c:6230 src/readelf.c:6332
-#, c-format
-msgid "cannot get %s content: %s"
-msgstr ""
-
-#: src/readelf.c:4806
-#, c-format
-msgid ""
-"\n"
-"Call frame information section [%2zu] '%s' at offset %#<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:4833 src/readelf.c:5486
-#, c-format
-msgid "invalid data in section [%zu] '%s'"
-msgstr ""
-
-#: src/readelf.c:4855
-#, c-format
-msgid ""
-"\n"
-" [%6tx] Zero terminator\n"
-msgstr ""
-
-#: src/readelf.c:4924
-#, c-format
-msgid "invalid augmentation length"
-msgstr ""
-
-#: src/readelf.c:4936
-msgid "FDE address encoding: "
-msgstr ""
-
-#: src/readelf.c:4942
-msgid "LSDA pointer encoding: "
-msgstr ""
-
-#: src/readelf.c:5034
-#, c-format
-msgid " (offset: %#<PRIx64>)"
-msgstr ""
-
-#: src/readelf.c:5041
-#, c-format
-msgid " (end offset: %#<PRIx64>)"
-msgstr ""
-
-#: src/readelf.c:5068
-#, c-format
-msgid "   %-26sLSDA pointer: %#<PRIx64>\n"
-msgstr ""
-
-#: src/readelf.c:5114
-#, c-format
-msgid "cannot get attribute code: %s"
-msgstr ""
-
-#: src/readelf.c:5122
-#, c-format
-msgid "cannot get attribute form: %s"
-msgstr ""
-
-#: src/readelf.c:5135
-#, c-format
-msgid "cannot get attribute value: %s"
-msgstr ""
-
-#: src/readelf.c:5331
-#, c-format
-msgid ""
-"\n"
-"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n"
-" [Offset]\n"
-msgstr ""
-
-#: src/readelf.c:5356
-#, 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:5374
-#, c-format
-msgid "cannot get DIE at offset %<PRIu64> in section '%s': %s"
-msgstr ""
-
-#: src/readelf.c:5385
-#, c-format
-msgid "cannot get DIE offset: %s"
-msgstr ""
-
-#: src/readelf.c:5393
-#, c-format
-msgid "cannot get tag of DIE at offset %<PRIu64> in section '%s': %s"
-msgstr ""
-
-#: src/readelf.c:5422
-#, c-format
-msgid "cannot get next DIE: %s\n"
-msgstr ""
-
-#: src/readelf.c:5429
-#, c-format
-msgid "cannot get next DIE: %s"
-msgstr ""
-
-#: src/readelf.c:5464
-#, c-format
-msgid "cannot get line data section data: %s"
-msgstr ""
-
-#: src/readelf.c:5477
-#, c-format
-msgid ""
-"\n"
-"Table at offset %Zu:\n"
-msgstr ""
-
-#: src/readelf.c:5529
-#, 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:5548
-#, c-format
-msgid "invalid data at offset %tu in section [%zu] '%s'"
-msgstr ""
-
-#: src/readelf.c:5563
-#, c-format
-msgid "  [%*<PRIuFAST8>]  %hhu argument\n"
-msgid_plural "  [%*<PRIuFAST8>]  %hhu arguments\n"
-msgstr[0] ""
-msgstr[1] ""
-
-#: src/readelf.c:5571
-msgid ""
-"\n"
-"Directory table:"
-msgstr ""
-
-#: src/readelf.c:5587
-msgid ""
-"\n"
-"File name table:\n"
-" Entry Dir   Time      Size      Name"
-msgstr ""
-
-#: src/readelf.c:5616
-msgid ""
-"\n"
-"Line number statements:"
-msgstr ""
-
-#: src/readelf.c:5677
-#, c-format
-msgid " special opcode %u: address+%u = %s, line%+d = %zu\n"
-msgstr ""
-
-#: src/readelf.c:5697
-#, c-format
-msgid " extended opcode %u: "
-msgstr ""
-
-#: src/readelf.c:5702
-msgid "end of sequence"
-msgstr ""
-
-#: src/readelf.c:5717
-#, c-format
-msgid "set address to %s\n"
-msgstr ""
-
-#: src/readelf.c:5738
-#, c-format
-msgid "define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
-msgstr ""
-
-#: src/readelf.c:5747
-msgid "unknown opcode"
-msgstr ""
-
-#: src/readelf.c:5759
-msgid " copy"
-msgstr ""
-
-#: src/readelf.c:5769
-#, c-format
-msgid "advance address by %u to %s\n"
-msgstr ""
-
-#: src/readelf.c:5780
-#, c-format
-msgid " advance line by constant %d to %<PRId64>\n"
-msgstr ""
-
-#: src/readelf.c:5788
-#, c-format
-msgid " set file to %<PRIu64>\n"
-msgstr ""
-
-#: src/readelf.c:5798
-#, c-format
-msgid " set column to %<PRIu64>\n"
-msgstr ""
-
-#: src/readelf.c:5805
-#, c-format
-msgid " set '%s' to %<PRIuFAST8>\n"
-msgstr ""
-
-#: src/readelf.c:5811
-msgid " set basic block flag"
-msgstr ""
-
-#: src/readelf.c:5821
-#, c-format
-msgid "advance address by constant %u to %s\n"
-msgstr ""
-
-#: src/readelf.c:5837
-#, c-format
-msgid "advance address by fixed value %u to %s\n"
-msgstr ""
-
-#: src/readelf.c:5846
-msgid " set prologue end flag"
-msgstr ""
-
-#: src/readelf.c:5851
-msgid " set epilogue begin flag"
-msgstr ""
-
-#: src/readelf.c:5860
-#, c-format
-msgid " unknown opcode with %<PRIu8> parameter:"
-msgid_plural " unknown opcode with %<PRIu8> parameters:"
-msgstr[0] ""
-msgstr[1] ""
-
-#: src/readelf.c:5892
-#, c-format
-msgid "cannot get .debug_loc content: %s"
-msgstr ""
-
-#: src/readelf.c:5947
-#, c-format
-msgid " [%6tx]  %s..%s"
-msgstr ""
-
-#: src/readelf.c:5949
-#, c-format
-msgid "           %s..%s"
-msgstr ""
-
-#: src/readelf.c:6002
-#, c-format
-msgid "cannot get macro information section data: %s"
-msgstr ""
-
-#: src/readelf.c:6081
-#, c-format
-msgid "%*s*** non-terminated string at end of section"
-msgstr ""
-
-#: src/readelf.c:6149
-#, c-format
-msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
-msgstr ""
-
-#: src/readelf.c:6188
-#, c-format
-msgid ""
-"\n"
-"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n"
-" %*s  String\n"
-msgstr ""
-
-#: src/readelf.c:6202
-#, c-format
-msgid " *** error while reading strings: %s\n"
-msgstr ""
-
-#: src/readelf.c:6222
-#, c-format
-msgid ""
-"\n"
-"Call frame search table section [%2zu] '.eh_frame_hdr':\n"
-msgstr ""
-
-#: src/readelf.c:6324
-#, c-format
-msgid ""
-"\n"
-"Exception handling table section [%2zu] '.gcc_except_table':\n"
-msgstr ""
-
-#: src/readelf.c:6347
-#, c-format
-msgid " LPStart encoding:    %#x "
-msgstr ""
-
-#: src/readelf.c:6359
-#, c-format
-msgid " TType encoding:      %#x "
-msgstr ""
-
-#: src/readelf.c:6373
-#, c-format
-msgid " Call site encoding:  %#x "
-msgstr ""
-
-#: src/readelf.c:6386
-msgid ""
-"\n"
-" Call site table:"
-msgstr ""
-
-#: src/readelf.c:6400
-#, 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:6460
-#, c-format
-msgid "invalid TType encoding"
-msgstr ""
-
-#: src/readelf.c:6484
-#, c-format
-msgid "cannot get debug context descriptor: %s"
-msgstr ""
-
-#: src/readelf.c:6620 src/readelf.c:7221
-#, c-format
-msgid "cannot convert core note data: %s"
-msgstr ""
-
-#: src/readelf.c:6961
-#, c-format
-msgid ""
-"\n"
-"%*s... <repeats %u more times> ..."
-msgstr ""
-
-#: src/readelf.c:7320
-msgid "  Owner          Data size  Type\n"
-msgstr ""
-
-#: src/readelf.c:7338
-#, c-format
-msgid "  %-13.*s  %9<PRId32>  %s\n"
-msgstr ""
-
-#: src/readelf.c:7372
-#, c-format
-msgid "cannot get content of note section: %s"
-msgstr ""
-
-#: src/readelf.c:7399
-#, c-format
-msgid ""
-"\n"
-"Note section [%2zu] '%s' of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:7422
-#, c-format
-msgid ""
-"\n"
-"Note segment of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:7468
-#, c-format
-msgid ""
-"\n"
-"Section [%Zu] '%s' has no data to dump.\n"
-msgstr ""
-
-#: src/readelf.c:7474 src/readelf.c:7497
-#, c-format
-msgid "cannot get data for section [%Zu] '%s': %s"
-msgstr ""
-
-#: src/readelf.c:7478
-#, c-format
-msgid ""
-"\n"
-"Hex dump of section [%Zu] '%s', %<PRIu64> bytes at offset %#0<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:7491
-#, c-format
-msgid ""
-"\n"
-"Section [%Zu] '%s' has no strings to dump.\n"
-msgstr ""
-
-#: src/readelf.c:7501
-#, c-format
-msgid ""
-"\n"
-"String section [%Zu] '%s' contains %<PRIu64> bytes at offset %#0<PRIx64>:\n"
-msgstr ""
-
-#: src/readelf.c:7549
-#, c-format
-msgid ""
-"\n"
-"section [%lu] does not exist"
-msgstr ""
-
-#: src/readelf.c:7576
-#, c-format
-msgid ""
-"\n"
-"section '%s' does not exist"
-msgstr ""
-
-#: src/readelf.c:7637
-#, c-format
-msgid "cannot get symbol index of archive '%s': %s"
-msgstr ""
-
-#: src/readelf.c:7640
-#, c-format
-msgid ""
-"\n"
-"Archive '%s' has no symbol index\n"
-msgstr ""
-
-#: src/readelf.c:7644
-#, c-format
-msgid ""
-"\n"
-"Index of archive '%s' has %Zu entries:\n"
-msgstr ""
-
-#: src/readelf.c:7662
-#, c-format
-msgid "cannot extract member at offset %Zu in '%s': %s"
-msgstr ""
-
-#: src/readelf.c:7667
-#, 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 ""
-
-#: 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/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 ""
-
-#: 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/strip.c:74
-msgid "Place stripped output into FILE"
-msgstr ""
-
-#: src/strip.c:75
-msgid "Extract the removed sections into FILE"
-msgstr ""
-
-#: src/strip.c:76
-msgid "Embed name FILE instead of -f argument"
-msgstr ""
-
-#: src/strip.c:80
-msgid "Remove all debugging symbols"
-msgstr ""
-
-#: src/strip.c:84
-msgid "Copy modified/access timestamps to the output"
-msgstr ""
-
-#: src/strip.c:86
-msgid "Remove .comment section"
-msgstr ""
-
-#: src/strip.c:89
-msgid "Relax a few rules to handle slightly broken ELF files"
-msgstr ""
-
-#: src/strip.c:94
-msgid "Discard symbols from object files."
-msgstr ""
-
-#: src/strip.c:186
-#, c-format
-msgid "Only one input file allowed together with '-o' and '-f'"
-msgstr ""
-
-#: src/strip.c:222
-#, c-format
-msgid "-f option specified twice"
-msgstr ""
-
-#: src/strip.c:231
-#, c-format
-msgid "-F option specified twice"
-msgstr ""
-
-#: src/strip.c:240 src/unstrip.c:125
-#, c-format
-msgid "-o option specified twice"
-msgstr ""
-
-#: src/strip.c:260
-#, c-format
-msgid "-R option supports only .comment section"
-msgstr ""
-
-#: src/strip.c:298 src/strip.c:322
-#, c-format
-msgid "cannot stat input file '%s'"
-msgstr ""
-
-#: src/strip.c:312
-#, c-format
-msgid "while opening '%s'"
-msgstr ""
-
-#: src/strip.c:350
-#, c-format
-msgid "%s: cannot use -o or -f when stripping archive"
-msgstr ""
-
-#: src/strip.c:448
-#, c-format
-msgid "cannot open EBL backend"
-msgstr ""
-
-#: src/strip.c:498 src/strip.c:522
-#, c-format
-msgid "cannot create new file '%s': %s"
-msgstr ""
-
-#: src/strip.c:582
-#, c-format
-msgid "illformed file '%s'"
-msgstr ""
-
-#: src/strip.c:869 src/strip.c:956
-#, c-format
-msgid "while generating output file: %s"
-msgstr ""
-
-#: src/strip.c:929 src/strip.c:1668
-#, c-format
-msgid "%s: error while creating ELF header: %s"
-msgstr ""
-
-#: src/strip.c:943
-#, c-format
-msgid "while preparing output for '%s'"
-msgstr ""
-
-#: src/strip.c:994 src/strip.c:1050
-#, c-format
-msgid "while create section header section: %s"
-msgstr ""
-
-#: src/strip.c:1000
-#, c-format
-msgid "cannot allocate section data: %s"
-msgstr ""
-
-#: src/strip.c:1059
-#, c-format
-msgid "while create section header string table: %s"
-msgstr ""
-
-#: src/strip.c:1593 src/strip.c:1690
-#, c-format
-msgid "while writing '%s': %s"
-msgstr ""
-
-#: src/strip.c:1604
-#, c-format
-msgid "while creating '%s'"
-msgstr ""
-
-#: src/strip.c:1616
-#, c-format
-msgid "while computing checksum for debug information"
-msgstr ""
-
-#: src/strip.c:1676
-#, c-format
-msgid "%s: error while reading the file: %s"
-msgstr ""
-
-#: src/strip.c:1722 src/strip.c:1729
-#, c-format
-msgid "error while finishing '%s': %s"
-msgstr ""
-
-#: src/strip.c:1752 src/strip.c:1809
-#, c-format
-msgid "cannot set access and modification date of '%s'"
-msgstr ""
-
-#: src/unstrip.c:78
-msgid "Match MODULE against file names, not module names"
-msgstr ""
-
-#: src/unstrip.c:79
-msgid "Silently skip unfindable files"
-msgstr ""
-
-#: src/unstrip.c:82
-msgid "Place output into FILE"
-msgstr ""
-
-#: src/unstrip.c:84
-msgid "Create multiple output files under DIRECTORY"
-msgstr ""
-
-#: src/unstrip.c:85
-msgid "Use module rather than file names"
-msgstr ""
-
-#: src/unstrip.c:87
-msgid "Create output for modules that have no separate debug information"
-msgstr ""
-
-#: src/unstrip.c:90
-msgid "Apply relocations to section contents in ET_REL files"
-msgstr ""
-
-#: src/unstrip.c:92
-msgid "Only list module and file names, build IDs"
-msgstr ""
-
-#: src/unstrip.c:134
-#, c-format
-msgid "-d option specified twice"
-msgstr ""
-
-#: src/unstrip.c:166
-#, c-format
-msgid "only one of -o or -d allowed"
-msgstr ""
-
-#: src/unstrip.c:175
-#, c-format
-msgid "-n cannot be used with explicit files or -o or -d"
-msgstr ""
-
-#: src/unstrip.c:190
-#, c-format
-msgid "output directory '%s'"
-msgstr ""
-
-#: src/unstrip.c:199
-#, c-format
-msgid "exactly two file arguments are required"
-msgstr ""
-
-#: src/unstrip.c:205
-#, c-format
-msgid "-m, -a, -R, and -i options not allowed with explicit files"
-msgstr ""
-
-#: src/unstrip.c:218
-#, c-format
-msgid "-o or -d is required when using implicit files"
-msgstr ""
-
-#: src/unstrip.c:254
-#, c-format
-msgid "cannot create ELF header: %s"
-msgstr ""
-
-#: src/unstrip.c:259
-#, c-format
-msgid "cannot copy ELF header: %s"
-msgstr ""
-
-#: src/unstrip.c:264 src/unstrip.c:1817
-#, c-format
-msgid "cannot create program headers: %s"
-msgstr ""
-
-#: src/unstrip.c:270
-#, c-format
-msgid "cannot copy program header: %s"
-msgstr ""
-
-#: src/unstrip.c:280
-#, c-format
-msgid "cannot copy section header: %s"
-msgstr ""
-
-#: src/unstrip.c:283 src/unstrip.c:1505
-#, c-format
-msgid "cannot get section data: %s"
-msgstr ""
-
-#: src/unstrip.c:285 src/unstrip.c:1507
-#, c-format
-msgid "cannot copy section data: %s"
-msgstr ""
-
-#: src/unstrip.c:309
-#, c-format
-msgid "cannot create directory '%s'"
-msgstr ""
-
-#: src/unstrip.c:349 src/unstrip.c:763 src/unstrip.c:1540
-#, c-format
-msgid "cannot get symbol table entry: %s"
-msgstr ""
-
-#: src/unstrip.c:365 src/unstrip.c:580 src/unstrip.c:601 src/unstrip.c:613
-#: src/unstrip.c:1561 src/unstrip.c:1691 src/unstrip.c:1715
-#, c-format
-msgid "cannot update symbol table: %s"
-msgstr ""
-
-#: src/unstrip.c:382 src/unstrip.c:432 src/unstrip.c:562 src/unstrip.c:1209
-#: src/unstrip.c:1525 src/unstrip.c:1720 src/unstrip.c:1791
-#, c-format
-msgid "cannot update section header: %s"
-msgstr ""
-
-#: src/unstrip.c:408 src/unstrip.c:419
-#, c-format
-msgid "cannot update relocation: %s"
-msgstr ""
-
-#: src/unstrip.c:507
-#, c-format
-msgid "cannot get symbol version: %s"
-msgstr ""
-
-#: src/unstrip.c:519
-#, c-format
-msgid "unexpected section type in [%Zu] with sh_link to symtab"
-msgstr ""
-
-#: src/unstrip.c:769
-#, c-format
-msgid "invalid string offset in symbol [%Zu]"
-msgstr ""
-
-#: src/unstrip.c:911 src/unstrip.c:1248
-#, c-format
-msgid "cannot read section [%Zu] name: %s"
-msgstr ""
-
-#: src/unstrip.c:952 src/unstrip.c:971 src/unstrip.c:1004
-#, c-format
-msgid "cannot read '.gnu.prelink_undo' section: %s"
-msgstr ""
-
-#: src/unstrip.c:992
-#, c-format
-msgid "invalid contents in '%s' section"
-msgstr ""
-
-#: src/unstrip.c:1047 src/unstrip.c:1370
-#, c-format
-msgid "cannot find matching section for [%Zu] '%s'"
-msgstr ""
-
-#: src/unstrip.c:1171 src/unstrip.c:1186 src/unstrip.c:1451
-#, c-format
-msgid "cannot add section name to string table: %s"
-msgstr ""
-
-#: src/unstrip.c:1195
-#, c-format
-msgid "cannot update section header string table data: %s"
-msgstr ""
-
-#: src/unstrip.c:1223 src/unstrip.c:1227
-#, c-format
-msgid "cannot get section header string table section index: %s"
-msgstr ""
-
-#: src/unstrip.c:1231 src/unstrip.c:1235 src/unstrip.c:1466
-#, c-format
-msgid "cannot get section count: %s"
-msgstr ""
-
-#: src/unstrip.c:1293 src/unstrip.c:1385
-#, c-format
-msgid "cannot read section header string table: %s"
-msgstr ""
-
-#: src/unstrip.c:1445
-#, c-format
-msgid "cannot add new section: %s"
-msgstr ""
-
-#: src/unstrip.c:1548
-#, c-format
-msgid "symbol [%Zu] has invalid section index"
-msgstr ""
-
-#: src/unstrip.c:1800
-#, c-format
-msgid "cannot get ELF header: %s"
-msgstr ""
-
-#: src/unstrip.c:1827
-#, c-format
-msgid "cannot update program header: %s"
-msgstr ""
-
-#: src/unstrip.c:1832 src/unstrip.c:1911
-#, c-format
-msgid "cannot write output file: %s"
-msgstr ""
-
-#: src/unstrip.c:1880
-#, c-format
-msgid "DWARF data not adjusted for prelinking bias; consider prelink -u"
-msgstr ""
-
-#: src/unstrip.c:1883
-#, c-format
-msgid ""
-"DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u"
-msgstr ""
-
-#: src/unstrip.c:1902 src/unstrip.c:1942 src/unstrip.c:1954 src/unstrip.c:2034
-#, c-format
-msgid "cannot create ELF descriptor: %s"
-msgstr ""
-
-#: src/unstrip.c:1960
-#, c-format
-msgid "'%s' and '%s' do not seem to match"
-msgstr ""
-
-#: src/unstrip.c:1991
-#, c-format
-msgid "cannot find stripped file for module '%s': %s"
-msgstr ""
-
-#: src/unstrip.c:1995
-#, c-format
-msgid "cannot open stripped file '%s' for module '%s': %s"
-msgstr ""
-
-#: src/unstrip.c:2010
-#, c-format
-msgid "cannot find debug file for module '%s': %s"
-msgstr ""
-
-#: src/unstrip.c:2014
-#, c-format
-msgid "cannot open debug file '%s' for module '%s': %s"
-msgstr ""
-
-#: src/unstrip.c:2027
-#, c-format
-msgid "module '%s' file '%s' is not stripped"
-msgstr ""
-
-#: src/unstrip.c:2058
-#, c-format
-msgid "cannot cache section addresses for module '%s': %s"
-msgstr ""
-
-#: src/unstrip.c:2191
-#, c-format
-msgid "no matching modules found"
-msgstr ""
-
-#: src/unstrip.c:2200
-#, c-format
-msgid "matched more than one module"
-msgstr ""
-
-#: src/unstrip.c:2247
-msgid ""
-"STRIPPED-FILE DEBUG-FILE\n"
-"[MODULE...]"
-msgstr ""
-
-#: src/unstrip.c:2248
-msgid ""
-"Combine stripped files with separate symbols and debug information.\n\nThe "
-"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 ""
diff --git a/post_update.sh b/post_update.sh
new file mode 100755
index 0000000..7072c8f
--- /dev/null
+++ b/post_update.sh
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+# $1 Path to the new version.
+# $2 Path to the old version.
+
+set -x
+set -e
+
+# if called from the external_updater, change to the new dir first
+if [ "$1" != "" ]; then
+    cd $1
+fi
+
+autoreconf -i && ./configure --enable-maintainer-mode --disable-debuginfod --disable-libdebuginfod --without-lzma --without-bzlib --without-zstd
+
+# if called from the external_updater, do not apply any patches as it will do
+# that for us
+if [ "$2" == "" ]; then
+    git apply patches/*
+fi
diff --git a/src/.gitignore b/src/.gitignore
new file mode 100644
index 0000000..f7252a4
--- /dev/null
+++ b/src/.gitignore
@@ -0,0 +1,17 @@
+/addr2line
+/ar
+/elfclassify
+/elfcmp
+/elfcompress
+/elflint
+/findtextrel
+/make-debug-archive
+/nm
+/objdump
+/ranlib
+/readelf
+/size
+/stack
+/strings
+/strip
+/unstrip
diff --git a/src/ChangeLog b/src/ChangeLog
index 6af977e..e65620f 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,262 @@
+2021-02-03 Timm Bäder <tbaeder@redhat.com>
+
+	* ar.c (do_oper_extract): Extract should_truncate_fname function
+	to...
+	(should_truncate_fname): ...here. New file scope function taking
+	size_t pointer to be read and/or set.
+
+2021-02-02 Timm Bäder <tbaeder@redhat.com>
+
+	* readelf.c (print_debug_line_section): Remove unnecessary
+	show_op_index variable, replace with (op_index > 0).
+
+2021-01-08  Timm Bäder  <tbaeder@redhat.com>
+
+	* readelf.c (print_cfa_program): Lift regname function to...
+	(regname): ...here. New file scope function add ebl and regnamebuf
+	as arguments.
+
+2021-01-08  Timm Bäder  <tbaeder@redhat.com>
+
+	* readelf.c (print_attributes): Lift left function to...
+	(left): ...here. New file scope function taking Elf_Data and char
+	pointers.
+
+2021-01-08  Timm Bäder  <tbaeder@redhat.com>
+
+	* readelf.c (handle_core_registers): Lift same_set function to...
+	(same_set): ...here. New file scope function adding regs and
+	maxnreg arguments.
+
+2021-01-08  Timm Bäder  <tbaeder@redhat.com>
+
+	* readelf.c (parse_opt): Lift add_dump_section function to...
+	(add_dump_section): ...here. New top level function. Added key
+	argument.
+
+2021-01-08  Timm Bäder  <tbaeder@redhat.com>
+
+	* arlib-argp.c (help_filter): Lift text_for_default function to...
+	(text_for_default): ... here. New file scope function taking text
+	as argument.
+
+2021-01-08  Timm Bäder  <tbaeder@redhat.com>
+
+	* addr2line.c (handle_address): Move show_note and show_int up to
+	file scope.
+	(show_note: New static inline function.
+	(show_int): Likewise.
+
+2021-01-08  Timm Bäder  <tbaeder@redhat.com>
+
+	* strip.c (handle_elf): Remove no_symtab_updates function and
+	calls inside the switch statement. Add checks and (possibly)
+	continue, before switch statement is called.
+
+2021-01-08  Timm Bäder  <tbaeder@redhat.com>
+
+	* strip.c (handle_elf): Move inlined update_section_size function
+	to...
+	(update_section_size): ...here. New static function that takes as
+	extra arguments the Elf_Scn, debug_elf, section cnt and fname.
+
+2021-01-08  Timm Bäder  <tbaeder@redhat.com>
+
+	* strip.c (remove_debug_relocations): Rewrite inlined relocate
+	function to file static. Do R_*_NONE, reloc_simple_type and
+	ebl_debug_scn_p checks before calling new relocate function.
+	(relocate): New file static function from
+	remove_debug_relocate. Remove R_*_NONE, reloc_simple_type and
+	ebl_debugscn_p checks.
+
+2021-01-08  Timm Bäder  <tbaeder@redhat.com>
+
+	* strip.c (handle_elf): Expand inlined function check_preserved.
+
+2021-01-12  Mark Wielaard  <mark@klomp.org>
+
+	* elflint.c (EXTRA_SHFLAGS): New define.
+	(check_sections): Use EXTRA_SHFLAGS. Add SHF_GNU_RETAIN to
+	ALL_SH_FLAGS.
+
+2020-12-31  Sergei Trofimovich  <slyfox@gentoo.org>
+
+	* elflint.c (section_flags_string): Add NEWFLAG for GNU_RETAIN,
+	ORDERED and EXCLUDE.
+
+2020-12-31  Sergei Trofimovich  <slyfox@gentoo.org>
+
+	* elflint.c (section_flags_string): Update cp pointer after
+	snprintf for unknown flags.
+
+2020-12-16  Érico Nogueira  <ericonr@disroot.org>
+
+	* readelf.c (qsort_r): Use qsort for improved portability.
+
+2020-12-20  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* .gitignore: New file.
+
+2020-12-12  Mark Wielaard  <mark@klomp.org>
+
+	* elflint.c (check_sections): Handle SHF_GNU_RETAIN.
+	* readelf.c (print_shdr): Likewise.
+
+2020-12-16  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* *.c: Replace gettext(...) with _(...).
+
+	* unstrip.c (_): Remove.
+
+2020-12-15  Mark Wielaard  <mark@klomp.org>
+
+	* elflint.c (check_symtab): Always print symbol name (if known)
+	in error messages.
+
+2020-12-12  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* ar.c (write_member, do_oper_insert): Fix spelling typo in comment.
+	* elfclassify.c (issue, elf_issue, is_unstripped): Likewise.
+	* elfcompress.c (process_file): Likewise.
+	* elflint.c (be_quiet, check_gnu_hash): Likewise.
+	* readelf.c (print_phdr, handle_gnu_hash,
+	dwarf_locexpr_opcode_string): Likewise.
+	* size.c (totals_class): Likewise.
+	* strings.c (read_elf): Likewise.
+	* strip.c (handle_elf): Likewise.
+
+	* readelf.c (print_debug_addr_section): Fix spelling typo in error
+	diagnostics.
+	* strip.c (options): Fix spelling typos in argp help text.
+	* strings.c (options): Likewise.
+	* stack.c (options): Likewise.
+
+2020-11-01  Érico N. Rolim  <erico.erc@gmail.com>
+
+	* unstrip.c (make_directories): Use ACCESSPERMS for mkdir.
+	(handle_file): Use DEFFILEMODE for open with O_CREAT for ET_REL
+	files, ACCESSPERMS otherwise.
+
+2020-11-01  Érico N. Rolim  <erico.erc@gmail.com>
+
+	* Makefile.am (nm_LDADD): Add obstack_LIBS.
+	(ranlib_LDADD): Likewise.
+	(ar_LDADD): Likewise.
+
+2020-10-27  Érico N. Rolim  <erico.erc@gmail.com>
+
+	* unstrip.c (make_directories): Use strndup, not strndupa.
+
+2020-09-28  Mark Wielaard  <mark@klomp.org>
+
+	* readelf.c (next_listptr_offset): Take idx as pointer, to be updated
+	and use new Dwarf_Off as offset to match.
+	(listptr_attr): New function.
+	(print_debug_loclists_section): Check for DW_AT_GNU_locviews to show
+	view pairs.
+	(print_debug_loc_section): Adjust next_listptr_offset call.
+
+2020-09-03  Mark Wielaard  <mark@klomp.org>
+
+	* readelf.c (print_cfa_program): Take ehdr as argument. Use it to
+	recognize DW_CFA_AARCH64_negate_ra_state.
+	(print_debug_frame_section): Pass ehdr to print_cfa_program.
+	(print_debug): Don't warn if we dump frames, but cannot get dbg.
+
+2020-09-01  Mark Wielaard  <mark@klomp.org>
+
+	* readelf.c (print_debug_ranges_section): Base address entry can
+	be first.
+	(print_debug_loc_section): Likewise.
+
+2020-09-04  Mark Wielaard  <mark@klomp.org>
+
+	* elflint.c (special_sections): Add .debug_line_str.
+
+2020-08-26  Mark Wielaard  <mark@klomp.org>
+
+	* readelf.c (print_debug_line_section): It is not an error if there
+	are no line number statements at the end of a debug line section.
+
+2020-07-19  Mark Wielaard  <mark@klomp.org>
+
+	* elfclassify.c (process_current_path): Handle fwrite failing.
+
+2020-07-05  Mark Wielaard  <mark@klomp.org>
+
+	* stack.c (module_callback): Don't assert if dwfl_module_info fails.
+	* unstrip.c (adjust_relocs): Produce a proper error when HAS
+	section has inconsistent size or entsize.
+	(match_module): Don't assert if dwfl_module_info fails.
+
+2020-06-16  Mark Wielaard  <mark@klomp.org>
+
+	* ar.c (do_oper_extract): Split large if statement. Call fchown
+	before fchmod and explicitly ignore the return value.
+	(do_oper_delete): Likewise.
+	(do_oper_insert): Likewise.
+	* ranlib.c (handle_file): Likewise.
+
+2020-06-16  Mark Wielaard  <mark@klomp.org>
+
+	* elflint.c (check_elf_header): Explicitly check and ignore
+	any error from elf_compress.
+
+2020-06-07  Mark Wielaard  <mark@klomp.org>
+
+	* nm.c (sort_by_name_strtab): Replace by...
+	(sort_by_name_elf): New static Elf pointer and ...
+	(sort_by_name_ndx): New static size_t index.
+	(sort_by_name): Use elf_strptr to get symbol string.
+	(show_symbols): Set sort_by_name_elf and sort_by_name_ndx.
+
+2020-06-06  Mark Wielaard  <mark@klomp.org>
+
+	* nm.c (show_symbols_sysv): Skip no name and STT_FILE symbols.
+	When not printing address and size pad strings. Strip "GNU_"
+	prefix from binding name.
+	(class_type_char): Use 'V' for weak symbols, 'C' for common
+	symbols and 'T' for weak functions.
+	(show_symbols_posix): Skip STT_FILE symbols. Don't print value and
+	size when undefined.
+
+2020-06-04  Mark Wielaard  <mark@klomp.org>
+
+	* elflint.c (check_program_header): Remove PT_GNU_PROPERTY define.
+
+2020-05-14  Mark Wielaard  <mark@klomp.org>
+
+	* size.c (show_bsd): Set printf format based on radix.
+
+2020-05-09  Mark Wielaard  <mark@klomp.org>
+
+	* elflint.c (process_elf_file): Error out if ebl_openbackend fails.
+	* objdump.c (handle_elf): Likewise.
+	* nm.c (handle_elf): Likewise. Move full name string construction
+	forward, so it can be used in the error message.
+
+2020-04-17  Mark Wielaard  <mark@klomp.org>
+
+	* readelf.c (print_debug): Check .gnu.debuglto_ prefix.
+
+2020-04-16  Mark Wielaard  <mark@klomp.org>
+
+	* elflint.c (check_sections): Mask out SHF_EXCLUDE from processor
+	specific section flags when --gnu is given.
+
+2020-02-08  Mark Wielaard  <mark@klomp.org>
+
+	* elflint.c (check_program_header): Handle PT_GNU_PROPERTY.
+
+2020-02-07  Mark Wielaard  <mark@klomp.org>
+
+	* elflint.c (check_symtab): Check st_info isn't too big.
+
+2020-01-16  Mark Wielaard  <mark@klomp.org>
+
+	* nm.c (show_symbols_sysv): Iterate over all symbols starting
+	at index zero.
+
 2019-11-26  Mark Wielaard  <mark@klomp.org>
 
 	* Makefile.am (BUILD_STATIC): Add libraries needed for libdw.
@@ -2664,7 +2923,7 @@
 	(show_symbols_posix): Likewise.
 	(show_symbols): Adjust calls to show_symbols_bsd and
 	show_symbols_posix.
-	(show_symbols_sysv): Avoid printing adress and size for undefined
+	(show_symbols_sysv): Avoid printing address and size for undefined
 	symbols.  Don't print initial special entry and section entries.
 
 2011-10-02  Ulrich Drepper  <drepper@gmail.com>
@@ -3500,7 +3759,7 @@
 
 	* elflint.c (check_group): Check that signature symbol for section
 	group is not an empty string.
-	* ldgeneric.c: Remove magic assignment of indeces in the dynsym
+	* ldgeneric.c: Remove magic assignment of indices in the dynsym
 	section.  Start implementation of --hash-style.
 	* i386_ld.c: Likewise.
 	* ld.c: Recognize --hash-style.
diff --git a/src/Makefile.am b/src/Makefile.am
index e462e7d..88d0ac8 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -69,7 +69,7 @@
 unstrip_no_Wstack_usage = yes
 
 readelf_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD)
-nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) \
+nm_LDADD = $(libdw) $(libebl) $(libelf) $(libeu) $(argp_LDADD) $(obstack_LIBS) \
 	   $(demanglelib)
 size_LDADD = $(libelf) $(libeu) $(argp_LDADD)
 strip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD)
@@ -78,9 +78,9 @@
 addr2line_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD) $(demanglelib)
 elfcmp_LDADD = $(libebl) $(libdw) $(libelf) $(libeu) $(argp_LDADD)
 objdump_LDADD  = $(libasm) $(libebl) $(libdw) $(libelf) $(libeu) $(argp_LDADD)
-ranlib_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD)
+ranlib_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) $(obstack_LIBS)
 strings_LDADD = $(libelf) $(libeu) $(argp_LDADD)
-ar_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD)
+ar_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) $(obstack_LIBS)
 unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD)
 stack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) $(demanglelib)
 elfcompress_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD)
diff --git a/src/addr2line.c b/src/addr2line.c
index 69d8d99..3494504 100644
--- a/src/addr2line.c
+++ b/src/addr2line.c
@@ -516,7 +516,7 @@
   Dwfl_Module *mod = NULL;
   if (dwfl_getmodules (dwfl, &see_one_module, &mod, 0) != 0
       || mod == NULL)
-    error (EXIT_FAILURE, 0, gettext ("Section syntax requires"
+    error (EXIT_FAILURE, 0, _("Section syntax requires"
 				     " exactly one module"));
 
   int nscn = dwfl_module_relocations (mod);
@@ -539,7 +539,7 @@
 
 	  if (*addr >= shdr->sh_size)
 	    error (0, 0,
-		   gettext ("offset %#" PRIxMAX " lies outside"
+		   _("offset %#" PRIxMAX " lies outside"
 			    " section '%s'"),
 		   *addr, scn);
 
@@ -598,6 +598,26 @@
   return width;
 }
 
+static inline void
+show_note (int (*get) (Dwarf_Line *, bool *),
+	   Dwarf_Line *info,
+	   const char *note)
+{
+  bool flag;
+  if ((*get) (info, &flag) == 0 && flag)
+    fputs (note, stdout);
+}
+
+static inline void
+show_int (int (*get) (Dwarf_Line *, unsigned int *),
+	  Dwarf_Line *info,
+	  const char *name)
+{
+  unsigned int val;
+  if ((*get) (info, &val) == 0 && val != 0)
+    printf (" (%s %u)", name, val);
+}
+
 static int
 handle_address (const char *string, Dwfl *dwfl)
 {
@@ -629,12 +649,12 @@
 	  void *arg[3] = { name, &sym, &value };
 	  (void) dwfl_getmodules (dwfl, &find_symbol, arg, 0);
 	  if (arg[0] != NULL)
-	    error (0, 0, gettext ("cannot find symbol '%s'"), name);
+	    error (0, 0, _("cannot find symbol '%s'"), name);
 	  else
 	    {
 	      if (sym.st_size != 0 && addr >= sym.st_size)
 		error (0, 0,
-		       gettext ("offset %#" PRIxMAX " lies outside"
+		       _("offset %#" PRIxMAX " lies outside"
 				" contents of '%s'"),
 		       addr, name);
 	      addr += value;
@@ -692,27 +712,12 @@
 	  Dwarf_Line *info = dwfl_dwarf_line (line, &bias);
 	  assert (info != NULL);
 
-	  inline void show (int (*get) (Dwarf_Line *, bool *),
-			    const char *note)
-	  {
-	    bool flag;
-	    if ((*get) (info, &flag) == 0 && flag)
-	      fputs (note, stdout);
-	  }
-	  inline void show_int (int (*get) (Dwarf_Line *, unsigned int *),
-				const char *name)
-	  {
-	    unsigned int val;
-	    if ((*get) (info, &val) == 0 && val != 0)
-	      printf (" (%s %u)", name, val);
-	  }
-
-	  show (&dwarf_linebeginstatement, " (is_stmt)");
-	  show (&dwarf_lineblock, " (basic_block)");
-	  show (&dwarf_lineprologueend, " (prologue_end)");
-	  show (&dwarf_lineepiloguebegin, " (epilogue_begin)");
-	  show_int (&dwarf_lineisa, "isa");
-	  show_int (&dwarf_linediscriminator, "discriminator");
+	  show_note (&dwarf_linebeginstatement, info, " (is_stmt)");
+	  show_note (&dwarf_lineblock, info, " (basic_block)");
+	  show_note (&dwarf_lineprologueend, info, " (prologue_end)");
+	  show_note (&dwarf_lineepiloguebegin, info, " (epilogue_begin)");
+	  show_int (&dwarf_lineisa, info, "isa");
+	  show_int (&dwarf_linediscriminator, info, "discriminator");
 	}
       putchar ('\n');
     }
diff --git a/src/ar.c b/src/ar.c
index d70f1f4..66b2c4f 100644
--- a/src/ar.c
+++ b/src/ar.c
@@ -177,12 +177,12 @@
     {
       /* Only valid for certain operations.  */
       if (operation != oper_move && operation != oper_replace)
-	error (1, 0, gettext ("\
+	error (1, 0, _("\
 'a', 'b', and 'i' are only allowed with the 'm' and 'r' options"));
 
       if (remaining == argc)
 	{
-	  error (0, 0, gettext ("\
+	  error (0, 0, _("\
 MEMBER parameter required for 'a', 'b', and 'i' modifiers"));
 	  argp_help (&argp, stderr, ARGP_HELP_USAGE | ARGP_HELP_SEE,
 		     program_invocation_short_name);
@@ -198,12 +198,12 @@
     {
       /* Only valid for certain operations.  */
       if (operation != oper_extract && operation != oper_delete)
-	error (1, 0, gettext ("\
+	error (1, 0, _("\
 'N' is only meaningful with the 'x' and 'd' options"));
 
       if (remaining == argc)
 	{
-	  error (0, 0, gettext ("COUNT parameter required"));
+	  error (0, 0, _("COUNT parameter required"));
 	  argp_help (&argp, stderr, ARGP_HELP_SEE,
 		     program_invocation_short_name);
 	  exit (EXIT_FAILURE);
@@ -215,20 +215,20 @@
 	   && errno == ERANGE)
 	  || instance <= 0
 	  || *endp != '\0')
-	error (1, 0, gettext ("invalid COUNT parameter %s"), argv[remaining]);
+	error (1, 0, _("invalid COUNT parameter %s"), argv[remaining]);
 
       ++remaining;
     }
 
   if ((dont_replace_existing || allow_truncate_fname)
       && unlikely (operation != oper_extract))
-    error (1, 0, gettext ("'%c' is only meaningful with the 'x' option"),
+    error (1, 0, _("'%c' is only meaningful with the 'x' option"),
 	   dont_replace_existing ? 'C' : 'T');
 
   /* There must at least be one more parameter specifying the archive.   */
   if (remaining == argc)
     {
-      error (0, 0, gettext ("archive name required"));
+      error (0, 0, _("archive name required"));
       argp_help (&argp, stderr, ARGP_HELP_SEE, program_invocation_short_name);
       exit (EXIT_FAILURE);
     }
@@ -241,7 +241,7 @@
   switch (operation)
     {
     case oper_none:
-      error (0, 0, gettext ("command option required"));
+      error (0, 0, _("command option required"));
       argp_help (&argp, stderr, ARGP_HELP_STD_ERR,
 		 program_invocation_short_name);
       status = 1;
@@ -292,7 +292,7 @@
     case 'x':
       if (operation != oper_none)
 	{
-	  error (0, 0, gettext ("More than one operation specified"));
+	  error (0, 0, _("More than one operation specified"));
 	  argp_help (&argp, stderr, ARGP_HELP_SEE,
 		     program_invocation_short_name);
 	  exit (EXIT_FAILURE);
@@ -386,7 +386,7 @@
       if (miss_allowed)
 	return -1;
 
-      error (EXIT_FAILURE, errno, gettext ("cannot open archive '%s'"),
+      error (EXIT_FAILURE, errno, _("cannot open archive '%s'"),
 	     arfname);
     }
 
@@ -396,15 +396,15 @@
 
       *elf = elf_begin (fd, cmd, NULL);
       if (*elf == NULL)
-	error (EXIT_FAILURE, 0, gettext ("cannot open archive '%s': %s"),
+	error (EXIT_FAILURE, 0, _("cannot open archive '%s': %s"),
 	       arfname, elf_errmsg (-1));
 
       if (flags == O_RDONLY && elf_kind (*elf) != ELF_K_AR)
-	error (EXIT_FAILURE, 0, gettext ("%s: not an archive file"), arfname);
+	error (EXIT_FAILURE, 0, _("%s: not an archive file"), arfname);
     }
 
   if (st != NULL && fstat (fd, st) != 0)
-    error (EXIT_FAILURE, errno, gettext ("cannot stat archive '%s'"),
+    error (EXIT_FAILURE, errno, _("cannot stat archive '%s'"),
 	   arfname);
 
   return fd;
@@ -416,7 +416,7 @@
 {
   for (int i = 0; i < argc; ++i)
     if (!found[i])
-      printf (gettext ("no entry %s in archive\n"), argv[i]);
+      printf (_("no entry %s in archive\n"), argv[i]);
 }
 
 
@@ -436,6 +436,21 @@
   return write_retry (newfd, rawfile + off, n) != (ssize_t) n;
 }
 
+static inline bool
+should_truncate_fname (size_t *name_max)
+{
+  if (errno == ENAMETOOLONG && allow_truncate_fname)
+    {
+      if (*name_max == 0)
+	{
+	  long int len = pathconf (".", _PC_NAME_MAX);
+	  if (len > 0)
+	    *name_max = len;
+	}
+      return *name_max != 0;
+    }
+  return false;
+}
 
 static int
 do_oper_extract (int oper, const char *arfname, char **argv, int argc,
@@ -445,21 +460,6 @@
   memset (found, '\0', sizeof (found));
 
   size_t name_max = 0;
-  inline bool should_truncate_fname (void)
-  {
-    if (errno == ENAMETOOLONG && allow_truncate_fname)
-      {
-	if (name_max == 0)
-	  {
-	    long int len = pathconf (".", _PC_NAME_MAX);
-	    if (len > 0)
-	      name_max = len;
-	  }
-	return name_max != 0;
-      }
-    return false;
-  }
-
   off_t index_off = -1;
   size_t index_size = 0;
   off_t cur_off = SARMAG;
@@ -469,14 +469,14 @@
   int fd = open_archive (arfname, O_RDONLY, 0, &elf, NULL, false);
 
   if (hcreate (2 * argc) == 0)
-    error (EXIT_FAILURE, errno, gettext ("cannot create hash table"));
+    error (EXIT_FAILURE, errno, _("cannot create hash table"));
 
   for (int cnt = 0; cnt < argc; ++cnt)
     {
       ENTRY entry = { .key = argv[cnt], .data = &argv[cnt] };
       if (hsearch (entry, ENTER) == NULL)
 	error (EXIT_FAILURE, errno,
-	       gettext ("cannot insert into hash table"));
+	       _("cannot insert into hash table"));
     }
 
   struct stat st;
@@ -484,7 +484,7 @@
     {
       if (fstat (fd, &st) != 0)
 	{
-	  error (0, errno, gettext ("cannot stat '%s'"), arfname);
+	  error (0, errno, _("cannot stat '%s'"), arfname);
 	  close (fd);
 	  return 1;
 	}
@@ -586,7 +586,7 @@
 	  char *data = elf_rawfile (subelf, &nleft);
 	  if (data == NULL)
 	    {
-	      error (0, 0, gettext ("cannot read content of %s: %s"),
+	      error (0, 0, _("cannot read content of %s: %s"),
 		     arhdr->ar_name, elf_errmsg (-1));
 	      status = 1;
 	      goto next;
@@ -615,7 +615,7 @@
 		    {
 		      int printlen = INT_MAX;
 
-		      if (should_truncate_fname ())
+		      if (should_truncate_fname (&name_max))
 			{
 			  /* Try to truncate the name.  First find out by how
 			     much.  */
@@ -629,7 +629,7 @@
 
 		      if (xfd == -1)
 			{
-			  error (0, errno, gettext ("cannot open %.*s"),
+			  error (0, errno, _("cannot open %.*s"),
 				 (int) printlen, arhdr->ar_name);
 			  status = 1;
 			  goto next;
@@ -651,7 +651,7 @@
 
 	  if (unlikely (n == -1))
 	    {
-	      error (0, errno, gettext ("failed to write %s"), arhdr->ar_name);
+	      error (0, errno, _("failed to write %s"), arhdr->ar_name);
 	      status = 1;
 	      unlink (tempfname);
 	      close (xfd);
@@ -663,7 +663,7 @@
 	      /* Fix up the mode.  */
 	      if (unlikely (fchmod (xfd, arhdr->ar_mode) != 0))
 		{
-		  error (0, errno, gettext ("cannot change mode of %s"),
+		  error (0, errno, _("cannot change mode of %s"),
 			 arhdr->ar_name);
 		  status = 0;
 		}
@@ -679,7 +679,7 @@
 		  if (unlikely (futimens (xfd, tv) != 0))
 		    {
 		      error (0, errno,
-			     gettext ("cannot change modification time of %s"),
+			     _("cannot change modification time of %s"),
 			     arhdr->ar_name);
 		      status = 1;
 		    }
@@ -704,7 +704,7 @@
 		    {
 		      int printlen = INT_MAX;
 
-		      if (should_truncate_fname ())
+		      if (should_truncate_fname (&name_max))
 			{
 			  /* Try to truncate the name.  First find out by how
 			     much.  */
@@ -725,7 +725,7 @@
 
 		      if (r != 0)
 			{
-			  error (0, errno, gettext ("\
+			  error (0, errno, _("\
 cannot rename temporary file to %.*s"),
 				 printlen, arhdr->ar_name);
 			  unlink (tempfname);
@@ -761,7 +761,7 @@
 	  if (unlikely (newfd == -1))
 	    {
 	    nonew:
-	      error (0, errno, gettext ("cannot create new file"));
+	      error (0, errno, _("cannot create new file"));
 	      status = 1;
 	    }
 	  else
@@ -787,26 +787,30 @@
 	      else
 		rest_off = SARMAG;
 
-	      if ((symtab.symsnamelen != 0
+	      if (symtab.symsnamelen != 0
 		   && ((write_retry (newfd, symtab.symsoff,
 				     symtab.symsofflen)
 			!= (ssize_t) symtab.symsofflen)
 		       || (write_retry (newfd, symtab.symsname,
 					symtab.symsnamelen)
 			   != (ssize_t) symtab.symsnamelen)))
-		  /* Even if the original file had content before the
-		     symbol table, we write it in the correct order.  */
-		  || (index_off != SARMAG
-		      && copy_content (elf, newfd, SARMAG, index_off - SARMAG))
-		  || copy_content (elf, newfd, rest_off, st.st_size - rest_off)
-		  /* Set the mode of the new file to the same values the
-		     original file has.  */
-		  || fchmod (newfd, st.st_mode & ALLPERMS) != 0
-		  /* Never complain about fchown failing.  */
-		  || (({asm ("" :: "r" (fchown (newfd, st.st_uid,
-						st.st_gid))); }),
-		      close (newfd) != 0)
-		  || (newfd = -1, rename (tmpfname, arfname) != 0))
+		goto nonew_unlink;
+	      /* Even if the original file had content before the
+		 symbol table, we write it in the correct order.  */
+	      if ((index_off != SARMAG
+		   && copy_content (elf, newfd, SARMAG, index_off - SARMAG))
+		  || copy_content (elf, newfd, rest_off, st.st_size - rest_off))
+		goto nonew_unlink;
+
+	      /* Never complain about fchown failing.  */
+	      if (fchown (newfd, st.st_uid, st.st_gid) != 0) { ; }
+	      /* Set the mode of the new file to the same values the
+		 original file has.  */
+	      if (fchmod (newfd, st.st_mode & ALLPERMS) != 0
+		  || close (newfd) != 0)
+		goto nonew_unlink;
+	      newfd = -1;
+	      if (rename (tmpfname, arfname) != 0)
 		goto nonew_unlink;
 	    }
 	}
@@ -844,7 +848,7 @@
 	      off_t end_off, int newfd)
 {
   struct ar_hdr arhdr;
-  /* The ar_name is not actually zero teminated, but we need that for
+  /* The ar_name is not actually zero terminated, but we need that for
      snprintf.  Also if the name is too long, then the string starts
      with '/' plus an index off number (decimal).  */
   char tmpbuf[sizeof (arhdr.ar_name) + 2];
@@ -920,14 +924,14 @@
   int fd = open_archive (arfname, O_RDONLY, 0, &elf, &st, false);
 
   if (hcreate (2 * argc) == 0)
-    error (EXIT_FAILURE, errno, gettext ("cannot create hash table"));
+    error (EXIT_FAILURE, errno, _("cannot create hash table"));
 
   for (int cnt = 0; cnt < argc; ++cnt)
     {
       ENTRY entry = { .key = argv[cnt], .data = &argv[cnt] };
       if (hsearch (entry, ENTER) == NULL)
 	error (EXIT_FAILURE, errno,
-	       gettext ("cannot insert into hash table"));
+	       _("cannot insert into hash table"));
     }
 
   arlib_init ();
@@ -1012,7 +1016,7 @@
       if (newfd != -1)
 	close (newfd);
     nonew:
-      error (0, errno, gettext ("cannot create new file"));
+      error (0, errno, _("cannot create new file"));
       status = 1;
       goto errout;
     }
@@ -1052,12 +1056,15 @@
     }
 
   /* Set the mode of the new file to the same values the original file
-     has.  */
+     has.  Never complain about fchown failing.  But do it before
+     setting the mode (which might be reset/ignored if the owner is
+     wrong.  */
+  if (fchown (newfd, st.st_uid, st.st_gid) != 0) { ; }
   if (fchmod (newfd, st.st_mode & ALLPERMS) != 0
-      /* Never complain about fchown failing.  */
-      || (({asm ("" :: "r" (fchown (newfd, st.st_uid, st.st_gid))); }),
-	  close (newfd) != 0)
-      || (newfd = -1, rename (tmpfname, arfname) != 0))
+      || close (newfd) != 0)
+    goto nonew_unlink;
+  newfd = -1;
+  if (rename (tmpfname, arfname) != 0)
     goto nonew_unlink;
 
  errout:
@@ -1124,7 +1131,7 @@
   if (oper != oper_qappend)
     {
       if (hcreate (2 * argc) == 0)
-	error (EXIT_FAILURE, errno, gettext ("cannot create hash table"));
+	error (EXIT_FAILURE, errno, _("cannot create hash table"));
 
       for (int cnt = 0; cnt < argc; ++cnt)
 	{
@@ -1133,7 +1140,7 @@
 	  entry.data = &argv[cnt];
 	  if (hsearch (entry, ENTER) == NULL)
 	    error (EXIT_FAILURE, errno,
-		   gettext ("cannot insert into hash table"));
+		   _("cannot insert into hash table"));
 	}
     }
 
@@ -1215,7 +1222,7 @@
 
  no_old:
   if (member != NULL)
-    error (EXIT_FAILURE, 0, gettext ("position member %s not found"),
+    error (EXIT_FAILURE, 0, _("position member %s not found"),
 	   member);
 
   if (oper == oper_move)
@@ -1225,7 +1232,7 @@
 	{
 	  if (found[cnt] == NULL)
 	    {
-	      fprintf (stderr, gettext ("%s: no entry %s in archive!\n"),
+	      fprintf (stderr, _("%s: no entry %s in archive!\n"),
 		       program_invocation_short_name, argv[cnt]);
 	      status = 1;
 	    }
@@ -1254,18 +1261,18 @@
 	  int newfd = open (argv[cnt], O_RDONLY);
 	  if (newfd == -1)
 	    {
-	      error (0, errno, gettext ("cannot open %s"), argv[cnt]);
+	      error (0, errno, _("cannot open %s"), argv[cnt]);
 	      status = 1;
 	    }
 	  else if (fstat (newfd, &newst) == -1)
 	    {
-	      error (0, errno, gettext ("cannot stat %s"), argv[cnt]);
+	      error (0, errno, _("cannot stat %s"), argv[cnt]);
 	      close (newfd);
 	      status = 1;
 	    }
 	  else if (!S_ISREG (newst.st_mode))
 	    {
-	      error (0, errno, gettext ("%s is no regular file"), argv[cnt]);
+	      error (0, errno, _("%s is no regular file"), argv[cnt]);
 	      close (newfd);
 	      status = 1;
 	    }
@@ -1278,7 +1285,7 @@
 		   == NULL)
 	    {
 	      fprintf (stderr,
-		       gettext ("cannot get ELF descriptor for %s: %s\n"),
+		       _("cannot get ELF descriptor for %s: %s\n"),
 		       argv[cnt], elf_errmsg (-1));
 	      status = 1;
 	    }
@@ -1298,7 +1305,7 @@
 	      found[cnt]->mem = elf_rawfile (newelf, &found[cnt]->size);
 	      if (found[cnt]->mem == NULL
 		  || elf_cntl (newelf, ELF_C_FDDONE) != 0)
-		error (EXIT_FAILURE, 0, gettext ("cannot read %s: %s"),
+		error (EXIT_FAILURE, 0, _("cannot read %s: %s"),
 		       argv[cnt], elf_errmsg (-1));
 
 	      close (newfd);
@@ -1413,7 +1420,7 @@
 	    close (newfd);
 	}
     nonew:
-      error (0, errno, gettext ("cannot create new file"));
+      error (0, errno, _("cannot create new file"));
       status = 1;
       goto errout;
     }
@@ -1451,7 +1458,7 @@
 
 	      /* Create the header.  */
 	      struct ar_hdr arhdr;
-	      /* The ar_name is not actually zero teminated, but we
+	      /* The ar_name is not actually zero terminated, but we
 		 need that for snprintf.  Also if the name is too
 		 long, then the string starts with '/' plus an index
 		 off number (decimal).  */
@@ -1473,31 +1480,31 @@
 	      if (! no0print (false, arhdr.ar_date, sizeof (arhdr.ar_date),
 			      all->sec))
 		{
-		  error (0, errno, gettext ("cannot represent ar_date"));
+		  error (0, errno, _("cannot represent ar_date"));
 		  goto nonew_unlink;
 		}
 	      if (! no0print (false, arhdr.ar_uid, sizeof (arhdr.ar_uid),
 			      all->uid))
 		{
-		  error (0, errno, gettext ("cannot represent ar_uid"));
+		  error (0, errno, _("cannot represent ar_uid"));
 		  goto nonew_unlink;
 		}
 	      if (! no0print (false, arhdr.ar_gid, sizeof (arhdr.ar_gid),
 			      all->gid))
 		{
-		  error (0, errno, gettext ("cannot represent ar_gid"));
+		  error (0, errno, _("cannot represent ar_gid"));
 		  goto nonew_unlink;
 		}
 	      if (! no0print (true, arhdr.ar_mode, sizeof (arhdr.ar_mode),
 			all->mode))
 		{
-		  error (0, errno, gettext ("cannot represent ar_mode"));
+		  error (0, errno, _("cannot represent ar_mode"));
 		  goto nonew_unlink;
 		}
 	      if (! no0print (false, arhdr.ar_size, sizeof (arhdr.ar_size),
 			all->size))
 		{
-		  error (0, errno, gettext ("cannot represent ar_size"));
+		  error (0, errno, _("cannot represent ar_size"));
 		  goto nonew_unlink;
 		}
 	      memcpy (arhdr.ar_fmag, ARFMAG, sizeof (arhdr.ar_fmag));
@@ -1534,13 +1541,19 @@
 
   /* Set the mode of the new file to the same values the original file
      has.  */
-  if (fd != -1
-      && (fchmod (newfd, st.st_mode & ALLPERMS) != 0
-	  /* Never complain about fchown failing.  */
-	  || (({asm ("" :: "r" (fchown (newfd, st.st_uid, st.st_gid))); }),
-	      close (newfd) != 0)
-	  || (newfd = -1, rename (tmpfname, arfname) != 0)))
-      goto nonew_unlink;
+  if (fd != -1)
+    {
+      /* Never complain about fchown failing.  But do it before
+	 setting the modes, or they might be reset/ignored if the
+	 owner is wrong.  */
+      if (fchown (newfd, st.st_uid, st.st_gid) != 0) { ; }
+      if (fchmod (newfd, st.st_mode & ALLPERMS) != 0
+	  || close (newfd) != 0)
+        goto nonew_unlink;
+      newfd = -1;
+      if (rename (tmpfname, arfname) != 0)
+	goto nonew_unlink;
+    }
 
  errout:
   for (int cnt = 0; cnt < argc; ++cnt)
diff --git a/src/arlib-argp.c b/src/arlib-argp.c
index 1bdd8d0..a3c12e4 100644
--- a/src/arlib-argp.c
+++ b/src/arlib-argp.c
@@ -57,25 +57,26 @@
 }
 
 static char *
+text_for_default (const char *text)
+{
+  char *new_text;
+  if (unlikely (asprintf (&new_text, _("%s (default)"), text) < 0))
+    return (char *) text;
+  return new_text;
+}
+
+static char *
 help_filter (int key, const char *text, void *input __attribute__ ((unused)))
 {
-  inline char *text_for_default (void)
-  {
-    char *new_text;
-    if (unlikely (asprintf (&new_text, gettext ("%s (default)"), text) < 0))
-      return (char *) text;
-    return new_text;
-  }
-
   switch (key)
     {
     case 'D':
       if (DEFAULT_AR_DETERMINISTIC)
-        return text_for_default ();
+        return text_for_default (text);
       break;
     case 'U':
       if (! DEFAULT_AR_DETERMINISTIC)
-        return text_for_default ();
+        return text_for_default (text);
       break;
     }
 
diff --git a/src/arlib.c b/src/arlib.c
index a6521e3..a14c44d 100644
--- a/src/arlib.c
+++ b/src/arlib.c
@@ -210,7 +210,7 @@
 {
   if (sizeof (off) > sizeof (uint32_t) && off > ~((uint32_t) 0))
     /* The archive is too big.  */
-    error (EXIT_FAILURE, 0, gettext ("the archive '%s' is too large"),
+    error (EXIT_FAILURE, 0, _("the archive '%s' is too large"),
 	   arfname);
 
   /* We only add symbol tables for ELF files.  It makes not much sense
@@ -223,7 +223,7 @@
   GElf_Ehdr ehdr_mem;
   GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem);
   if (ehdr == NULL)
-    error (EXIT_FAILURE, 0, gettext ("cannot read ELF header of %s(%s): %s"),
+    error (EXIT_FAILURE, 0, _("cannot read ELF header of %s(%s): %s"),
 	   arfname, membername, elf_errmsg (-1));
 
   GElf_Word symtype;
diff --git a/src/elfclassify.c b/src/elfclassify.c
index 535cc49..ae626bb 100644
--- a/src/elfclassify.c
+++ b/src/elfclassify.c
@@ -51,7 +51,7 @@
 /* Set by issue or elf_issue.  */
 static bool issue_found;
 
-/* Non-fatal issue occured while processing the current_path.  */
+/* Non-fatal issue occurred while processing the current_path.  */
 static void
 issue (int e, const char *msg)
 {
@@ -65,7 +65,7 @@
   issue_found = true;
 }
 
-/* Non-fatal issue occured while processing the current ELF.  */
+/* Non-fatal issue occurred while processing the current ELF.  */
 static void
 elf_issue (const char *msg)
 {
@@ -464,7 +464,7 @@
 }
 
 /* Return true if the file is an ELF file which has a symbol table or
-   .debug_* sections (and thus can be stripped futher).  */
+   .debug_* sections (and thus can be stripped further).  */
 static bool
 is_unstripped (void)
 {
@@ -827,7 +827,8 @@
       break;
     case do_print0:
       if (checks_passed == flag_print_matching)
-        fwrite (current_path, strlen (current_path) + 1, 1, stdout);
+        if (fwrite (current_path, strlen (current_path) + 1, 1, stdout) < 1)
+	  issue (errno, N_("writing to standard output"));
       break;
     case no_print:
       if (!checks_passed)
diff --git a/src/elfcmp.c b/src/elfcmp.c
index c07fdfd..21d8d9d 100644
--- a/src/elfcmp.c
+++ b/src/elfcmp.c
@@ -138,7 +138,7 @@
   /* We expect exactly two non-option parameters.  */
   if (unlikely (remaining + 2 != argc))
     {
-      fputs (gettext ("Invalid number of parameters.\n"), stderr);
+      fputs (_("Invalid number of parameters.\n"), stderr);
       argp_help (&argp, stderr, ARGP_HELP_SEE, program_invocation_short_name);
       exit (1);
     }
@@ -169,12 +169,12 @@
   GElf_Ehdr ehdr1_mem;
   GElf_Ehdr *ehdr1 = gelf_getehdr (elf1, &ehdr1_mem);
   if (ehdr1 == NULL)
-    error (2, 0, gettext ("cannot get ELF header of '%s': %s"),
+    error (2, 0, _("cannot get ELF header of '%s': %s"),
 	   fname1, elf_errmsg (-1));
   GElf_Ehdr ehdr2_mem;
   GElf_Ehdr *ehdr2 = gelf_getehdr (elf2, &ehdr2_mem);
   if (ehdr2 == NULL)
-    error (2, 0, gettext ("cannot get ELF header of '%s': %s"),
+    error (2, 0, _("cannot get ELF header of '%s': %s"),
 	   fname2, elf_errmsg (-1));
 
 #define DIFFERENCE							      \
@@ -200,37 +200,37 @@
 		|| ehdr1->e_shentsize != ehdr2->e_shentsize))
     {
       if (! quiet)
-	error (0, 0, gettext ("%s %s diff: ELF header"), fname1, fname2);
+	error (0, 0, _("%s %s diff: ELF header"), fname1, fname2);
       DIFFERENCE;
     }
 
   size_t shnum1;
   size_t shnum2;
   if (unlikely (elf_getshdrnum (elf1, &shnum1) != 0))
-    error (2, 0, gettext ("cannot get section count of '%s': %s"),
+    error (2, 0, _("cannot get section count of '%s': %s"),
 	   fname1, elf_errmsg (-1));
   if (unlikely (elf_getshdrnum (elf2, &shnum2) != 0))
-    error (2, 0, gettext ("cannot get section count of '%s': %s"),
+    error (2, 0, _("cannot get section count of '%s': %s"),
 	   fname2, elf_errmsg (-1));
   if (unlikely (shnum1 != shnum2))
     {
       if (! quiet)
-	error (0, 0, gettext ("%s %s diff: section count"), fname1, fname2);
+	error (0, 0, _("%s %s diff: section count"), fname1, fname2);
       DIFFERENCE;
     }
 
   size_t phnum1;
   size_t phnum2;
   if (unlikely (elf_getphdrnum (elf1, &phnum1) != 0))
-    error (2, 0, gettext ("cannot get program header count of '%s': %s"),
+    error (2, 0, _("cannot get program header count of '%s': %s"),
 	   fname1, elf_errmsg (-1));
   if (unlikely (elf_getphdrnum (elf2, &phnum2) != 0))
-    error (2, 0, gettext ("cannot get program header count of '%s': %s"),
+    error (2, 0, _("cannot get program header count of '%s': %s"),
 	   fname2, elf_errmsg (-1));
   if (unlikely (phnum1 != phnum2))
     {
       if (! quiet)
-	error (0, 0, gettext ("%s %s diff: program header count"),
+	error (0, 0, _("%s %s diff: program header count"),
 	       fname1, fname2);
       DIFFERENCE;
     }
@@ -238,15 +238,15 @@
   size_t shstrndx1;
   size_t shstrndx2;
   if (elf_getshdrstrndx (elf1, &shstrndx1) != 0)
-    error (2, 0, gettext ("cannot get hdrstrndx of '%s': %s"),
+    error (2, 0, _("cannot get hdrstrndx of '%s': %s"),
 	   fname1, elf_errmsg (-1));
   if (elf_getshdrstrndx (elf2, &shstrndx2) != 0)
-    error (2, 0, gettext ("cannot get hdrstrndx of '%s': %s"),
+    error (2, 0, _("cannot get hdrstrndx of '%s': %s"),
 	   fname2, elf_errmsg (-1));
   if (shstrndx1 != shstrndx2)
     {
       if (! quiet)
-	error (0, 0, gettext ("%s %s diff: shdr string index"),
+	error (0, 0, _("%s %s diff: shdr string index"),
 	       fname1, fname2);
       DIFFERENCE;
     }
@@ -304,7 +304,7 @@
       if (unlikely (sname1 == NULL || sname2 == NULL
 		    || strcmp (sname1, sname2) != 0))
 	{
-	  error (0, 0, gettext ("%s %s differ: section [%zu], [%zu] name"),
+	  error (0, 0, _("%s %s differ: section [%zu], [%zu] name"),
 		 fname1, fname2, elf_ndxscn (scn1), elf_ndxscn (scn2));
 	  DIFFERENCE;
 	}
@@ -327,7 +327,7 @@
 	  || shdr1->sh_addralign != shdr2->sh_addralign
 	  || shdr1->sh_entsize != shdr2->sh_entsize)
 	{
-	  error (0, 0, gettext ("%s %s differ: section [%zu] '%s' header"),
+	  error (0, 0, _("%s %s differ: section [%zu] '%s' header"),
 		 fname1, fname2, elf_ndxscn (scn1), sname1);
 	  DIFFERENCE;
 	}
@@ -335,13 +335,13 @@
       Elf_Data *data1 = elf_getdata (scn1, NULL);
       if (data1 == NULL)
 	error (2, 0,
-	       gettext ("cannot get content of section %zu in '%s': %s"),
+	       _("cannot get content of section %zu in '%s': %s"),
 	       elf_ndxscn (scn1), fname1, elf_errmsg (-1));
 
       Elf_Data *data2 = elf_getdata (scn2, NULL);
       if (data2 == NULL)
 	error (2, 0,
-	       gettext ("cannot get content of section %zu in '%s': %s"),
+	       _("cannot get content of section %zu in '%s': %s"),
 	       elf_ndxscn (scn2), fname2, elf_errmsg (-1));
 
       switch (shdr1->sh_type)
@@ -350,7 +350,7 @@
 	case SHT_SYMTAB:
 	  if (shdr1->sh_entsize == 0)
 	    error (2, 0,
-		   gettext ("symbol table [%zu] in '%s' has zero sh_entsize"),
+		   _("symbol table [%zu] in '%s' has zero sh_entsize"),
 		   elf_ndxscn (scn1), fname1);
 
 	  /* Iterate over the symbol table.  We ignore the st_size
@@ -362,13 +362,13 @@
 	      GElf_Sym *sym1 = gelf_getsym (data1, ndx, &sym1_mem);
 	      if (sym1 == NULL)
 		error (2, 0,
-		       gettext ("cannot get symbol in '%s': %s"),
+		       _("cannot get symbol in '%s': %s"),
 		       fname1, elf_errmsg (-1));
 	      GElf_Sym sym2_mem;
 	      GElf_Sym *sym2 = gelf_getsym (data2, ndx, &sym2_mem);
 	      if (sym2 == NULL)
 		error (2, 0,
-		       gettext ("cannot get symbol in '%s': %s"),
+		       _("cannot get symbol in '%s': %s"),
 		       fname2, elf_errmsg (-1));
 
 	      const char *name1 = elf_strptr (elf1, shdr1->sh_link,
@@ -390,10 +390,10 @@
 		    {
 		      if (elf_ndxscn (scn1) == elf_ndxscn (scn2))
 			error (0, 0,
-			       gettext ("%s %s differ: symbol table [%zu]"),
+			       _("%s %s differ: symbol table [%zu]"),
 			       fname1, fname2, elf_ndxscn (scn1));
 		      else
-			error (0, 0, gettext ("\
+			error (0, 0, _("\
 %s %s differ: symbol table [%zu,%zu]"),
 			       fname1, fname2, elf_ndxscn (scn1),
 			       elf_ndxscn (scn2));
@@ -440,7 +440,7 @@
 		if (off2 >= data2->d_size)
 		  {
 		    if (! quiet)
-		      error (0, 0, gettext ("\
+		      error (0, 0, _("\
 %s %s differ: section [%zu] '%s' number of notes"),
 			     fname1, fname2, elf_ndxscn (scn1), sname1);
 		    DIFFERENCE;
@@ -448,7 +448,7 @@
 		off2 = gelf_getnote (data2, off2, &note2,
 				     &name_offset, &desc_offset);
 		if (off2 == 0)
-		  error (2, 0, gettext ("\
+		  error (2, 0, _("\
 cannot read note section [%zu] '%s' in '%s': %s"),
 			 elf_ndxscn (scn2), sname2, fname2, elf_errmsg (-1));
 		const char *name2 = (note2.n_namesz == 0
@@ -459,7 +459,7 @@
 		    || memcmp (name1, name2, note1.n_namesz))
 		  {
 		    if (! quiet)
-		      error (0, 0, gettext ("\
+		      error (0, 0, _("\
 %s %s differ: section [%zu] '%s' note name"),
 			     fname1, fname2, elf_ndxscn (scn1), sname1);
 		    DIFFERENCE;
@@ -467,7 +467,7 @@
 		if (note1.n_type != note2.n_type)
 		  {
 		    if (! quiet)
-		      error (0, 0, gettext ("\
+		      error (0, 0, _("\
 %s %s differ: section [%zu] '%s' note '%s' type"),
 			     fname1, fname2, elf_ndxscn (scn1), sname1, name1);
 		    DIFFERENCE;
@@ -482,7 +482,7 @@
 			if (note1.n_descsz != note2.n_descsz)
 			  {
 			    if (! quiet)
-			      error (0, 0, gettext ("\
+			      error (0, 0, _("\
 %s %s differ: build ID length"),
 				     fname1, fname2);
 			    DIFFERENCE;
@@ -490,7 +490,7 @@
 			else if (! ignore_build_id)
 			  {
 			    if (! quiet)
-			      error (0, 0, gettext ("\
+			      error (0, 0, _("\
 %s %s differ: build ID content"),
 				     fname1, fname2);
 			    DIFFERENCE;
@@ -499,7 +499,7 @@
 		    else
 		      {
 			if (! quiet)
-			  error (0, 0, gettext ("\
+			  error (0, 0, _("\
 %s %s differ: section [%zu] '%s' note '%s' content"),
 				 fname1, fname2, elf_ndxscn (scn1), sname1,
 				 name1);
@@ -510,7 +510,7 @@
 	    if (off2 < data2->d_size)
 	      {
 		if (! quiet)
-		  error (0, 0, gettext ("\
+		  error (0, 0, _("\
 %s %s differ: section [%zu] '%s' number of notes"),
 			 fname1, fname2, elf_ndxscn (scn1), sname1);
 		DIFFERENCE;
@@ -540,11 +540,11 @@
 	      if (! quiet)
 		{
 		  if (elf_ndxscn (scn1) == elf_ndxscn (scn2))
-		    error (0, 0, gettext ("\
+		    error (0, 0, _("\
 %s %s differ: section [%zu] '%s' content"),
 			   fname1, fname2, elf_ndxscn (scn1), sname1);
 		  else
-		    error (0, 0, gettext ("\
+		    error (0, 0, _("\
 %s %s differ: section [%zu,%zu] '%s' content"),
 			   fname1, fname2, elf_ndxscn (scn1),
 			   elf_ndxscn (scn2), sname1);
@@ -559,7 +559,7 @@
     {
       if (! quiet)
 	error (0, 0,
-	       gettext ("%s %s differ: unequal amount of important sections"),
+	       _("%s %s differ: unequal amount of important sections"),
 	       fname1, fname2);
       DIFFERENCE;
     }
@@ -592,12 +592,12 @@
     {
       raw1 = elf_rawfile (elf1, &size1);
       if (raw1 == NULL )
-	error (2, 0, gettext ("cannot load data of '%s': %s"),
+	error (2, 0, _("cannot load data of '%s': %s"),
 	       fname1, elf_errmsg (-1));
 
       raw2 = elf_rawfile (elf2, &size2);
       if (raw2 == NULL )
-	error (2, 0, gettext ("cannot load data of '%s': %s"),
+	error (2, 0, _("cannot load data of '%s': %s"),
 	       fname2, elf_errmsg (-1));
 
       for (size_t cnt = 0; cnt < nregions; ++cnt)
@@ -616,19 +616,19 @@
       GElf_Phdr *phdr1 = gelf_getphdr (elf1, ndx, &phdr1_mem);
       if (phdr1 == NULL)
 	error (2, 0,
-	       gettext ("cannot get program header entry %d of '%s': %s"),
+	       _("cannot get program header entry %d of '%s': %s"),
 	       ndx, fname1, elf_errmsg (-1));
       GElf_Phdr phdr2_mem;
       GElf_Phdr *phdr2 = gelf_getphdr (elf2, ndx, &phdr2_mem);
       if (phdr2 == NULL)
 	error (2, 0,
-	       gettext ("cannot get program header entry %d of '%s': %s"),
+	       _("cannot get program header entry %d of '%s': %s"),
 	       ndx, fname2, elf_errmsg (-1));
 
       if (unlikely (memcmp (phdr1, phdr2, sizeof (GElf_Phdr)) != 0))
 	{
 	  if (! quiet)
-	    error (0, 0, gettext ("%s %s differ: program header %d"),
+	    error (0, 0, _("%s %s differ: program header %d"),
 		   fname1, fname2, ndx);
 	  DIFFERENCE;
 	}
@@ -652,7 +652,7 @@
 		    {
 		    gapmismatch:
 		      if (!quiet)
-			error (0, 0, gettext ("%s %s differ: gap"),
+			error (0, 0, _("%s %s differ: gap"),
 			       fname1, fname2);
 		      DIFFERENCE;
 		      break;
@@ -703,7 +703,7 @@
       else
 	{
 	  fprintf (stderr,
-		   gettext ("Invalid value '%s' for --gaps parameter."),
+		   _("Invalid value '%s' for --gaps parameter."),
 		   arg);
 	  argp_help (&argp, stderr, ARGP_HELP_SEE,
 		     program_invocation_short_name);
@@ -731,16 +731,16 @@
 {
   int fd = open (fname, O_RDONLY);
   if (unlikely (fd == -1))
-    error (2, errno, gettext ("cannot open '%s'"), fname);
+    error (2, errno, _("cannot open '%s'"), fname);
   Elf *elf = elf_begin (fd, ELF_C_READ_MMAP, NULL);
   if (elf == NULL)
     error (2, 0,
-	   gettext ("cannot create ELF descriptor for '%s': %s"),
+	   _("cannot create ELF descriptor for '%s': %s"),
 	   fname, elf_errmsg (-1));
   Ebl *ebl = ebl_openbackend (elf);
   if (ebl == NULL)
     error (2, 0,
-	   gettext ("cannot create EBL descriptor for '%s'"), fname);
+	   _("cannot create EBL descriptor for '%s'"), fname);
 
   *fdp = fd;
   *eblp = ebl;
@@ -758,7 +758,7 @@
       GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
       if (shdr == NULL)
 	error (2, 0,
-	       gettext ("cannot get section header of section %zu: %s"),
+	       _("cannot get section header of section %zu: %s"),
 	       elf_ndxscn (scn), elf_errmsg (-1));
 
       if ((shdr->sh_type != SHT_REL && shdr->sh_type != SHT_RELA)
@@ -768,7 +768,7 @@
       Elf_Data *data = elf_getdata (scn, NULL);
       if (data == NULL)
 	error (2, 0,
-	       gettext ("cannot get content of section %zu: %s"),
+	       _("cannot get content of section %zu: %s"),
 	       elf_ndxscn (scn), elf_errmsg (-1));
 
       if (shdr->sh_type == SHT_REL && shdr->sh_entsize != 0)
@@ -778,7 +778,7 @@
 	    GElf_Rel rel_mem;
 	    GElf_Rel *rel = gelf_getrel (data, ndx, &rel_mem);
 	    if (rel == NULL)
-	      error (2, 0, gettext ("cannot get relocation: %s"),
+	      error (2, 0, _("cannot get relocation: %s"),
 		     elf_errmsg (-1));
 
 	    if ((int) GELF_R_SYM (rel->r_info) == symndx
@@ -792,7 +792,7 @@
 	    GElf_Rela rela_mem;
 	    GElf_Rela *rela = gelf_getrela (data, ndx, &rela_mem);
 	    if (rela == NULL)
-	      error (2, 0, gettext ("cannot get relocation: %s"),
+	      error (2, 0, _("cannot get relocation: %s"),
 		     elf_errmsg (-1));
 
 	    if ((int) GELF_R_SYM (rela->r_info) == symndx
diff --git a/src/elfcompress.c b/src/elfcompress.c
index 6ba6af4..1b5b1e3 100644
--- a/src/elfcompress.c
+++ b/src/elfcompress.c
@@ -345,7 +345,7 @@
       return cleanup (-1);
     }
 
-  /* We dont' handle ar files (or anything else), we probably should.  */
+  /* We don't handle ar files (or anything else), we probably should.  */
   Elf_Kind kind = elf_kind (elf);
   if (kind != ELF_K_ELF)
     {
diff --git a/src/elflint.c b/src/elflint.c
index 684b794..6a94683 100644
--- a/src/elflint.c
+++ b/src/elflint.c
@@ -107,7 +107,7 @@
 /* True if we should perform very strict testing.  */
 static bool be_strict;
 
-/* True if no message is to be printed if the run is succesful.  */
+/* True if no message is to be printed if the run is successful.  */
 static bool be_quiet;
 
 /* True if binary is from strip -f, not a normal ELF file.  */
@@ -177,11 +177,11 @@
 
 	  /* Now we can close the descriptor.  */
 	  if (elf_end (elf) != 0)
-	    ERROR (gettext ("error while closing Elf descriptor: %s\n"),
+	    ERROR (_("error while closing Elf descriptor: %s\n"),
 		   elf_errmsg (-1));
 
 	  if (prev_error_count == error_count && !be_quiet)
-	    puts (gettext ("No errors"));
+	    puts (_("No errors"));
 	}
 
       close (fd);
@@ -216,7 +216,7 @@
       break;
 
     case ARGP_KEY_NO_ARGS:
-      fputs (gettext ("Missing file name.\n"), stderr);
+      fputs (_("Missing file name.\n"), stderr);
       argp_help (&argp, stderr, ARGP_HELP_SEE, program_invocation_short_name);
       exit (EXIT_FAILURE);
 
@@ -281,7 +281,7 @@
 	    /* Get next archive element.  */
 	    cmd = elf_next (subelf);
 	    if (elf_end (subelf) != 0)
-	      ERROR (gettext (" error while freeing sub-ELF descriptor: %s\n"),
+	      ERROR (_(" error while freeing sub-ELF descriptor: %s\n"),
 		     elf_errmsg (-1));
 	  }
       }
@@ -289,7 +289,7 @@
 
     default:
       /* We cannot do anything.  */
-      ERROR (gettext ("\
+      ERROR (_("\
 Not an ELF file - it has the wrong magic bytes at the start\n"));
       break;
     }
@@ -354,16 +354,16 @@
 
   if (ehdr->e_ident[EI_CLASS] != ELFCLASS32
       && ehdr->e_ident[EI_CLASS] != ELFCLASS64)
-    ERROR (gettext ("e_ident[%d] == %d is no known class\n"),
+    ERROR (_("e_ident[%d] == %d is no known class\n"),
 	   EI_CLASS, ehdr->e_ident[EI_CLASS]);
 
   if (ehdr->e_ident[EI_DATA] != ELFDATA2LSB
       && ehdr->e_ident[EI_DATA] != ELFDATA2MSB)
-    ERROR (gettext ("e_ident[%d] == %d is no known data encoding\n"),
+    ERROR (_("e_ident[%d] == %d is no known data encoding\n"),
 	   EI_DATA, ehdr->e_ident[EI_DATA]);
 
   if (ehdr->e_ident[EI_VERSION] != EV_CURRENT)
-    ERROR (gettext ("unknown ELF header version number e_ident[%d] == %d\n"),
+    ERROR (_("unknown ELF header version number e_ident[%d] == %d\n"),
 	   EI_VERSION, ehdr->e_ident[EI_VERSION]);
 
   /* We currently don't handle any OS ABIs other than Linux and the
@@ -371,46 +371,46 @@
   if (ehdr->e_ident[EI_OSABI] != ELFOSABI_NONE
       && ehdr->e_ident[EI_OSABI] != ELFOSABI_LINUX
       && ehdr->e_ident[EI_OSABI] != ELFOSABI_FREEBSD)
-    ERROR (gettext ("unsupported OS ABI e_ident[%d] == '%s'\n"),
+    ERROR (_("unsupported OS ABI e_ident[%d] == '%s'\n"),
 	   EI_OSABI,
 	   ebl_osabi_name (ebl, ehdr->e_ident[EI_OSABI], buf, sizeof (buf)));
 
   /* No ABI versions other than zero are supported either.  */
   if (ehdr->e_ident[EI_ABIVERSION] != 0)
-    ERROR (gettext ("unsupported ABI version e_ident[%d] == %d\n"),
+    ERROR (_("unsupported ABI version e_ident[%d] == %d\n"),
 	   EI_ABIVERSION, ehdr->e_ident[EI_ABIVERSION]);
 
   for (cnt = EI_PAD; cnt < EI_NIDENT; ++cnt)
     if (ehdr->e_ident[cnt] != 0)
-      ERROR (gettext ("e_ident[%zu] is not zero\n"), cnt);
+      ERROR (_("e_ident[%zu] is not zero\n"), cnt);
 
   /* Check the e_type field.  */
   if (ehdr->e_type != ET_REL && ehdr->e_type != ET_EXEC
       && ehdr->e_type != ET_DYN && ehdr->e_type != ET_CORE)
-    ERROR (gettext ("unknown object file type %d\n"), ehdr->e_type);
+    ERROR (_("unknown object file type %d\n"), ehdr->e_type);
 
   /* Check the e_machine field.  */
   for (cnt = 0; cnt < nvalid_e_machine; ++cnt)
     if (valid_e_machine[cnt] == ehdr->e_machine)
       break;
   if (cnt == nvalid_e_machine)
-    ERROR (gettext ("unknown machine type %d\n"), ehdr->e_machine);
+    ERROR (_("unknown machine type %d\n"), ehdr->e_machine);
 
   /* Check the e_version field.  */
   if (ehdr->e_version != EV_CURRENT)
-    ERROR (gettext ("unknown object file version\n"));
+    ERROR (_("unknown object file version\n"));
 
   /* Check the e_phoff and e_phnum fields.  */
   if (ehdr->e_phoff == 0)
     {
       if (ehdr->e_phnum != 0)
-	ERROR (gettext ("invalid program header offset\n"));
+	ERROR (_("invalid program header offset\n"));
       else if (ehdr->e_type == ET_EXEC || ehdr->e_type == ET_DYN)
-	ERROR (gettext ("\
+	ERROR (_("\
 executables and DSOs cannot have zero program header offset\n"));
     }
   else if (ehdr->e_phnum == 0)
-    ERROR (gettext ("invalid number of program header entries\n"));
+    ERROR (_("invalid number of program header entries\n"));
 
   /* Check the e_shoff field.  */
   shnum = ehdr->e_shnum;
@@ -418,10 +418,10 @@
   if (ehdr->e_shoff == 0)
     {
       if (ehdr->e_shnum != 0)
-	ERROR (gettext ("invalid section header table offset\n"));
+	ERROR (_("invalid section header table offset\n"));
       else if (ehdr->e_type != ET_EXEC && ehdr->e_type != ET_DYN
 	       && ehdr->e_type != ET_CORE)
-	ERROR (gettext ("section header table must be present\n"));
+	ERROR (_("section header table must be present\n"));
     }
   else
     {
@@ -435,7 +435,7 @@
 	    {
 	      /* The error will be reported later.  */
 	      if (shdr->sh_size == 0)
-		ERROR (gettext ("\
+		ERROR (_("\
 invalid number of section header table entries\n"));
 	      else
 		shnum = shdr->sh_size;
@@ -452,7 +452,7 @@
 	    shstrndx = shdr->sh_link;
 	}
       else if (shstrndx >= shnum)
-	ERROR (gettext ("invalid section header index\n"));
+	ERROR (_("invalid section header index\n"));
     }
 
   /* Check the shdrs actually exist.  And uncompress them before
@@ -467,10 +467,10 @@
 	  break;
 	/* If the section wasn't compressed this does nothing, but
 	   returns an error.  We don't care.  */
-	elf_compress (scn, 0, 0);
+	if (elf_compress (scn, 0, 0) < 0) { ; }
      }
   if (scnt < shnum)
-    ERROR (gettext ("Can only check %u headers, shnum was %u\n"), scnt, shnum);
+    ERROR (_("Can only check %u headers, shnum was %u\n"), scnt, shnum);
   shnum = scnt;
 
   phnum = ehdr->e_phnum;
@@ -484,7 +484,7 @@
 	{
 	  /* The error will be reported later.  */
 	  if (shdr->sh_info < PN_XNUM)
-	    ERROR (gettext ("\
+	    ERROR (_("\
 invalid number of program header table entries\n"));
 	  else
 	    phnum = shdr->sh_info;
@@ -501,48 +501,48 @@
 	  break;
      }
   if (pcnt < phnum)
-    ERROR (gettext ("Can only check %u headers, phnum was %u\n"), pcnt, phnum);
+    ERROR (_("Can only check %u headers, phnum was %u\n"), pcnt, phnum);
   phnum = pcnt;
 
   /* Check the e_flags field.  */
   if (!ebl_machine_flag_check (ebl, ehdr->e_flags))
-    ERROR (gettext ("invalid machine flags: %s\n"),
+    ERROR (_("invalid machine flags: %s\n"),
 	   ebl_machine_flag_name (ebl, ehdr->e_flags, buf, sizeof (buf)));
 
   /* Check e_ehsize, e_phentsize, and e_shentsize fields.  */
   if (gelf_getclass (ebl->elf) == ELFCLASS32)
     {
       if (ehdr->e_ehsize != 0 && ehdr->e_ehsize != sizeof (Elf32_Ehdr))
-	ERROR (gettext ("invalid ELF header size: %hd\n"), ehdr->e_ehsize);
+	ERROR (_("invalid ELF header size: %hd\n"), ehdr->e_ehsize);
 
       if (ehdr->e_phentsize != 0 && ehdr->e_phentsize != sizeof (Elf32_Phdr))
-	ERROR (gettext ("invalid program header size: %hd\n"),
+	ERROR (_("invalid program header size: %hd\n"),
 	       ehdr->e_phentsize);
       else if (ehdr->e_phoff + phnum * ehdr->e_phentsize > size)
-	ERROR (gettext ("invalid program header position or size\n"));
+	ERROR (_("invalid program header position or size\n"));
 
       if (ehdr->e_shentsize != 0 && ehdr->e_shentsize != sizeof (Elf32_Shdr))
-	ERROR (gettext ("invalid section header size: %hd\n"),
+	ERROR (_("invalid section header size: %hd\n"),
 	       ehdr->e_shentsize);
       else if (ehdr->e_shoff + shnum * ehdr->e_shentsize > size)
-	ERROR (gettext ("invalid section header position or size\n"));
+	ERROR (_("invalid section header position or size\n"));
     }
   else if (gelf_getclass (ebl->elf) == ELFCLASS64)
     {
       if (ehdr->e_ehsize != 0 && ehdr->e_ehsize != sizeof (Elf64_Ehdr))
-	ERROR (gettext ("invalid ELF header size: %hd\n"), ehdr->e_ehsize);
+	ERROR (_("invalid ELF header size: %hd\n"), ehdr->e_ehsize);
 
       if (ehdr->e_phentsize != 0 && ehdr->e_phentsize != sizeof (Elf64_Phdr))
-	ERROR (gettext ("invalid program header size: %hd\n"),
+	ERROR (_("invalid program header size: %hd\n"),
 	       ehdr->e_phentsize);
       else if (ehdr->e_phoff + phnum * ehdr->e_phentsize > size)
-	ERROR (gettext ("invalid program header position or size\n"));
+	ERROR (_("invalid program header position or size\n"));
 
       if (ehdr->e_shentsize != 0 && ehdr->e_shentsize != sizeof (Elf64_Shdr))
-	ERROR (gettext ("invalid section header size: %hd\n"),
+	ERROR (_("invalid section header size: %hd\n"),
 	       ehdr->e_shentsize);
       else if (ehdr->e_shoff + shnum * ehdr->e_shentsize > size)
-	ERROR (gettext ("invalid section header position or size\n"));
+	ERROR (_("invalid section header position or size\n"));
     }
 }
 
@@ -587,11 +587,11 @@
 
     out:
       if (cnt == shnum)
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': section with SHF_GROUP flag set not part of a section group\n"),
 	       idx, section_name (ebl, idx));
       else
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': section group [%2zu] '%s' does not precede group member\n"),
 	       idx, section_name (ebl, idx),
 	       cnt, section_name (ebl, cnt));
@@ -607,7 +607,7 @@
   Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
   if (data == NULL)
     {
-      ERROR (gettext ("section [%2d] '%s': cannot get section data\n"),
+      ERROR (_("section [%2d] '%s': cannot get section data\n"),
 	     idx, section_name (ebl, idx));
       return;
     }
@@ -620,7 +620,7 @@
 
   if (strshdr->sh_type != SHT_STRTAB)
     {
-      ERROR (gettext ("section [%2d] '%s': referenced as string table for section [%2d] '%s' but type is not SHT_STRTAB\n"),
+      ERROR (_("section [%2d] '%s': referenced as string table for section [%2d] '%s' but type is not SHT_STRTAB\n"),
 	     shdr->sh_link, section_name (ebl, shdr->sh_link),
 	     idx, section_name (ebl, idx));
       strshdr = NULL;
@@ -643,7 +643,7 @@
 	    && xndxshdr->sh_link == (GElf_Word) idx)
 	  {
 	    if (found_xndx)
-	      ERROR (gettext ("\
+	      ERROR (_("\
 section [%2d] '%s': symbol table cannot have more than one extended index section\n"),
 		     idx, section_name (ebl, idx));
 
@@ -655,39 +655,43 @@
 
   size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_SYM, 1, EV_CURRENT);
   if (shdr->sh_entsize != sh_entsize)
-    ERROR (gettext ("\
+    ERROR (_("\
 section [%2u] '%s': entry size is does not match ElfXX_Sym\n"),
 	   idx, section_name (ebl, idx));
+  else if (shdr->sh_info > shdr->sh_size / sh_entsize)
+    ERROR (_("\
+section [%2u] '%s': number of local entries in 'st_info' larger than table size\n"),
+	   idx, section_name (ebl, idx));
 
   /* Test the zeroth entry.  */
   GElf_Sym sym_mem;
   Elf32_Word xndx;
   GElf_Sym *sym = gelf_getsymshndx (data, xndxdata, 0, &sym_mem, &xndx);
   if (sym == NULL)
-      ERROR (gettext ("section [%2d] '%s': cannot get symbol %d: %s\n"),
+      ERROR (_("section [%2d] '%s': cannot get symbol %d: %s\n"),
 	     idx, section_name (ebl, idx), 0, elf_errmsg (-1));
   else
     {
       if (sym->st_name != 0)
-	ERROR (gettext ("section [%2d] '%s': '%s' in zeroth entry not zero\n"),
+	ERROR (_("section [%2d] '%s': '%s' in zeroth entry not zero\n"),
 	       idx, section_name (ebl, idx), "st_name");
       if (sym->st_value != 0)
-	ERROR (gettext ("section [%2d] '%s': '%s' in zeroth entry not zero\n"),
+	ERROR (_("section [%2d] '%s': '%s' in zeroth entry not zero\n"),
 	       idx, section_name (ebl, idx), "st_value");
       if (sym->st_size != 0)
-	ERROR (gettext ("section [%2d] '%s': '%s' in zeroth entry not zero\n"),
+	ERROR (_("section [%2d] '%s': '%s' in zeroth entry not zero\n"),
 	       idx, section_name (ebl, idx), "st_size");
       if (sym->st_info != 0)
-	ERROR (gettext ("section [%2d] '%s': '%s' in zeroth entry not zero\n"),
+	ERROR (_("section [%2d] '%s': '%s' in zeroth entry not zero\n"),
 	       idx, section_name (ebl, idx), "st_info");
       if (sym->st_other != 0)
-	ERROR (gettext ("section [%2d] '%s': '%s' in zeroth entry not zero\n"),
+	ERROR (_("section [%2d] '%s': '%s' in zeroth entry not zero\n"),
 	       idx, section_name (ebl, idx), "st_other");
       if (sym->st_shndx != 0)
-	ERROR (gettext ("section [%2d] '%s': '%s' in zeroth entry not zero\n"),
+	ERROR (_("section [%2d] '%s': '%s' in zeroth entry not zero\n"),
 	       idx, section_name (ebl, idx), "st_shndx");
       if (xndxdata != NULL && xndx != 0)
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': XINDEX for zeroth entry not zero\n"),
 	       xndxscnidx, section_name (ebl, xndxscnidx));
     }
@@ -697,16 +701,16 @@
       sym = gelf_getsymshndx (data, xndxdata, cnt, &sym_mem, &xndx);
       if (sym == NULL)
 	{
-	  ERROR (gettext ("section [%2d] '%s': cannot get symbol %zu: %s\n"),
+	  ERROR (_("section [%2d] '%s': cannot get symbol %zu: %s\n"),
 		 idx, section_name (ebl, idx), cnt, elf_errmsg (-1));
 	  continue;
 	}
 
-      const char *name = NULL;
+      const char *name = "<invalid>";
       if (strshdr == NULL)
 	name = "";
       else if (sym->st_name >= strshdr->sh_size)
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': symbol %zu: invalid name value\n"),
 	       idx, section_name (ebl, idx), cnt);
       else
@@ -721,15 +725,15 @@
 	  if (xndxdata == NULL)
 	    {
 	      if (!no_xndx_warned)
-		ERROR (gettext ("\
-section [%2d] '%s': symbol %zu: too large section index but no extended section index section\n"),
-		       idx, section_name (ebl, idx), cnt);
+		ERROR (_("\
+section [%2d] '%s': symbol %zu (%s): too large section index but no extended section index section\n"),
+		       idx, section_name (ebl, idx), cnt, name);
 	      no_xndx_warned = true;
 	    }
 	  else if (xndx < SHN_LORESERVE)
-	    ERROR (gettext ("\
-section [%2d] '%s': symbol %zu: XINDEX used for index which would fit in st_shndx (%" PRIu32 ")\n"),
-		   xndxscnidx, section_name (ebl, xndxscnidx), cnt,
+	    ERROR (_("\
+section [%2d] '%s': symbol %zu (%s): XINDEX used for index which would fit in st_shndx (%" PRIu32 ")\n"),
+		   xndxscnidx, section_name (ebl, xndxscnidx), cnt, name,
 		   xndx);
 	}
       else if ((sym->st_shndx >= SHN_LORESERVE
@@ -739,44 +743,44 @@
 	       || (sym->st_shndx >= shnum
 		   && (sym->st_shndx < SHN_LORESERVE
 		       /* || sym->st_shndx > SHN_HIRESERVE  always false */)))
-	ERROR (gettext ("\
-section [%2d] '%s': symbol %zu: invalid section index\n"),
-	       idx, section_name (ebl, idx), cnt);
+	ERROR (_("\
+section [%2d] '%s': symbol %zu (%s): invalid section index\n"),
+	       idx, section_name (ebl, idx), cnt, name);
       else
 	xndx = sym->st_shndx;
 
       if (GELF_ST_TYPE (sym->st_info) >= STT_NUM
 	  && !ebl_symbol_type_name (ebl, GELF_ST_TYPE (sym->st_info), NULL, 0))
-	ERROR (gettext ("section [%2d] '%s': symbol %zu: unknown type\n"),
-	       idx, section_name (ebl, idx), cnt);
+	ERROR (_("section [%2d] '%s': symbol %zu (%s): unknown type\n"),
+	       idx, section_name (ebl, idx), cnt, name);
 
       if (GELF_ST_BIND (sym->st_info) >= STB_NUM
 	  && !ebl_symbol_binding_name (ebl, GELF_ST_BIND (sym->st_info), NULL,
 				       0))
-	ERROR (gettext ("\
-section [%2d] '%s': symbol %zu: unknown symbol binding\n"),
-	       idx, section_name (ebl, idx), cnt);
+	ERROR (_("\
+section [%2d] '%s': symbol %zu (%s): unknown symbol binding\n"),
+	       idx, section_name (ebl, idx), cnt, name);
       if (GELF_ST_BIND (sym->st_info) == STB_GNU_UNIQUE
 	  && GELF_ST_TYPE (sym->st_info) != STT_OBJECT)
-	ERROR (gettext ("\
-section [%2d] '%s': symbol %zu: unique symbol not of object type\n"),
-	       idx, section_name (ebl, idx), cnt);
+	ERROR (_("\
+section [%2d] '%s': symbol %zu (%s): unique symbol not of object type\n"),
+	       idx, section_name (ebl, idx), cnt, name);
 
       if (xndx == SHN_COMMON)
 	{
 	  /* Common symbols can only appear in relocatable files.  */
 	  if (ehdr->e_type != ET_REL)
-	    ERROR (gettext ("\
-section [%2d] '%s': symbol %zu: COMMON only allowed in relocatable files\n"),
-		   idx, section_name (ebl, idx), cnt);
+	    ERROR (_("\
+section [%2d] '%s': symbol %zu (%s): COMMON only allowed in relocatable files\n"),
+		   idx, section_name (ebl, idx), cnt, name);
 	  if (cnt < shdr->sh_info)
-	    ERROR (gettext ("\
-section [%2d] '%s': symbol %zu: local COMMON symbols are nonsense\n"),
-		   idx, section_name (ebl, idx), cnt);
+	    ERROR (_("\
+section [%2d] '%s': symbol %zu (%s): local COMMON symbols are nonsense\n"),
+		   idx, section_name (ebl, idx), cnt, name);
 	  if (GELF_R_TYPE (sym->st_info) == STT_FUNC)
-	    ERROR (gettext ("\
-section [%2d] '%s': symbol %zu: function in COMMON section is nonsense\n"),
-		   idx, section_name (ebl, idx), cnt);
+	    ERROR (_("\
+section [%2d] '%s': symbol %zu (%s): function in COMMON section is nonsense\n"),
+		   idx, section_name (ebl, idx), cnt, name);
 	}
       else if (xndx > 0 && xndx < shnum)
 	{
@@ -825,24 +829,24 @@
 				  && strcmp (name, "__edata") != 0
 				  && strcmp (name, "_end") != 0
 				  && strcmp (name, "__end") != 0))
-			    ERROR (gettext ("\
-section [%2d] '%s': symbol %zu: st_value out of bounds\n"),
-				   idx, section_name (ebl, idx), cnt);
+			    ERROR (_("\
+section [%2d] '%s': symbol %zu (%s): st_value out of bounds\n"),
+				   idx, section_name (ebl, idx), cnt, name);
 			}
 		      else if ((st_value - sh_addr
 				+ sym->st_size) > destshdr->sh_size)
-			ERROR (gettext ("\
-section [%2d] '%s': symbol %zu does not fit completely in referenced section [%2d] '%s'\n"),
-			       idx, section_name (ebl, idx), cnt,
+			ERROR (_("\
+section [%2d] '%s': symbol %zu (%s) does not fit completely in referenced section [%2d] '%s'\n"),
+			       idx, section_name (ebl, idx), cnt, name,
 			       (int) xndx, section_name (ebl, xndx));
 		    }
 		}
 	      else
 		{
 		  if ((destshdr->sh_flags & SHF_TLS) == 0)
-		    ERROR (gettext ("\
-section [%2d] '%s': symbol %zu: referenced section [%2d] '%s' does not have SHF_TLS flag set\n"),
-			   idx, section_name (ebl, idx), cnt,
+		    ERROR (_("\
+section [%2d] '%s': symbol %zu (%s): referenced section [%2d] '%s' does not have SHF_TLS flag set\n"),
+			   idx, section_name (ebl, idx), cnt, name,
 			   (int) xndx, section_name (ebl, xndx));
 
 		  if (ehdr->e_type == ET_REL)
@@ -850,15 +854,15 @@
 		      /* For object files the symbol value must fall
 			 into the section.  */
 		      if (st_value > destshdr->sh_size)
-			ERROR (gettext ("\
-section [%2d] '%s': symbol %zu: st_value out of bounds of referenced section [%2d] '%s'\n"),
-			       idx, section_name (ebl, idx), cnt,
+			ERROR (_("\
+section [%2d] '%s': symbol %zu (%s): st_value out of bounds of referenced section [%2d] '%s'\n"),
+			       idx, section_name (ebl, idx), cnt, name,
 			       (int) xndx, section_name (ebl, xndx));
 		      else if (st_value + sym->st_size
 			       > destshdr->sh_size)
-			ERROR (gettext ("\
-section [%2d] '%s': symbol %zu does not fit completely in referenced section [%2d] '%s'\n"),
-			       idx, section_name (ebl, idx), cnt,
+			ERROR (_("\
+section [%2d] '%s': symbol %zu (%s) does not fit completely in referenced section [%2d] '%s'\n"),
+			       idx, section_name (ebl, idx), cnt, name,
 			       (int) xndx, section_name (ebl, xndx));
 		    }
 		  else
@@ -877,37 +881,37 @@
 		      if (pcnt == phnum)
 			{
 			  if (no_pt_tls++ == 0)
-			    ERROR (gettext ("\
-section [%2d] '%s': symbol %zu: TLS symbol but no TLS program header entry\n"),
-				   idx, section_name (ebl, idx), cnt);
+			    ERROR (_("\
+section [%2d] '%s': symbol %zu (%s): TLS symbol but no TLS program header entry\n"),
+				   idx, section_name (ebl, idx), cnt, name);
 			}
 		      else if (phdr == NULL)
 			{
-			    ERROR (gettext ("\
-section [%2d] '%s': symbol %zu: TLS symbol but couldn't get TLS program header entry\n"),
-				   idx, section_name (ebl, idx), cnt);
+			    ERROR (_("\
+section [%2d] '%s': symbol %zu (%s): TLS symbol but couldn't get TLS program header entry\n"),
+				   idx, section_name (ebl, idx), cnt, name);
 			}
 		      else if (!is_debuginfo)
 			{
 			  if (st_value
 			      < destshdr->sh_offset - phdr->p_offset)
-			    ERROR (gettext ("\
-section [%2d] '%s': symbol %zu: st_value short of referenced section [%2d] '%s'\n"),
-				   idx, section_name (ebl, idx), cnt,
+			    ERROR (_("\
+section [%2d] '%s': symbol %zu (%s): st_value short of referenced section [%2d] '%s'\n"),
+				   idx, section_name (ebl, idx), cnt, name,
 				   (int) xndx, section_name (ebl, xndx));
 			  else if (st_value
 				   > (destshdr->sh_offset - phdr->p_offset
 				      + destshdr->sh_size))
-			    ERROR (gettext ("\
-section [%2d] '%s': symbol %zu: st_value out of bounds of referenced section [%2d] '%s'\n"),
-				   idx, section_name (ebl, idx), cnt,
+			    ERROR (_("\
+section [%2d] '%s': symbol %zu (%s): st_value out of bounds of referenced section [%2d] '%s'\n"),
+				   idx, section_name (ebl, idx), cnt, name,
 				   (int) xndx, section_name (ebl, xndx));
 			  else if (st_value + sym->st_size
 				   > (destshdr->sh_offset - phdr->p_offset
 				      + destshdr->sh_size))
-			    ERROR (gettext ("\
-section [%2d] '%s': symbol %zu does not fit completely in referenced section [%2d] '%s'\n"),
-				   idx, section_name (ebl, idx), cnt,
+			    ERROR (_("\
+section [%2d] '%s': symbol %zu (%s) does not fit completely in referenced section [%2d] '%s'\n"),
+				   idx, section_name (ebl, idx), cnt, name,
 				   (int) xndx, section_name (ebl, xndx));
 			}
 		    }
@@ -918,23 +922,23 @@
       if (GELF_ST_BIND (sym->st_info) == STB_LOCAL)
 	{
 	  if (cnt >= shdr->sh_info)
-	    ERROR (gettext ("\
-section [%2d] '%s': symbol %zu: local symbol outside range described in sh_info\n"),
-		   idx, section_name (ebl, idx), cnt);
+	    ERROR (_("\
+section [%2d] '%s': symbol %zu (%s): local symbol outside range described in sh_info\n"),
+		   idx, section_name (ebl, idx), cnt, name);
 	}
       else
 	{
 	  if (cnt < shdr->sh_info)
-	    ERROR (gettext ("\
-section [%2d] '%s': symbol %zu: non-local symbol outside range described in sh_info\n"),
-		   idx, section_name (ebl, idx), cnt);
+	    ERROR (_("\
+section [%2d] '%s': symbol %zu (%s): non-local symbol outside range described in sh_info\n"),
+		   idx, section_name (ebl, idx), cnt, name);
 	}
 
       if (GELF_ST_TYPE (sym->st_info) == STT_SECTION
 	  && GELF_ST_BIND (sym->st_info) != STB_LOCAL)
-	ERROR (gettext ("\
-section [%2d] '%s': symbol %zu: non-local section symbol\n"),
-	       idx, section_name (ebl, idx), cnt);
+	ERROR (_("\
+section [%2d] '%s': symbol %zu (%s): non-local section symbol\n"),
+	       idx, section_name (ebl, idx), cnt, name);
 
       if (name != NULL)
 	{
@@ -982,14 +986,14 @@
 	      if (sname == NULL)
 		{
 		  if (xndx != SHN_UNDEF || ehdr->e_type != ET_REL)
-		    ERROR (gettext ("\
+		    ERROR (_("\
 section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to \
 bad section [%2d]\n"),
 			   idx, section_name (ebl, idx), xndx);
 		}
 	      else if (strcmp (sname, ".got.plt") != 0
 		       && strcmp (sname, ".got") != 0)
-		ERROR (gettext ("\
+		ERROR (_("\
 section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to \
 section [%2d] '%s'\n"),
 		       idx, section_name (ebl, idx), xndx, sname);
@@ -1005,14 +1009,14 @@
 			/* 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.  */
-			ERROR (gettext ("\
+			ERROR (_("\
 section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol value %#" PRIx64 " does not match %s section address %#" PRIx64 "\n"),
 			       idx, section_name (ebl, idx),
 			       (uint64_t) sym->st_value,
 			       sname, (uint64_t) destshdr->sh_addr);
 
 		      if (!gnuld && sym->st_size != destshdr->sh_size)
-			ERROR (gettext ("\
+			ERROR (_("\
 section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol size %" PRIu64 " does not match %s section size %" PRIu64 "\n"),
 			       idx, section_name (ebl, idx),
 			       (uint64_t) sym->st_size,
@@ -1020,7 +1024,7 @@
 		    }
 		}
 	      else
-		ERROR (gettext ("\
+		ERROR (_("\
 section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol present, but no .got section\n"),
 		       idx, section_name (ebl, idx));
 	    }
@@ -1036,14 +1040,14 @@
 		if (phdr != NULL && phdr->p_type == PT_DYNAMIC)
 		  {
 		    if (sym->st_value != phdr->p_vaddr)
-		      ERROR (gettext ("\
+		      ERROR (_("\
 section [%2d] '%s': _DYNAMIC_ symbol value %#" PRIx64 " does not match dynamic segment address %#" PRIx64 "\n"),
 			     idx, section_name (ebl, idx),
 			     (uint64_t) sym->st_value,
 			     (uint64_t) phdr->p_vaddr);
 
 		    if (!gnuld && sym->st_size != phdr->p_memsz)
-		      ERROR (gettext ("\
+		      ERROR (_("\
 section [%2d] '%s': _DYNAMIC symbol size %" PRIu64 " does not match dynamic segment size %" PRIu64 "\n"),
 			     idx, section_name (ebl, idx),
 			     (uint64_t) sym->st_size,
@@ -1056,13 +1060,13 @@
 
       if (GELF_ST_VISIBILITY (sym->st_other) != STV_DEFAULT
 	  && shdr->sh_type == SHT_DYNSYM)
-	ERROR (gettext ("\
-section [%2d] '%s': symbol %zu: symbol in dynamic symbol table with non-default visibility\n"),
-	       idx, section_name (ebl, idx), cnt);
+	ERROR (_("\
+section [%2d] '%s': symbol %zu (%s): symbol in dynamic symbol table with non-default visibility\n"),
+	       idx, section_name (ebl, idx), cnt, name);
       if (! ebl_check_st_other_bits (ebl, sym->st_other))
-	ERROR (gettext ("\
-section [%2d] '%s': symbol %zu: unknown bit set in st_other\n"),
-	       idx, section_name (ebl, idx), cnt);
+	ERROR (_("\
+section [%2d] '%s': symbol %zu (%s): unknown bit set in st_other\n"),
+	       idx, section_name (ebl, idx), cnt, name);
 
     }
 }
@@ -1098,7 +1102,7 @@
 	  size_t cnt;
 
 	  if (d == NULL)
-	    ERROR (gettext ("\
+	    ERROR (_("\
 section [%2d] '%s': cannot get section data.\n"),
 		   idx, section_name (ebl, idx));
 
@@ -1114,7 +1118,7 @@
 		{
 		  /* Found it.  Does the type match.  */
 		  if (is_rela)
-		    ERROR (gettext ("\
+		    ERROR (_("\
 section [%2d] '%s': DT_RELCOUNT used for this RELA section\n"),
 			   idx, section_name (ebl, idx));
 		  else
@@ -1125,7 +1129,7 @@
 		      if (shdr->sh_entsize != 0
 			  && dyn->d_un.d_val > (shdr->sh_size
 						/ shdr->sh_entsize))
-			ERROR (gettext ("\
+			ERROR (_("\
 section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"),
 			       idx, section_name (ebl, idx),
 			       (int) dyn->d_un.d_val);
@@ -1150,13 +1154,13 @@
 						      GELF_R_TYPE (rel->r_info)))
 			      {
 				if (inner >= dyn->d_un.d_val)
-				  ERROR (gettext ("\
+				  ERROR (_("\
 section [%2d] '%s': relative relocations after index %d as specified by DT_RELCOUNT\n"),
 					 idx, section_name (ebl, idx),
 					 (int) dyn->d_un.d_val);
 			      }
 			    else if (inner < dyn->d_un.d_val)
-			      ERROR (gettext ("\
+			      ERROR (_("\
 section [%2d] '%s': non-relative relocation at index %zu; DT_RELCOUNT specified %d relative relocations\n"),
 				     idx, section_name (ebl, idx),
 				     inner, (int) dyn->d_un.d_val);
@@ -1168,7 +1172,7 @@
 		{
 		  /* Found it.  Does the type match.  */
 		  if (!is_rela)
-		    ERROR (gettext ("\
+		    ERROR (_("\
 section [%2d] '%s': DT_RELACOUNT used for this REL section\n"),
 			   idx, section_name (ebl, idx));
 		  else
@@ -1178,7 +1182,7 @@
 			 relocations?  */
 		      if (shdr->sh_entsize != 0
 			  && dyn->d_un.d_val > shdr->sh_size / shdr->sh_entsize)
-			ERROR (gettext ("\
+			ERROR (_("\
 section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"),
 			       idx, section_name (ebl, idx),
 			       (int) dyn->d_un.d_val);
@@ -1203,13 +1207,13 @@
 						      GELF_R_TYPE (rela->r_info)))
 			      {
 				if (inner >= dyn->d_un.d_val)
-				  ERROR (gettext ("\
+				  ERROR (_("\
 section [%2d] '%s': relative relocations after index %d as specified by DT_RELCOUNT\n"),
 					 idx, section_name (ebl, idx),
 					 (int) dyn->d_un.d_val);
 			      }
 			    else if (inner < dyn->d_un.d_val)
-			      ERROR (gettext ("\
+			      ERROR (_("\
 section [%2d] '%s': non-relative relocation at index %zu; DT_RELCOUNT specified %d relative relocations\n"),
 				     idx, section_name (ebl, idx),
 				     inner, (int) dyn->d_un.d_val);
@@ -1251,7 +1255,7 @@
 
   /* Check whether the link to the section we relocate is reasonable.  */
   if (shdr->sh_info >= shnum)
-    ERROR (gettext ("section [%2d] '%s': invalid destination section index\n"),
+    ERROR (_("section [%2d] '%s': invalid destination section index\n"),
 	   idx, section_name (ebl, idx));
   else if (shdr->sh_info != 0)
     {
@@ -1263,7 +1267,7 @@
 	    {
 	      reldyn = is_rel_dyn (ebl, ehdr, idx, shdr, true);
 	      if (!reldyn)
-		ERROR (gettext ("\
+		ERROR (_("\
 section [%2d] '%s': invalid destination section type\n"),
 		       idx, section_name (ebl, idx));
 	      else
@@ -1271,7 +1275,7 @@
 		  /* There is no standard, but we require that .rel{,a}.dyn
 		     sections have a sh_info value of zero.  */
 		  if (shdr->sh_info != 0)
-		    ERROR (gettext ("\
+		    ERROR (_("\
 section [%2d] '%s': sh_info should be zero\n"),
 			   idx, section_name (ebl, idx));
 		}
@@ -1279,7 +1283,7 @@
 
 	  if ((((*destshdrp)->sh_flags & SHF_MERGE) != 0)
 	      && ((*destshdrp)->sh_flags & SHF_STRINGS) != 0)
-	    ERROR (gettext ("\
+	    ERROR (_("\
 section [%2d] '%s': no relocations for merge-able string sections possible\n"),
 		   idx, section_name (ebl, idx));
 	}
@@ -1287,7 +1291,7 @@
 
   size_t sh_entsize = gelf_fsize (ebl->elf, reltype, 1, EV_CURRENT);
   if (shdr->sh_entsize != sh_entsize)
-    ERROR (gettext (reltype == ELF_T_RELA ? "\
+    ERROR (_(reltype == ELF_T_RELA ? "\
 section [%2d] '%s': section entry size does not match ElfXX_Rela\n" : "\
 section [%2d] '%s': section entry size does not match ElfXX_Rel\n"),
 	   idx, section_name (ebl, idx));
@@ -1347,7 +1351,7 @@
       while (seg != NULL && !seg->read_only)
 	seg = seg->next;
       if (seg == NULL)
-	ERROR (gettext ("\
+	ERROR (_("\
 text relocation flag set but there is no read-only segment\n"));
     }
 
@@ -1374,7 +1378,7 @@
   bool known_broken = gnuld;
 
   if (!ebl_reloc_type_check (ebl, GELF_R_TYPE (r_info)))
-    ERROR (gettext ("section [%2d] '%s': relocation %zu: invalid type\n"),
+    ERROR (_("section [%2d] '%s': relocation %zu: invalid type\n"),
 	   idx, section_name (ebl, idx), cnt);
   else if (((ehdr->e_type != ET_EXEC && ehdr->e_type != ET_DYN)
 	    /* The executable/DSO can contain relocation sections with
@@ -1382,7 +1386,7 @@
 	       are marked non-loaded, though.  */
 	    || (relshdr->sh_flags & SHF_ALLOC) != 0)
 	   && !ebl_reloc_valid_use (ebl, GELF_R_TYPE (r_info)))
-    ERROR (gettext ("\
+    ERROR (_("\
 section [%2d] '%s': relocation %zu: relocation type invalid for the file type\n"),
 	   idx, section_name (ebl, idx), cnt);
 
@@ -1390,7 +1394,7 @@
       && ((GELF_R_SYM (r_info) + 1)
 	  * gelf_fsize (ebl->elf, ELF_T_SYM, 1, EV_CURRENT)
 	  > symshdr->sh_size))
-    ERROR (gettext ("\
+    ERROR (_("\
 section [%2d] '%s': relocation %zu: invalid symbol index\n"),
 	   idx, section_name (ebl, idx), cnt);
 
@@ -1408,7 +1412,7 @@
 	  /* Get the name for the symbol.  */
 	  && (name = elf_strptr (ebl->elf, symshdr->sh_link, sym->st_name))
 	  && strcmp (name, "_GLOBAL_OFFSET_TABLE_") !=0 )
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': relocation %zu: only symbol '_GLOBAL_OFFSET_TABLE_' can be used with %s\n"),
 	       idx, section_name (ebl, idx), cnt,
 	       ebl_reloc_type_name (ebl, GELF_R_SYM (r_info),
@@ -1425,7 +1429,7 @@
 	  && GELF_R_TYPE (r_info) != 0
 	  && (r_offset - (ehdr->e_type == ET_REL ? 0
 			  : destshdr->sh_addr)) >= destshdr->sh_size)
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': relocation %zu: offset out of bounds\n"),
 	       idx, section_name (ebl, idx), cnt);
     }
@@ -1440,7 +1444,7 @@
       && GELF_ST_TYPE (sym->st_info) != STT_OBJECT)
     {
       char buf[64];
-      ERROR (gettext ("section [%2d] '%s': relocation %zu: copy relocation against symbol of type %s\n"),
+      ERROR (_("section [%2d] '%s': relocation %zu: copy relocation against symbol of type %s\n"),
 	     idx, section_name (ebl, idx), cnt,
 	     ebl_symbol_type_name (ebl, GELF_ST_TYPE (sym->st_info),
 				   buf, sizeof (buf)));
@@ -1461,7 +1465,7 @@
 		  if (textrel)
 		    needed_textrel = true;
 		  else
-		    ERROR (gettext ("section [%2d] '%s': relocation %zu: read-only section modified but text relocation flag not set\n"),
+		    ERROR (_("section [%2d] '%s': relocation %zu: read-only section modified but text relocation flag not set\n"),
 			   idx, section_name (ebl, idx), cnt);
 		}
 
@@ -1476,7 +1480,7 @@
       else if ((*statep == state_unloaded && in_loaded_seg)
 	       || (*statep == state_loaded && !in_loaded_seg))
 	{
-	  ERROR (gettext ("\
+	  ERROR (_("\
 section [%2d] '%s': relocations are against loaded and unloaded data\n"),
 		 idx, section_name (ebl, idx));
 	  *statep = state_error;
@@ -1491,7 +1495,7 @@
   Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
   if (data == NULL)
     {
-      ERROR (gettext ("section [%2d] '%s': cannot get section data\n"),
+      ERROR (_("section [%2d] '%s': cannot get section data\n"),
 	     idx, section_name (ebl, idx));
       return;
     }
@@ -1516,7 +1520,7 @@
       GElf_Rela *rela = gelf_getrela (data, cnt, &rela_mem);
       if (rela == NULL)
 	{
-	  ERROR (gettext ("\
+	  ERROR (_("\
 section [%2d] '%s': cannot get relocation %zu: %s\n"),
 		 idx, section_name (ebl, idx), cnt, elf_errmsg (-1));
 	  continue;
@@ -1542,7 +1546,7 @@
   Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
   if (data == NULL)
     {
-      ERROR (gettext ("section [%2d] '%s': cannot get section data\n"),
+      ERROR (_("section [%2d] '%s': cannot get section data\n"),
 	     idx, section_name (ebl, idx));
       return;
     }
@@ -1567,7 +1571,7 @@
       GElf_Rel *rel = gelf_getrel (data, cnt, &rel_mem);
       if (rel == NULL)
 	{
-	  ERROR (gettext ("\
+	  ERROR (_("\
 section [%2d] '%s': cannot get relocation %zu: %s\n"),
 		 idx, section_name (ebl, idx), cnt, elf_errmsg (-1));
 	  continue;
@@ -1643,25 +1647,25 @@
   memset (has_addr_dt, '\0', sizeof (has_addr_dt));
 
   if (++ndynamic == 2)
-    ERROR (gettext ("more than one dynamic section present\n"));
+    ERROR (_("more than one dynamic section present\n"));
 
   data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
   if (data == NULL)
     {
-      ERROR (gettext ("section [%2d] '%s': cannot get section data\n"),
+      ERROR (_("section [%2d] '%s': cannot get section data\n"),
 	     idx, section_name (ebl, idx));
       return;
     }
 
   strshdr = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), &strshdr_mem);
   if (strshdr != NULL && strshdr->sh_type != SHT_STRTAB)
-    ERROR (gettext ("\
+    ERROR (_("\
 section [%2d] '%s': referenced as string table for section [%2d] '%s' but type is not SHT_STRTAB\n"),
 	   shdr->sh_link, section_name (ebl, shdr->sh_link),
 	   idx, section_name (ebl, idx));
   else if (strshdr == NULL)
     {
-      ERROR (gettext ("\
+      ERROR (_("\
 section [%2d]: referenced as string table for section [%2d] '%s' but section link value is invalid\n"),
 	   shdr->sh_link, idx, section_name (ebl, idx));
       return;
@@ -1669,12 +1673,12 @@
 
   size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_DYN, 1, EV_CURRENT);
   if (shdr->sh_entsize != sh_entsize)
-    ERROR (gettext ("\
+    ERROR (_("\
 section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"),
 	   idx, section_name (ebl, idx));
 
   if (shdr->sh_info != 0)
-    ERROR (gettext ("section [%2d] '%s': sh_info not zero\n"),
+    ERROR (_("section [%2d] '%s': sh_info not zero\n"),
 	   idx, section_name (ebl, idx));
 
   bool non_null_warned = false;
@@ -1684,7 +1688,7 @@
       GElf_Dyn *dyn = gelf_getdyn (data, cnt, &dyn_mem);
       if (dyn == NULL)
 	{
-	  ERROR (gettext ("\
+	  ERROR (_("\
 section [%2d] '%s': cannot get dynamic section entry %zu: %s\n"),
 		 idx, section_name (ebl, idx), cnt, elf_errmsg (-1));
 	  continue;
@@ -1692,14 +1696,14 @@
 
       if (has_dt[DT_NULL] && dyn->d_tag != DT_NULL && ! non_null_warned)
 	{
-	  ERROR (gettext ("\
+	  ERROR (_("\
 section [%2d] '%s': non-DT_NULL entries follow DT_NULL entry\n"),
 		 idx, section_name (ebl, idx));
 	  non_null_warned = true;
 	}
 
       if (!ebl_dynamic_tag_check (ebl, dyn->d_tag))
-	ERROR (gettext ("section [%2d] '%s': entry %zu: unknown tag\n"),
+	ERROR (_("section [%2d] '%s': entry %zu: unknown tag\n"),
 	       idx, section_name (ebl, idx), cnt);
 
       if (dyn->d_tag >= 0 && dyn->d_tag < DT_NUM)
@@ -1710,7 +1714,7 @@
 	      && dyn->d_tag != DT_POSFLAG_1)
 	    {
 	      char buf[50];
-	      ERROR (gettext ("\
+	      ERROR (_("\
 section [%2d] '%s': entry %zu: more than one entry with tag %s\n"),
 		     idx, section_name (ebl, idx), cnt,
 		     ebl_dynamic_tag_name (ebl, dyn->d_tag,
@@ -1720,7 +1724,7 @@
 	  if (be_strict && level2[dyn->d_tag])
 	    {
 	      char buf[50];
-	      ERROR (gettext ("\
+	      ERROR (_("\
 section [%2d] '%s': entry %zu: level 2 tag %s used\n"),
 		     idx, section_name (ebl, idx), cnt,
 		     ebl_dynamic_tag_name (ebl, dyn->d_tag,
@@ -1738,7 +1742,7 @@
 
       if (dyn->d_tag == DT_PLTREL && dyn->d_un.d_val != DT_REL
 	  && dyn->d_un.d_val != DT_RELA)
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n"),
 	       idx, section_name (ebl, idx), cnt);
 
@@ -1751,7 +1755,7 @@
 	     specified in sh_link.  */
 	  if (strshdr->sh_addr != dyn->d_un.d_val)
 	    {
-	      ERROR (gettext ("\
+	      ERROR (_("\
 section [%2d] '%s': entry %zu: pointer does not match address of section [%2d] '%s' referenced by sh_link\n"),
 		     idx, section_name (ebl, idx), cnt,
 		     shdr->sh_link, section_name (ebl, shdr->sh_link));
@@ -1794,7 +1798,7 @@
 	  if (unlikely (n >= phnum))
 	    {
 	      char buf[50];
-	      ERROR (gettext ("\
+	      ERROR (_("\
 section [%2d] '%s': entry %zu: %s value must point into loaded segment\n"),
 		     idx, section_name (ebl, idx), cnt,
 		     ebl_dynamic_tag_name (ebl, dyn->d_tag, buf,
@@ -1809,7 +1813,7 @@
 	  if (dyn->d_un.d_ptr >= strshdr->sh_size)
 	    {
 	      char buf[50];
-	      ERROR (gettext ("\
+	      ERROR (_("\
 section [%2d] '%s': entry %zu: %s value must be valid offset in section [%2d] '%s'\n"),
 		     idx, section_name (ebl, idx), cnt,
 		     ebl_dynamic_tag_name (ebl, dyn->d_tag, buf,
@@ -1829,7 +1833,7 @@
 	      char buf1[50];
 	      char buf2[50];
 
-	      ERROR (gettext ("\
+	      ERROR (_("\
 section [%2d] '%s': contains %s entry but not %s\n"),
 		     idx, section_name (ebl, idx),
 		     ebl_dynamic_tag_name (ebl, cnt, buf1, sizeof (buf1)),
@@ -1841,7 +1845,7 @@
 	if (mandatory[cnt])
 	  {
 	    char buf[50];
-	    ERROR (gettext ("\
+	    ERROR (_("\
 section [%2d] '%s': mandatory tag %s not present\n"),
 		   idx, section_name (ebl, idx),
 		   ebl_dynamic_tag_name (ebl, cnt, buf, sizeof (buf)));
@@ -1850,14 +1854,14 @@
 
   /* Make sure we have an hash table.  */
   if (!has_dt[DT_HASH] && !has_addr_dt[DT_ADDRTAGIDX (DT_GNU_HASH)])
-    ERROR (gettext ("\
+    ERROR (_("\
 section [%2d] '%s': no hash section present\n"),
 	   idx, section_name (ebl, idx));
 
   /* The GNU-style hash table also needs a symbol table.  */
   if (!has_dt[DT_HASH] && has_addr_dt[DT_ADDRTAGIDX (DT_GNU_HASH)]
       && !has_dt[DT_SYMTAB])
-    ERROR (gettext ("\
+    ERROR (_("\
 section [%2d] '%s': contains %s entry but not %s\n"),
 	   idx, section_name (ebl, idx),
 	   "DT_GNU_HASH", "DT_SYMTAB");
@@ -1865,14 +1869,14 @@
   /* Check the rel/rela tags.  At least one group must be available.  */
   if ((has_dt[DT_RELA] || has_dt[DT_RELASZ] || has_dt[DT_RELAENT])
       && (!has_dt[DT_RELA] || !has_dt[DT_RELASZ] || !has_dt[DT_RELAENT]))
-    ERROR (gettext ("\
+    ERROR (_("\
 section [%2d] '%s': not all of %s, %s, and %s are present\n"),
 	   idx, section_name (ebl, idx),
 	   "DT_RELA", "DT_RELASZ", "DT_RELAENT");
 
   if ((has_dt[DT_REL] || has_dt[DT_RELSZ] || has_dt[DT_RELENT])
       && (!has_dt[DT_REL] || !has_dt[DT_RELSZ] || !has_dt[DT_RELENT]))
-    ERROR (gettext ("\
+    ERROR (_("\
 section [%2d] '%s': not all of %s, %s, and %s are present\n"),
 	   idx, section_name (ebl, idx),
 	   "DT_REL", "DT_RELSZ", "DT_RELENT");
@@ -1882,17 +1886,17 @@
       || has_val_dt[DT_VALTAGIDX (DT_CHECKSUM)])
     {
       if (!has_val_dt[DT_VALTAGIDX (DT_GNU_PRELINKED)])
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': %s tag missing in DSO marked during prelinking\n"),
 	       idx, section_name (ebl, idx), "DT_GNU_PRELINKED");
       if (!has_val_dt[DT_VALTAGIDX (DT_CHECKSUM)])
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': %s tag missing in DSO marked during prelinking\n"),
 	       idx, section_name (ebl, idx), "DT_CHECKSUM");
 
       /* Only DSOs can be marked like this.  */
       if (ehdr->e_type != ET_DYN)
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': non-DSO file marked as dependency during prelink\n"),
 	       idx, section_name (ebl, idx));
     }
@@ -1903,19 +1907,19 @@
       || has_addr_dt[DT_ADDRTAGIDX (DT_GNU_LIBLIST)])
     {
       if (!has_val_dt[DT_VALTAGIDX (DT_GNU_CONFLICTSZ)])
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': %s tag missing in prelinked executable\n"),
 	       idx, section_name (ebl, idx), "DT_GNU_CONFLICTSZ");
       if (!has_val_dt[DT_VALTAGIDX (DT_GNU_LIBLISTSZ)])
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': %s tag missing in prelinked executable\n"),
 	       idx, section_name (ebl, idx), "DT_GNU_LIBLISTSZ");
       if (!has_addr_dt[DT_ADDRTAGIDX (DT_GNU_CONFLICT)])
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': %s tag missing in prelinked executable\n"),
 	       idx, section_name (ebl, idx), "DT_GNU_CONFLICT");
       if (!has_addr_dt[DT_ADDRTAGIDX (DT_GNU_LIBLIST)])
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': %s tag missing in prelinked executable\n"),
 	       idx, section_name (ebl, idx), "DT_GNU_LIBLIST");
     }
@@ -1927,7 +1931,7 @@
 {
   if (ehdr->e_type != ET_REL)
     {
-      ERROR (gettext ("\
+      ERROR (_("\
 section [%2d] '%s': only relocatable files can have extended section index\n"),
 	     idx, section_name (ebl, idx));
       return;
@@ -1937,19 +1941,19 @@
   GElf_Shdr symshdr_mem;
   GElf_Shdr *symshdr = gelf_getshdr (symscn, &symshdr_mem);
   if (symshdr != NULL && symshdr->sh_type != SHT_SYMTAB)
-    ERROR (gettext ("\
+    ERROR (_("\
 section [%2d] '%s': extended section index section not for symbol table\n"),
 	   idx, section_name (ebl, idx));
   else if (symshdr == NULL)
-    ERROR (gettext ("\
+    ERROR (_("\
 section [%2d] '%s': sh_link extended section index [%2d] is invalid\n"),
 	   idx, section_name (ebl, idx), shdr->sh_link);
   Elf_Data *symdata = elf_getdata (symscn, NULL);
   if (symdata == NULL)
-    ERROR (gettext ("cannot get data for symbol section\n"));
+    ERROR (_("cannot get data for symbol section\n"));
 
   if (shdr->sh_entsize != sizeof (Elf32_Word))
-    ERROR (gettext ("\
+    ERROR (_("\
 section [%2d] '%s': entry size does not match Elf32_Word\n"),
 	   idx, section_name (ebl, idx));
 
@@ -1958,12 +1962,12 @@
       && symshdr->sh_entsize != 0
       && (shdr->sh_size / shdr->sh_entsize
 	  < symshdr->sh_size / symshdr->sh_entsize))
-    ERROR (gettext ("\
+    ERROR (_("\
 section [%2d] '%s': extended index table too small for symbol table\n"),
 	   idx, section_name (ebl, idx));
 
   if (shdr->sh_info != 0)
-    ERROR (gettext ("section [%2d] '%s': sh_info not zero\n"),
+    ERROR (_("section [%2d] '%s': sh_info not zero\n"),
 	   idx, section_name (ebl, idx));
 
   for (size_t cnt = idx + 1; cnt < shnum; ++cnt)
@@ -1973,7 +1977,7 @@
       if (rshdr != NULL && rshdr->sh_type == SHT_SYMTAB_SHNDX
 	  && rshdr->sh_link == shdr->sh_link)
 	{
-	  ERROR (gettext ("\
+	  ERROR (_("\
 section [%2d] '%s': extended section index in section [%2zu] '%s' refers to same symbol table\n"),
 		 idx, section_name (ebl, idx),
 		 cnt, section_name (ebl, cnt));
@@ -1984,14 +1988,14 @@
   Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
   if (data == NULL || data->d_buf == NULL)
     {
-      ERROR (gettext ("section [%2d] '%s': cannot get section data\n"),
+      ERROR (_("section [%2d] '%s': cannot get section data\n"),
 	     idx, section_name (ebl, idx));
       return;
     }
 
   if (data->d_size < sizeof (Elf32_Word)
       || *((Elf32_Word *) data->d_buf) != 0)
-    ERROR (gettext ("symbol 0 should have zero extended section index\n"));
+    ERROR (_("symbol 0 should have zero extended section index\n"));
 
   for (size_t cnt = 1; cnt < data->d_size / sizeof (Elf32_Word); ++cnt)
     {
@@ -2003,12 +2007,12 @@
 	  GElf_Sym *sym = gelf_getsym (symdata, cnt, &sym_data);
 	  if (sym == NULL)
 	    {
-	      ERROR (gettext ("cannot get data for symbol %zu\n"), cnt);
+	      ERROR (_("cannot get data for symbol %zu\n"), cnt);
 	      continue;
 	    }
 
 	  if (sym->st_shndx != SHN_XINDEX)
-	    ERROR (gettext ("\
+	    ERROR (_("\
 extended section index is %" PRIu32 " but symbol index is not XINDEX\n"),
 		   (uint32_t) xndx);
 	}
@@ -2025,7 +2029,7 @@
 
   if (shdr->sh_size < (2ULL + nbucket + nchain) * sizeof (Elf32_Word))
     {
-      ERROR (gettext ("\
+      ERROR (_("\
 section [%2d] '%s': hash table section is too small (is %ld, expected %ld)\n"),
 	     idx, section_name (ebl, idx), (long int) shdr->sh_size,
 	     (long int) ((2 + nbucket + nchain) * sizeof (Elf32_Word)));
@@ -2039,7 +2043,7 @@
       size_t symsize = symshdr->sh_size / symshdr->sh_entsize;
 
       if (nchain > symshdr->sh_size / symshdr->sh_entsize)
-	ERROR (gettext ("section [%2d] '%s': chain array too large\n"),
+	ERROR (_("section [%2d] '%s': chain array too large\n"),
 	       idx, section_name (ebl, idx));
 
       maxidx = symsize;
@@ -2053,7 +2057,7 @@
       if (buf + cnt >= end)
 	break;
       else if (buf[cnt] >= maxidx)
-      ERROR (gettext ("\
+      ERROR (_("\
 section [%2d] '%s': hash bucket reference %zu out of bounds\n"),
 	     idx, section_name (ebl, idx), cnt - 2);
     }
@@ -2063,7 +2067,7 @@
       if (buf + cnt >= end)
 	break;
       else if (buf[cnt] >= maxidx)
-      ERROR (gettext ("\
+      ERROR (_("\
 section [%2d] '%s': hash chain reference %zu out of bounds\n"),
 	     idx, section_name (ebl, idx), cnt - 2 - nbucket);
     }
@@ -2082,7 +2086,7 @@
       || maxwords - 2 < nbucket
       || maxwords - 2 - nbucket < nchain)
     {
-      ERROR (gettext ("\
+      ERROR (_("\
 section [%2d] '%s': hash table section is too small (is %ld, expected %ld)\n"),
 	     idx, section_name (ebl, idx), (long int) shdr->sh_size,
 	     (long int) ((2 + nbucket + nchain) * sizeof (Elf64_Xword)));
@@ -2096,7 +2100,7 @@
       size_t symsize = symshdr->sh_size / symshdr->sh_entsize;
 
       if (nchain > symshdr->sh_size / symshdr->sh_entsize)
-	ERROR (gettext ("section [%2d] '%s': chain array too large\n"),
+	ERROR (_("section [%2d] '%s': chain array too large\n"),
 	       idx, section_name (ebl, idx));
 
       maxidx = symsize;
@@ -2110,7 +2114,7 @@
       if (buf + cnt >= end)
 	break;
       else if (buf[cnt] >= maxidx)
-      ERROR (gettext ("\
+      ERROR (_("\
 section [%2d] '%s': hash bucket reference %zu out of bounds\n"),
 	     idx, section_name (ebl, idx), cnt - 2);
     }
@@ -2120,7 +2124,7 @@
       if (buf + cnt >= end)
 	break;
       else if (buf[cnt] >= maxidx)
-      ERROR (gettext ("\
+      ERROR (_("\
 section [%2d] '%s': hash chain reference %" PRIu64 " out of bounds\n"),
 	       idx, section_name (ebl, idx), (uint64_t) cnt - 2 - nbucket);
     }
@@ -2133,7 +2137,7 @@
 {
   if (data->d_size < 4 * sizeof (Elf32_Word))
     {
-      ERROR (gettext ("\
+      ERROR (_("\
 section [%2d] '%s': not enough data\n"),
 	     idx, section_name (ebl, idx));
       return;
@@ -2145,7 +2149,7 @@
 
   if (bitmask_words == 0 || !powerof2 (bitmask_words))
     {
-      ERROR (gettext ("\
+      ERROR (_("\
 section [%2d] '%s': bitmask size zero or not power of 2: %u\n"),
 	     idx, section_name (ebl, idx), bitmask_words);
       return;
@@ -2157,11 +2161,11 @@
   Elf32_Word shift = ((Elf32_Word *) data->d_buf)[3];
 
   /* Is there still room for the sym chain?
-     Use uint64_t calculation to prevent 32bit overlow.  */
+     Use uint64_t calculation to prevent 32bit overflow.  */
   uint64_t used_buf = (4ULL + bitmask_words + nbuckets) * sizeof (Elf32_Word);
   if (used_buf > data->d_size)
     {
-      ERROR (gettext ("\
+      ERROR (_("\
 section [%2d] '%s': hash table section is too small (is %ld, expected at least %ld)\n"),
 	     idx, section_name (ebl, idx), (long int) shdr->sh_size,
 	     (long int) used_buf);
@@ -2170,7 +2174,7 @@
 
   if (shift > 31)
     {
-      ERROR (gettext ("\
+      ERROR (_("\
 section [%2d] '%s': 2nd hash function shift too big: %u\n"),
 	     idx, section_name (ebl, idx), shift);
       return;
@@ -2204,7 +2208,7 @@
 
       if (symidx < symbias)
 	{
-	  ERROR (gettext ("\
+	  ERROR (_("\
 section [%2d] '%s': hash chain for bucket %zu lower than symbol index bias\n"),
 		 idx, section_name (ebl, idx), cnt - (4 + bitmask_words));
 	  continue;
@@ -2225,7 +2229,7 @@
 	      GElf_Sym *sym = gelf_getsym (symdata, symidx, &sym_mem);
 	      if (sym != NULL && sym->st_shndx == SHN_UNDEF
 		  && GELF_ST_TYPE (sym->st_info) != STT_FUNC)
-		ERROR (gettext ("\
+		ERROR (_("\
 section [%2d] '%s': symbol %u referenced in chain for bucket %zu is undefined\n"),
 		       idx, section_name (ebl, idx), symidx,
 		       cnt - (4 + bitmask_words));
@@ -2238,7 +2242,7 @@
 		{
 		  Elf32_Word hval = elf_gnu_hash (symname);
 		  if ((hval & ~1u) != (chainhash & ~1u))
-		    ERROR (gettext ("\
+		    ERROR (_("\
 section [%2d] '%s': hash value for symbol %u in chain for bucket %zu wrong\n"),
 			   idx, section_name (ebl, idx), symidx,
 			   cnt - (4 + bitmask_words));
@@ -2247,7 +2251,7 @@
 		  size_t maskidx = (hval / classbits) & bitmask_idxmask;
 		  if (maskidx >= bitmask_words)
 		    {
-		      ERROR (gettext ("\
+		      ERROR (_("\
 section [%2d] '%s': mask index for symbol %u in chain for bucket %zu wrong\n"),
 			     idx, section_name (ebl, idx), symidx,
 			     cnt - (4 + bitmask_words));
@@ -2277,18 +2281,18 @@
 	}
 
       if (symidx - symbias >= maxidx)
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': hash chain for bucket %zu out of bounds\n"),
 	       idx, section_name (ebl, idx), cnt - (4 + bitmask_words));
       else if (symshdr != NULL && symshdr->sh_entsize != 0
 	       && symidx > symshdr->sh_size / symshdr->sh_entsize)
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': symbol reference in chain for bucket %zu out of bounds\n"),
 	       idx, section_name (ebl, idx), cnt - (4 + bitmask_words));
     }
 
   if (memcmp (collected.p32, bitmask.p32, bitmask_words * sizeof (Elf32_Word)))
-    ERROR (gettext ("\
+    ERROR (_("\
 section [%2d] '%s': bitmask does not match names in the hash table\n"),
 	   idx, section_name (ebl, idx));
 
@@ -2301,7 +2305,7 @@
 {
   if (ehdr->e_type == ET_REL)
     {
-      ERROR (gettext ("\
+      ERROR (_("\
 section [%2d] '%s': relocatable files cannot have hash tables\n"),
 	     idx, section_name (ebl, idx));
       return;
@@ -2310,7 +2314,7 @@
   Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
   if (data == NULL || data->d_buf == NULL)
     {
-      ERROR (gettext ("section [%2d] '%s': cannot get section data\n"),
+      ERROR (_("section [%2d] '%s': cannot get section data\n"),
 	     idx, section_name (ebl, idx));
       return;
     }
@@ -2319,11 +2323,11 @@
   GElf_Shdr *symshdr = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
 				     &symshdr_mem);
   if (symshdr != NULL && symshdr->sh_type != SHT_DYNSYM)
-    ERROR (gettext ("\
+    ERROR (_("\
 section [%2d] '%s': hash table not for dynamic symbol table\n"),
 	   idx, section_name (ebl, idx));
   else if (symshdr == NULL)
-    ERROR (gettext ("\
+    ERROR (_("\
 section [%2d] '%s': invalid sh_link symbol table section index [%2d]\n"),
 	   idx, section_name (ebl, idx), shdr->sh_link);
 
@@ -2333,17 +2337,17 @@
 			   : (size_t) ebl_sysvhash_entrysize (ebl));
 
   if (shdr->sh_entsize != expect_entsize)
-    ERROR (gettext ("\
+    ERROR (_("\
 section [%2d] '%s': hash table entry size incorrect\n"),
 	   idx, section_name (ebl, idx));
 
   if ((shdr->sh_flags & SHF_ALLOC) == 0)
-    ERROR (gettext ("section [%2d] '%s': not marked to be allocated\n"),
+    ERROR (_("section [%2d] '%s': not marked to be allocated\n"),
 	   idx, section_name (ebl, idx));
 
   if (shdr->sh_size < (tag == SHT_GNU_HASH ? 4 : 2) * (expect_entsize ?: 4))
     {
-      ERROR (gettext ("\
+      ERROR (_("\
 section [%2d] '%s': hash table has not even room for initial administrative entries\n"),
 	     idx, section_name (ebl, idx));
       return;
@@ -2392,7 +2396,7 @@
   /* The link must point to the same symbol table.  */
   if (hash_shdr->sh_link != gnu_hash_shdr->sh_link)
     {
-      ERROR (gettext ("\
+      ERROR (_("\
 sh_link in hash sections [%2zu] '%s' and [%2zu] '%s' not identical\n"),
 	     hash_idx, elf_strptr (ebl->elf, shstrndx, hash_shdr->sh_name),
 	     gnu_hash_idx,
@@ -2416,7 +2420,7 @@
 
   if (gnu_hash_data->d_size < 4 * sizeof (Elf32_Word))
     {
-      ERROR (gettext ("\
+      ERROR (_("\
 hash section [%2zu] '%s' does not contain enough data\n"),
 	     gnu_hash_idx, gnu_hash_name);
       return;
@@ -2437,7 +2441,7 @@
 
   if (gnu_hasharr[2] == 0)
     {
-      ERROR (gettext ("\
+      ERROR (_("\
 hash section [%2zu] '%s' has zero bit mask words\n"),
 	     gnu_hash_idx, gnu_hash_name);
       return;
@@ -2448,7 +2452,7 @@
   uint32_t max_nsyms = (gnu_hash_data->d_size - used_buf) / sizeof (Elf32_Word);
   if (used_buf > gnu_hash_data->d_size)
     {
-      ERROR (gettext ("\
+      ERROR (_("\
 hash section [%2zu] '%s' uses too much data\n"),
 	     gnu_hash_idx, gnu_hash_name);
       return;
@@ -2463,7 +2467,7 @@
 	    {
 	      if (symidx >= max_nsyms || symidx + gnu_symbias >= nentries)
 		{
-		  ERROR (gettext ("\
+		  ERROR (_("\
 hash section [%2zu] '%s' invalid symbol index %" PRIu32 " (max_nsyms: %" PRIu32 ", nentries: %" PRIu32 "\n"),
 			 gnu_hash_idx, gnu_hash_name, symidx, max_nsyms, nentries);
 		  return;
@@ -2481,7 +2485,7 @@
       const Elf32_Word *hasharr = (Elf32_Word *) hash_data->d_buf;
       if (hash_data->d_size < 2 * sizeof (Elf32_Word))
 	{
-	  ERROR (gettext ("\
+	  ERROR (_("\
 hash section [%2zu] '%s' does not contain enough data\n"),
 		 hash_idx, hash_name);
 	  return;
@@ -2492,7 +2496,7 @@
       uint64_t hash_used = (2ULL + nchain + nbucket) * sizeof (Elf32_Word);
       if (hash_used > hash_data->d_size)
 	{
-	  ERROR (gettext ("\
+	  ERROR (_("\
 hash section [%2zu] '%s' uses too much data\n"),
 		 hash_idx, hash_name);
 	  return;
@@ -2516,7 +2520,7 @@
       const Elf64_Xword *hasharr = (Elf64_Xword *) hash_data->d_buf;
       if (hash_data->d_size < 2 * sizeof (Elf32_Word))
 	{
-	  ERROR (gettext ("\
+	  ERROR (_("\
 hash section [%2zu] '%s' does not contain enough data\n"),
 		 hash_idx, hash_name);
 	  return;
@@ -2529,7 +2533,7 @@
 	  || maxwords - 2 < nbucket
 	  || maxwords - 2 - nbucket < nchain)
 	{
-	  ERROR (gettext ("\
+	  ERROR (_("\
 hash section [%2zu] '%s' uses too much data\n"),
 		 hash_idx, hash_name);
 	  return;
@@ -2550,7 +2554,7 @@
     }
   else
     {
-      ERROR (gettext ("\
+      ERROR (_("\
 hash section [%2zu] '%s' invalid sh_entsize\n"),
 	     hash_idx, hash_name);
       return;
@@ -2560,18 +2564,18 @@
      (unless the symbol is undefined in which case it can be omitted
      in the new table format).  */
   if ((used[0] & 1) != 0)
-    ERROR (gettext ("section [%2zu] '%s': reference to symbol index 0\n"),
+    ERROR (_("section [%2zu] '%s': reference to symbol index 0\n"),
 	   gnu_hash_idx,
 	   elf_strptr (ebl->elf, shstrndx, gnu_hash_shdr->sh_name));
   if ((used[0] & 2) != 0)
-    ERROR (gettext ("section [%2zu] '%s': reference to symbol index 0\n"),
+    ERROR (_("section [%2zu] '%s': reference to symbol index 0\n"),
 	   hash_idx, elf_strptr (ebl->elf, shstrndx, hash_shdr->sh_name));
 
   for (uint32_t cnt = 1; cnt < nentries; ++cnt)
     if (used[cnt] != 0 && used[cnt] != 3)
       {
 	if (used[cnt] == 1)
-	  ERROR (gettext ("\
+	  ERROR (_("\
 symbol %d referenced in new hash table in [%2zu] '%s' but not in old hash table in [%2zu] '%s'\n"),
 		 cnt, gnu_hash_idx,
 		 elf_strptr (ebl->elf, shstrndx, gnu_hash_shdr->sh_name),
@@ -2583,7 +2587,7 @@
 	    GElf_Sym *sym = gelf_getsym (sym_data, cnt, &sym_mem);
 
 	    if (sym != NULL && sym->st_shndx != STN_UNDEF)
-	      ERROR (gettext ("\
+	      ERROR (_("\
 symbol %d referenced in old hash table in [%2zu] '%s' but not in new hash table in [%2zu] '%s'\n"),
 		     cnt, hash_idx,
 		     elf_strptr (ebl->elf, shstrndx, hash_shdr->sh_name),
@@ -2599,7 +2603,7 @@
 {
 #define TEST(name, extra) \
   if (extra && shdr->sh_##name != 0)					      \
-    ERROR (gettext ("section [%2d] '%s': nonzero sh_%s for NULL section\n"),  \
+    ERROR (_("section [%2d] '%s': nonzero sh_%s for NULL section\n"),  \
 	   idx, section_name (ebl, idx), #name)
 
   TEST (name, 1);
@@ -2619,7 +2623,7 @@
 {
   if (ehdr->e_type != ET_REL)
     {
-      ERROR (gettext ("\
+      ERROR (_("\
 section [%2d] '%s': section groups only allowed in relocatable object files\n"),
 	     idx, section_name (ebl, idx));
       return;
@@ -2630,51 +2634,51 @@
   GElf_Shdr symshdr_mem;
   GElf_Shdr *symshdr = gelf_getshdr (symscn, &symshdr_mem);
   if (symshdr == NULL)
-    ERROR (gettext ("section [%2d] '%s': cannot get symbol table: %s\n"),
+    ERROR (_("section [%2d] '%s': cannot get symbol table: %s\n"),
 	   idx, section_name (ebl, idx), elf_errmsg (-1));
   else
     {
       if (symshdr->sh_type != SHT_SYMTAB)
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': section reference in sh_link is no symbol table\n"),
 	       idx, section_name (ebl, idx));
 
       if (shdr->sh_info >= symshdr->sh_size / gelf_fsize (ebl->elf, ELF_T_SYM,
 							  1, EV_CURRENT))
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': invalid symbol index in sh_info\n"),
 	       idx, section_name (ebl, idx));
 
       if (shdr->sh_flags != 0)
-	ERROR (gettext ("section [%2d] '%s': sh_flags not zero\n"),
+	ERROR (_("section [%2d] '%s': sh_flags not zero\n"),
 	       idx, section_name (ebl, idx));
 
       GElf_Sym sym_data;
       GElf_Sym *sym = gelf_getsym (elf_getdata (symscn, NULL), shdr->sh_info,
 				   &sym_data);
       if (sym == NULL)
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': cannot get symbol for signature\n"),
 	       idx, section_name (ebl, idx));
       else if (elf_strptr (ebl->elf, symshdr->sh_link, sym->st_name) == NULL)
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': cannot get symbol name for signature\n"),
 	       idx, section_name (ebl, idx));
       else if (strcmp (elf_strptr (ebl->elf, symshdr->sh_link, sym->st_name),
 		       "") == 0)
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': signature symbol cannot be empty string\n"),
 	       idx, section_name (ebl, idx));
 
       if (be_strict
 	  && shdr->sh_entsize != elf32_fsize (ELF_T_WORD, 1, EV_CURRENT))
-	ERROR (gettext ("section [%2d] '%s': sh_flags not set correctly\n"),
+	ERROR (_("section [%2d] '%s': sh_flags not set correctly\n"),
 	       idx, section_name (ebl, idx));
     }
 
   Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
   if (data == NULL || data->d_buf == NULL)
-    ERROR (gettext ("section [%2d] '%s': cannot get data: %s\n"),
+    ERROR (_("section [%2d] '%s': cannot get data: %s\n"),
 	   idx, section_name (ebl, idx), elf_errmsg (-1));
   else
     {
@@ -2683,13 +2687,13 @@
       Elf32_Word val;
 
       if (data->d_size % elsize != 0)
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': section size not multiple of sizeof(Elf32_Word)\n"),
 	       idx, section_name (ebl, idx));
 
       if (data->d_size < elsize)
 	{
-	  ERROR (gettext ("\
+	  ERROR (_("\
 section [%2d] '%s': section group without flags word\n"),
 	       idx, section_name (ebl, idx));
 	  return;
@@ -2697,11 +2701,11 @@
       else if (be_strict)
 	{
 	  if (data->d_size < 2 * elsize)
-	    ERROR (gettext ("\
+	    ERROR (_("\
 section [%2d] '%s': section group without member\n"),
 		   idx, section_name (ebl, idx));
 	  else if (data->d_size < 3 * elsize)
-	    ERROR (gettext ("\
+	    ERROR (_("\
 section [%2d] '%s': section group with only one member\n"),
 		   idx, section_name (ebl, idx));
 	}
@@ -2712,7 +2716,7 @@
       memcpy (&val, data->d_buf, elsize);
 #endif
       if ((val & ~GRP_COMDAT) != 0)
-	ERROR (gettext ("section [%2d] '%s': unknown section group flags\n"),
+	ERROR (_("section [%2d] '%s': unknown section group flags\n"),
 	       idx, section_name (ebl, idx));
 
       for (cnt = elsize; cnt + elsize <= data->d_size; cnt += elsize)
@@ -2724,7 +2728,7 @@
 #endif
 
 	  if (val > shnum)
-	    ERROR (gettext ("\
+	    ERROR (_("\
 section [%2d] '%s': section index %zu out of range\n"),
 		   idx, section_name (ebl, idx), cnt / elsize);
 	  else
@@ -2733,27 +2737,27 @@
 	      GElf_Shdr *refshdr = gelf_getshdr (elf_getscn (ebl->elf, val),
 						 &refshdr_mem);
 	      if (refshdr == NULL)
-		ERROR (gettext ("\
+		ERROR (_("\
 section [%2d] '%s': cannot get section header for element %zu: %s\n"),
 		       idx, section_name (ebl, idx), cnt / elsize,
 		       elf_errmsg (-1));
 	      else
 		{
 		  if (refshdr->sh_type == SHT_GROUP)
-		    ERROR (gettext ("\
+		    ERROR (_("\
 section [%2d] '%s': section group contains another group [%2d] '%s'\n"),
 			   idx, section_name (ebl, idx),
 			   val, section_name (ebl, val));
 
 		  if ((refshdr->sh_flags & SHF_GROUP) == 0)
-		    ERROR (gettext ("\
+		    ERROR (_("\
 section [%2d] '%s': element %zu references section [%2d] '%s' without SHF_GROUP flag set\n"),
 			   idx, section_name (ebl, idx), cnt / elsize,
 			   val, section_name (ebl, val));
 		}
 
 	      if (val < shnum && ++scnref[val] == 2)
-		ERROR (gettext ("\
+		ERROR (_("\
 section [%2d] '%s' is contained in more than one section group\n"),
 		       val, section_name (ebl, val));
 	    }
@@ -2785,7 +2789,10 @@
       NEWFLAG (OS_NONCONFORMING),
       NEWFLAG (GROUP),
       NEWFLAG (TLS),
-      NEWFLAG (COMPRESSED)
+      NEWFLAG (COMPRESSED),
+      NEWFLAG (GNU_RETAIN),
+      NEWFLAG (ORDERED),
+      NEWFLAG (EXCLUDE)
     };
 #undef NEWFLAG
   const size_t nknown_flags = sizeof (known_flags) / sizeof (known_flags[0]);
@@ -2809,8 +2816,12 @@
       }
 
   if (flags != 0 || cp == buf)
-    snprintf (cp, len - 1, "%" PRIx64, (uint64_t) flags);
-
+    {
+      int r = snprintf (cp, len - 1, "%s%" PRIx64,
+			(cp == buf) ? "" : "|", (uint64_t) flags);
+      if (r > 0)
+	cp += r;
+    }
   *cp = '\0';
 
   return buf;
@@ -2929,7 +2940,7 @@
   Elf_Data *data = elf_getdata (scn, NULL);
   if (data == NULL)
     {
-      ERROR (gettext ("section [%2d] '%s': cannot get section data\n"),
+      ERROR (_("section [%2d] '%s': cannot get section data\n"),
 	     idx, section_name (ebl, idx));
       return;
     }
@@ -2943,7 +2954,7 @@
 
   if (symshdr->sh_type != SHT_DYNSYM)
     {
-      ERROR (gettext ("\
+      ERROR (_("\
 section [%2d] '%s' refers in sh_link to section [%2d] '%s' which is no dynamic symbol table\n"),
 	     idx, section_name (ebl, idx),
 	     shdr->sh_link, section_name (ebl, shdr->sh_link));
@@ -2955,7 +2966,7 @@
   if (shdr->sh_entsize != 0 && symshdr->sh_entsize != 0
       && (shdr->sh_size / shdr->sh_entsize
 	  != symshdr->sh_size / symshdr->sh_entsize))
-    ERROR (gettext ("\
+    ERROR (_("\
 section [%2d] '%s' has different number of entries than symbol table [%2d] '%s'\n"),
 	   idx, section_name (ebl, idx),
 	   shdr->sh_link, section_name (ebl, shdr->sh_link));
@@ -2971,7 +2982,7 @@
       GElf_Versym *versym = gelf_getversym (data, cnt, &versym_mem);
       if (versym == NULL)
 	{
-	  ERROR (gettext ("\
+	  ERROR (_("\
 section [%2d] '%s': symbol %d: cannot read version data\n"),
 		 idx, section_name (ebl, idx), cnt);
 	  break;
@@ -2987,7 +2998,7 @@
 	{
 	  /* Global symbol.  Make sure it is not defined as local.  */
 	  if (GELF_ST_BIND (sym->st_info) == STB_LOCAL)
-	    ERROR (gettext ("\
+	    ERROR (_("\
 section [%2d] '%s': symbol %d: local symbol with global scope\n"),
 		   idx, section_name (ebl, idx), cnt);
 	}
@@ -2995,7 +3006,7 @@
 	{
 	  /* Versioned symbol.  Make sure it is not defined as local.  */
 	  if (!gnuld && GELF_ST_BIND (sym->st_info) == STB_LOCAL)
-	    ERROR (gettext ("\
+	    ERROR (_("\
 section [%2d] '%s': symbol %d: local symbol with version\n"),
 		   idx, section_name (ebl, idx), cnt);
 
@@ -3009,12 +3020,12 @@
 	      runp = runp->next;
 
 	  if (runp == NULL)
-	    ERROR (gettext ("\
+	    ERROR (_("\
 section [%2d] '%s': symbol %d: invalid version index %d\n"),
 		   idx, section_name (ebl, idx), cnt, (int) *versym);
 	  else if (sym->st_shndx == SHN_UNDEF
 		   && runp->type == ver_def)
-	    ERROR (gettext ("\
+	    ERROR (_("\
 section [%2d] '%s': symbol %d: version index %d is for defined version\n"),
 		   idx, section_name (ebl, idx), cnt, (int) *versym);
 	  else if (sym->st_shndx != SHN_UNDEF
@@ -3024,7 +3035,7 @@
 		 this must not happen.  */
 	      if (!has_copy_reloc (ebl, shdr->sh_link, cnt)
 		  && !in_nobits_scn (ebl, sym->st_shndx))
-		ERROR (gettext ("\
+		ERROR (_("\
 section [%2d] '%s': symbol %d: version index %d is for requested version\n"),
 		       idx, section_name (ebl, idx), cnt, (int) *versym);
 	    }
@@ -3077,7 +3088,7 @@
 check_verneed (Ebl *ebl, GElf_Shdr *shdr, int idx)
 {
   if (++nverneed == 2)
-    ERROR (gettext ("more than one version reference section present\n"));
+    ERROR (_("more than one version reference section present\n"));
 
   GElf_Shdr strshdr_mem;
   GElf_Shdr *strshdr = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
@@ -3085,14 +3096,14 @@
   if (strshdr == NULL)
     return;
   if (strshdr->sh_type != SHT_STRTAB)
-    ERROR (gettext ("\
+    ERROR (_("\
 section [%2d] '%s': sh_link does not link to string table\n"),
 	   idx, section_name (ebl, idx));
 
   Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
   if (data == NULL)
     {
-      ERROR (gettext ("section [%2d] '%s': cannot get section data\n"),
+      ERROR (_("section [%2d] '%s': cannot get section data\n"),
 	     idx, section_name (ebl, idx));
       return;
     }
@@ -3110,14 +3121,14 @@
       unsigned int auxoffset = offset + need->vn_aux;
 
       if (need->vn_version != EV_CURRENT)
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': entry %d has wrong version %d\n"),
 	       idx, section_name (ebl, idx), cnt, (int) need->vn_version);
 
       if (need->vn_cnt > 0 && need->vn_aux < gelf_fsize (ebl->elf, ELF_T_VNEED,
 							 1, EV_CURRENT))
 	{
-	  ERROR (gettext ("\
+	  ERROR (_("\
 section [%2d] '%s': entry %d has wrong offset of auxiliary data\n"),
 	         idx, section_name (ebl, idx), cnt);
 	  break;
@@ -3127,7 +3138,7 @@
 					need->vn_file);
       if (libname == NULL)
 	{
-	  ERROR (gettext ("\
+	  ERROR (_("\
 section [%2d] '%s': entry %d has invalid file reference\n"),
 		 idx, section_name (ebl, idx), cnt);
 	  goto next_need;
@@ -3135,7 +3146,7 @@
 
       /* Check that there is a DT_NEEDED entry for the referenced library.  */
       if (unknown_dependency_p (ebl->elf, libname))
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': entry %d references unknown dependency\n"),
 	       idx, section_name (ebl, idx), cnt);
 
@@ -3147,7 +3158,7 @@
 	    break;
 
 	  if ((aux->vna_flags & ~VER_FLG_WEAK) != 0)
-	    ERROR (gettext ("\
+	    ERROR (_("\
 section [%2d] '%s': auxiliary entry %d of entry %d has unknown flag\n"),
 		   idx, section_name (ebl, idx), need->vn_cnt - cnt2, cnt);
 
@@ -3155,7 +3166,7 @@
 					   aux->vna_name);
 	  if (verstr == NULL)
 	    {
-	      ERROR (gettext ("\
+	      ERROR (_("\
 section [%2d] '%s': auxiliary entry %d of entry %d has invalid name reference\n"),
 		     idx, section_name (ebl, idx), need->vn_cnt - cnt2, cnt);
 	      break;
@@ -3164,7 +3175,7 @@
 	    {
 	      GElf_Word hashval = elf_hash (verstr);
 	      if (hashval != aux->vna_hash)
-		ERROR (gettext ("\
+		ERROR (_("\
 section [%2d] '%s': auxiliary entry %d of entry %d has wrong hash value: %#x, expected %#x\n"),
 		       idx, section_name (ebl, idx), need->vn_cnt - cnt2,
 		       cnt, (int) hashval, (int) aux->vna_hash);
@@ -3173,7 +3184,7 @@
 				     ver_need);
 	      if (unlikely (res !=0))
 		{
-		  ERROR (gettext ("\
+		  ERROR (_("\
 section [%2d] '%s': auxiliary entry %d of entry %d has duplicate version name '%s'\n"),
 			 idx, section_name (ebl, idx), need->vn_cnt - cnt2,
 			 cnt, verstr);
@@ -3184,7 +3195,7 @@
 	      && aux->vna_next < gelf_fsize (ebl->elf, ELF_T_VNAUX, 1,
 					     EV_CURRENT))
 	    {
-	      ERROR (gettext ("\
+	      ERROR (_("\
 section [%2d] '%s': auxiliary entry %d of entry %d has wrong next field\n"),
 		     idx, section_name (ebl, idx), need->vn_cnt - cnt2, cnt);
 	      break;
@@ -3201,7 +3212,7 @@
       if ((need->vn_next != 0 || cnt > 0)
 	  && offset < auxoffset)
 	{
-	  ERROR (gettext ("\
+	  ERROR (_("\
 section [%2d] '%s': entry %d has invalid offset to next entry\n"),
 	         idx, section_name (ebl, idx), cnt);
 	  break;
@@ -3209,7 +3220,7 @@
 
       if (need->vn_next == 0 && cnt > 0)
 	{
-	  ERROR (gettext ("\
+	  ERROR (_("\
 section [%2d] '%s': entry %d has zero offset to next entry, but sh_info says there are more entries\n"),
 	         idx, section_name (ebl, idx), cnt);
 	  break;
@@ -3224,7 +3235,7 @@
 check_verdef (Ebl *ebl, GElf_Shdr *shdr, int idx)
 {
   if (++nverdef == 2)
-    ERROR (gettext ("more than one version definition section present\n"));
+    ERROR (_("more than one version definition section present\n"));
 
   GElf_Shdr strshdr_mem;
   GElf_Shdr *strshdr = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
@@ -3232,7 +3243,7 @@
   if (strshdr == NULL)
     return;
   if (strshdr->sh_type != SHT_STRTAB)
-    ERROR (gettext ("\
+    ERROR (_("\
 section [%2d] '%s': sh_link does not link to string table\n"),
 	   idx, section_name (ebl, idx));
 
@@ -3240,7 +3251,7 @@
   if (data == NULL)
     {
     no_data:
-      ERROR (gettext ("section [%2d] '%s': cannot get section data\n"),
+      ERROR (_("section [%2d] '%s': cannot get section data\n"),
 	     idx, section_name (ebl, idx));
       return;
     }
@@ -3271,29 +3282,29 @@
       if ((def->vd_flags & VER_FLG_BASE) != 0)
 	{
 	  if (has_base)
-	    ERROR (gettext ("\
+	    ERROR (_("\
 section [%2d] '%s': more than one BASE definition\n"),
 		   idx, section_name (ebl, idx));
 	  if (def->vd_ndx != VER_NDX_GLOBAL)
-	    ERROR (gettext ("\
+	    ERROR (_("\
 section [%2d] '%s': BASE definition must have index VER_NDX_GLOBAL\n"),
 		   idx, section_name (ebl, idx));
 	  has_base = true;
 	}
       if ((def->vd_flags & ~(VER_FLG_BASE|VER_FLG_WEAK)) != 0)
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': entry %d has unknown flag\n"),
 	       idx, section_name (ebl, idx), cnt);
 
       if (def->vd_version != EV_CURRENT)
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': entry %d has wrong version %d\n"),
 	       idx, section_name (ebl, idx), cnt, (int) def->vd_version);
 
       if (def->vd_cnt > 0 && def->vd_aux < gelf_fsize (ebl->elf, ELF_T_VDEF,
 						       1, EV_CURRENT))
 	{
-	  ERROR (gettext ("\
+	  ERROR (_("\
 section [%2d] '%s': entry %d has wrong offset of auxiliary data\n"),
 	         idx, section_name (ebl, idx), cnt);
 	  break;
@@ -3308,14 +3319,14 @@
       const char *name = elf_strptr (ebl->elf, shdr->sh_link, aux->vda_name);
       if (name == NULL)
 	{
-	  ERROR (gettext ("\
+	  ERROR (_("\
 section [%2d] '%s': entry %d has invalid name reference\n"),
 		 idx, section_name (ebl, idx), cnt);
 	  goto next_def;
 	}
       GElf_Word hashval = elf_hash (name);
       if (def->vd_hash != hashval)
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': entry %d has wrong hash value: %#x, expected %#x\n"),
 	       idx, section_name (ebl, idx), cnt, (int) hashval,
 	       (int) def->vd_hash);
@@ -3323,7 +3334,7 @@
       int res = add_version (NULL, name, def->vd_ndx, ver_def);
       if (unlikely (res !=0))
 	{
-	  ERROR (gettext ("\
+	  ERROR (_("\
 section [%2d] '%s': entry %d has duplicate version name '%s'\n"),
 		 idx, section_name (ebl, idx), cnt, name);
 	}
@@ -3343,7 +3354,7 @@
 	  name = elf_strptr (ebl->elf, shdr->sh_link, aux->vda_name);
 	  if (name == NULL)
 	    {
-	      ERROR (gettext ("\
+	      ERROR (_("\
 section [%2d] '%s': entry %d has invalid name reference in auxiliary data\n"),
 		     idx, section_name (ebl, idx), cnt);
 	      break;
@@ -3360,7 +3371,7 @@
 	      && aux->vda_next < gelf_fsize (ebl->elf, ELF_T_VDAUX, 1,
 					     EV_CURRENT))
 	    {
-	      ERROR (gettext ("\
+	      ERROR (_("\
 section [%2d] '%s': entry %d has wrong next field in auxiliary data\n"),
 		     idx, section_name (ebl, idx), cnt);
 	      break;
@@ -3377,7 +3388,7 @@
       if ((def->vd_next != 0 || cnt > 0)
 	  && offset < auxoffset)
 	{
-	  ERROR (gettext ("\
+	  ERROR (_("\
 section [%2d] '%s': entry %d has invalid offset to next entry\n"),
 	         idx, section_name (ebl, idx), cnt);
 	  break;
@@ -3385,7 +3396,7 @@
 
       if (def->vd_next == 0 && cnt > 0)
 	{
-	  ERROR (gettext ("\
+	  ERROR (_("\
 section [%2d] '%s': entry %d has zero offset to next entry, but sh_info says there are more entries\n"),
 	         idx, section_name (ebl, idx), cnt);
 	  break;
@@ -3393,7 +3404,7 @@
     }
 
   if (!has_base)
-    ERROR (gettext ("section [%2d] '%s': no BASE definition\n"),
+    ERROR (_("section [%2d] '%s': no BASE definition\n"),
 	   idx, section_name (ebl, idx));
 
   /* Check whether the referenced names are available.  */
@@ -3409,7 +3420,7 @@
 	}
 
       if (runp == NULL)
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': unknown parent version '%s'\n"),
 	       idx, section_name (ebl, idx), namelist->name);
 
@@ -3422,7 +3433,7 @@
 {
   if (shdr->sh_size == 0)
     {
-      ERROR (gettext ("section [%2d] '%s': empty object attributes section\n"),
+      ERROR (_("section [%2d] '%s': empty object attributes section\n"),
 	     idx, section_name (ebl, idx));
       return;
     }
@@ -3430,7 +3441,7 @@
   Elf_Data *data = elf_rawdata (elf_getscn (ebl->elf, idx), NULL);
   if (data == NULL || data->d_size == 0 || data->d_buf == NULL)
     {
-      ERROR (gettext ("section [%2d] '%s': cannot get section data\n"),
+      ERROR (_("section [%2d] '%s': cannot get section data\n"),
 	     idx, section_name (ebl, idx));
       return;
     }
@@ -3443,7 +3454,7 @@
   const unsigned char *p = data->d_buf;
   if (*p++ != 'A')
     {
-      ERROR (gettext ("section [%2d] '%s': unrecognized attribute format\n"),
+      ERROR (_("section [%2d] '%s': unrecognized attribute format\n"),
 	     idx, section_name (ebl, idx));
       return;
     }
@@ -3459,7 +3470,7 @@
       memcpy (&len, p, sizeof len);
 
       if (len == 0)
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': offset %zu: zero length field in attribute section\n"),
 	       idx, section_name (ebl, idx), pos (p));
 
@@ -3468,7 +3479,7 @@
 
       if (len > left ())
 	{
-	  ERROR (gettext ("\
+	  ERROR (_("\
 section [%2d] '%s': offset %zu: invalid length in attribute section\n"),
 		 idx, section_name (ebl, idx), pos (p));
 	  break;
@@ -3480,7 +3491,7 @@
       unsigned const char *q = memchr (name, '\0', len);
       if (q == NULL)
 	{
-	  ERROR (gettext ("\
+	  ERROR (_("\
 section [%2d] '%s': offset %zu: unterminated vendor name string\n"),
 		 idx, section_name (ebl, idx), pos (p));
 	  break;
@@ -3497,7 +3508,7 @@
 
 	    if (q >= p)
 	      {
-		ERROR (gettext ("\
+		ERROR (_("\
 section [%2d] '%s': offset %zu: endless ULEB128 in attribute subsection tag\n"),
 		       idx, section_name (ebl, idx), pos (chunk));
 		break;
@@ -3506,7 +3517,7 @@
 	    uint32_t subsection_len;
 	    if (p - q < (ptrdiff_t) sizeof subsection_len)
 	      {
-		ERROR (gettext ("\
+		ERROR (_("\
 section [%2d] '%s': offset %zu: truncated attribute section\n"),
 		       idx, section_name (ebl, idx), pos (q));
 		break;
@@ -3515,7 +3526,7 @@
 	    memcpy (&subsection_len, q, sizeof subsection_len);
 	    if (subsection_len == 0)
 	      {
-		ERROR (gettext ("\
+		ERROR (_("\
 section [%2d] '%s': offset %zu: zero length field in attribute subsection\n"),
 		       idx, section_name (ebl, idx), pos (q));
 
@@ -3530,7 +3541,7 @@
 	    if (p - chunk < (ptrdiff_t) subsection_len
 	        || subsection_len >= (uint32_t) PTRDIFF_MAX)
 	      {
-		ERROR (gettext ("\
+		ERROR (_("\
 section [%2d] '%s': offset %zu: invalid length in attribute subsection\n"),
 		       idx, section_name (ebl, idx), pos (q));
 		break;
@@ -3541,7 +3552,7 @@
 	    q = subsection_end;
 
 	    if (subsection_tag != 1) /* Tag_File */
-	      ERROR (gettext ("\
+	      ERROR (_("\
 section [%2d] '%s': offset %zu: attribute subsection has unexpected tag %u\n"),
 		     idx, section_name (ebl, idx), pos (chunk), subsection_tag);
 	    else
@@ -3559,7 +3570,7 @@
 			get_uleb128 (value, r, q);
 			if (r > q)
 			  {
-			    ERROR (gettext ("\
+			    ERROR (_("\
 section [%2d] '%s': offset %zu: endless ULEB128 in attribute tag\n"),
 				   idx, section_name (ebl, idx), pos (chunk));
 			    break;
@@ -3570,7 +3581,7 @@
 			r = memchr (r, '\0', q - r);
 			if (r == NULL)
 			  {
-			    ERROR (gettext ("\
+			    ERROR (_("\
 section [%2d] '%s': offset %zu: unterminated string in attribute\n"),
 				   idx, section_name (ebl, idx), pos (chunk));
 			    break;
@@ -3583,11 +3594,11 @@
 		    if (!ebl_check_object_attribute (ebl, (const char *) name,
 						     tag, value,
 						     &tag_name, &value_name))
-		      ERROR (gettext ("\
+		      ERROR (_("\
 section [%2d] '%s': offset %zu: unrecognized attribute tag %u\n"),
 			     idx, section_name (ebl, idx), pos (chunk), tag);
 		    else if ((tag & 1) == 0 && value_name == NULL)
-		      ERROR (gettext ("\
+		      ERROR (_("\
 section [%2d] '%s': offset %zu: unrecognized %s attribute value %" PRIu64 "\n"),
 			     idx, section_name (ebl, idx), pos (chunk),
 			     tag_name, value);
@@ -3597,13 +3608,13 @@
 	      }
 	  }
       else
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2d] '%s': offset %zu: vendor '%s' unknown\n"),
 	       idx, section_name (ebl, idx), pos (p), name);
     }
 
   if (left () != 0)
-    ERROR (gettext ("\
+    ERROR (_("\
 section [%2d] '%s': offset %zu: extra bytes after last attribute section\n"),
 	   idx, section_name (ebl, idx), pos (p));
 }
@@ -3627,6 +3638,7 @@
     { ".data", 6, SHT_PROGBITS, exact, SHF_ALLOC | SHF_WRITE, 0 },
     { ".data1", 7, SHT_PROGBITS, exact, SHF_ALLOC | SHF_WRITE, 0 },
     { ".debug_str", 11, SHT_PROGBITS, exact_or_gnuld, SHF_MERGE | SHF_STRINGS, 0 },
+    { ".debug_line_str", 16, SHT_PROGBITS, exact_or_gnuld, SHF_MERGE | SHF_STRINGS, 0 },
     { ".debug", 6, SHT_PROGBITS, exact, 0, 0 },
     { ".dynamic", 9, SHT_DYNAMIC, atleast, SHF_ALLOC, SHF_WRITE },
     { ".dynstr", 8, SHT_STRTAB, exact, SHF_ALLOC, 0 },
@@ -3669,8 +3681,15 @@
    && !memcmp (special_sections[idx].name, string, \
 	       sizeof string - (prefix ? 1 : 0)))
 
+/* Extra section flags that might or might not be added to the section
+   and have to be ignored.  */
+#define EXTRA_SHFLAGS (SHF_LINK_ORDER \
+		       | SHF_GNU_RETAIN \
+		       | SHF_GROUP \
+		       | SHF_COMPRESSED)
 
-/* Indeces of some sections we need later.  */
+
+/* Indices of some sections we need later.  */
 static size_t eh_frame_hdr_scnndx;
 static size_t eh_frame_scnndx;
 static size_t gcc_except_table_scnndx;
@@ -3692,34 +3711,34 @@
   GElf_Shdr shdr_mem;
   GElf_Shdr *shdr = gelf_getshdr (elf_getscn (ebl->elf, 0), &shdr_mem);
   if (shdr == NULL)
-    ERROR (gettext ("cannot get section header of zeroth section\n"));
+    ERROR (_("cannot get section header of zeroth section\n"));
   else
     {
       if (shdr->sh_name != 0)
-	ERROR (gettext ("zeroth section has nonzero name\n"));
+	ERROR (_("zeroth section has nonzero name\n"));
       if (shdr->sh_type != 0)
-	ERROR (gettext ("zeroth section has nonzero type\n"));
+	ERROR (_("zeroth section has nonzero type\n"));
       if (shdr->sh_flags != 0)
-	ERROR (gettext ("zeroth section has nonzero flags\n"));
+	ERROR (_("zeroth section has nonzero flags\n"));
       if (shdr->sh_addr != 0)
-	ERROR (gettext ("zeroth section has nonzero address\n"));
+	ERROR (_("zeroth section has nonzero address\n"));
       if (shdr->sh_offset != 0)
-	ERROR (gettext ("zeroth section has nonzero offset\n"));
+	ERROR (_("zeroth section has nonzero offset\n"));
       if (shdr->sh_addralign != 0)
-	ERROR (gettext ("zeroth section has nonzero align value\n"));
+	ERROR (_("zeroth section has nonzero align value\n"));
       if (shdr->sh_entsize != 0)
-	ERROR (gettext ("zeroth section has nonzero entry size value\n"));
+	ERROR (_("zeroth section has nonzero entry size value\n"));
 
       if (shdr->sh_size != 0 && ehdr->e_shnum != 0)
-	ERROR (gettext ("\
+	ERROR (_("\
 zeroth section has nonzero size value while ELF header has nonzero shnum value\n"));
 
       if (shdr->sh_link != 0 && ehdr->e_shstrndx != SHN_XINDEX)
-	ERROR (gettext ("\
+	ERROR (_("\
 zeroth section has nonzero link value while ELF header does not signal overflow in shstrndx\n"));
 
       if (shdr->sh_info != 0 && ehdr->e_phnum != PN_XNUM)
-	ERROR (gettext ("\
+	ERROR (_("\
 zeroth section has nonzero link value while ELF header does not signal overflow in phnum\n"));
     }
 
@@ -3737,7 +3756,7 @@
       shdr = gelf_getshdr (scn, &shdr_mem);
       if (shdr == NULL)
 	{
-	  ERROR (gettext ("\
+	  ERROR (_("\
 cannot get section header for section [%2zu] '%s': %s\n"),
 		 cnt, section_name (ebl, cnt), elf_errmsg (-1));
 	  continue;
@@ -3746,7 +3765,7 @@
       const char *scnname = elf_strptr (ebl->elf, shstrndx, shdr->sh_name);
 
       if (scnname == NULL)
-	ERROR (gettext ("section [%2zu]: invalid name\n"), cnt);
+	ERROR (_("section [%2zu]: invalid name\n"), cnt);
       else
 	{
 	  /* Check whether it is one of the special sections defined in
@@ -3773,7 +3792,7 @@
 			|| IS_KNOWN_SPECIAL (s, ".debug_str", false)
 			|| IS_KNOWN_SPECIAL (s, ".debug", true)
 			|| IS_KNOWN_SPECIAL (s, ".shstrtab", false)))
-		  ERROR (gettext ("\
+		  ERROR (_("\
 section [%2d] '%s' has wrong type: expected %s, is %s\n"),
 			 (int) cnt, scnname,
 			 ebl_section_type_name (ebl, special_sections[s].type,
@@ -3784,20 +3803,19 @@
 		if (special_sections[s].attrflag == exact
 		    || special_sections[s].attrflag == exact_or_gnuld)
 		  {
-		    /* Except for the link order, group bit and
+		    /* Except for the link order, retain, group bit and
 		       compression flag all the other bits should
 		       match exactly.  */
-		    if ((shdr->sh_flags
-			 & ~(SHF_LINK_ORDER | SHF_GROUP | SHF_COMPRESSED))
+		    if ((shdr->sh_flags & ~EXTRA_SHFLAGS)
 			!= special_sections[s].attr
 			&& (special_sections[s].attrflag == exact || !gnuld))
-		      ERROR (gettext ("\
+		      ERROR (_("\
 section [%2zu] '%s' has wrong flags: expected %s, is %s\n"),
 			     cnt, scnname,
 			     section_flags_string (special_sections[s].attr,
 						   stbuf1, sizeof (stbuf1)),
 			     section_flags_string (shdr->sh_flags
-						   & ~SHF_LINK_ORDER,
+						   & ~EXTRA_SHFLAGS,
 						   stbuf2, sizeof (stbuf2)));
 		  }
 		else if (special_sections[s].attrflag == atleast)
@@ -3805,11 +3823,11 @@
 		    if ((shdr->sh_flags & special_sections[s].attr)
 			!= special_sections[s].attr
 			|| ((shdr->sh_flags
-			     & ~(SHF_LINK_ORDER | SHF_GROUP | SHF_COMPRESSED
+			     & ~(EXTRA_SHFLAGS
 				 | special_sections[s].attr
 				 | special_sections[s].attr2))
 			    != 0))
-		      ERROR (gettext ("\
+		      ERROR (_("\
 section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n"),
 			     cnt, scnname,
 			     section_flags_string (special_sections[s].attr,
@@ -3817,8 +3835,7 @@
 			     section_flags_string (special_sections[s].attr2,
 						   stbuf2, sizeof (stbuf2)),
 			     section_flags_string (shdr->sh_flags
-						   & ~(SHF_LINK_ORDER
-						       | SHF_GROUP),
+						   & ~EXTRA_SHFLAGS,
 						   stbuf3, sizeof (stbuf3)));
 		  }
 
@@ -3827,18 +3844,18 @@
 		    dot_interp_section = true;
 
 		    if (ehdr->e_type == ET_REL)
-		      ERROR (gettext ("\
+		      ERROR (_("\
 section [%2zu] '%s' present in object file\n"),
 			     cnt, scnname);
 
 		    if ((shdr->sh_flags & SHF_ALLOC) != 0
 			&& !has_loadable_segment)
-		      ERROR (gettext ("\
+		      ERROR (_("\
 section [%2zu] '%s' has SHF_ALLOC flag set but there is no loadable segment\n"),
 			     cnt, scnname);
 		    else if ((shdr->sh_flags & SHF_ALLOC) == 0
 			     && has_loadable_segment)
-		      ERROR (gettext ("\
+		      ERROR (_("\
 section [%2zu] '%s' has SHF_ALLOC flag not set but there are loadable segments\n"),
 			     cnt, scnname);
 		  }
@@ -3846,7 +3863,7 @@
 		  {
 		    if (strcmp (scnname, ".symtab_shndx") == 0
 			&& ehdr->e_type != ET_REL)
-		      ERROR (gettext ("\
+		      ERROR (_("\
 section [%2zu] '%s' is extension section index table in non-object file\n"),
 			     cnt, scnname);
 
@@ -3865,12 +3882,12 @@
 		    // XXX TODO
 		    if ((shdr->sh_flags & SHF_ALLOC) != 0
 			&& !has_loadable_segment)
-		      ERROR (gettext ("\
+		      ERROR (_("\
 section [%2zu] '%s' has SHF_ALLOC flag set but there is no loadable segment\n"),
 			     cnt, scnname);
 		    else if ((shdr->sh_flags & SHF_ALLOC) == 0
 			     && has_loadable_segment)
-		      ERROR (gettext ("\
+		      ERROR (_("\
 section [%2zu] '%s' has SHF_ALLOC flag not set but there are loadable segments\n"),
 			     cnt, scnname);
 #endif
@@ -3889,12 +3906,12 @@
 	}
 
       if (shdr->sh_entsize != 0 && shdr->sh_size % shdr->sh_entsize)
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2zu] '%s': size not multiple of entry size\n"),
 	       cnt, section_name (ebl, cnt));
 
       if (elf_strptr (ebl->elf, shstrndx, shdr->sh_name) == NULL)
-	ERROR (gettext ("cannot get section header\n"));
+	ERROR (_("cannot get section header\n"));
 
       if (shdr->sh_type >= SHT_NUM
 	  && shdr->sh_type != SHT_GNU_ATTRIBUTES
@@ -3904,29 +3921,37 @@
 	  && shdr->sh_type != SHT_GNU_verneed
 	  && shdr->sh_type != SHT_GNU_versym
 	  && ebl_section_type_name (ebl, shdr->sh_type, NULL, 0) == NULL)
-	ERROR (gettext ("section [%2zu] '%s' has unsupported type %d\n"),
+	ERROR (_("section [%2zu] '%s' has unsupported type %d\n"),
 	       cnt, section_name (ebl, cnt),
 	       (int) shdr->sh_type);
 
 #define ALL_SH_FLAGS (SHF_WRITE | SHF_ALLOC | SHF_EXECINSTR | SHF_MERGE \
 		      | SHF_STRINGS | SHF_INFO_LINK | SHF_LINK_ORDER \
 		      | SHF_OS_NONCONFORMING | SHF_GROUP | SHF_TLS \
-		      | SHF_COMPRESSED)
+		      | SHF_COMPRESSED | SHF_GNU_RETAIN)
       if (shdr->sh_flags & ~(GElf_Xword) ALL_SH_FLAGS)
 	{
 	  GElf_Xword sh_flags = shdr->sh_flags & ~(GElf_Xword) ALL_SH_FLAGS;
 	  if (sh_flags & SHF_MASKPROC)
 	    {
+	      /* Strictly speaking SHF_EXCLUDE is a processor specific
+		 section flag, but it is used generically in the GNU
+		 toolchain.  */
+	      if (gnuld)
+		sh_flags &= ~(GElf_Xword) SHF_EXCLUDE;
 	      if (!ebl_machine_section_flag_check (ebl,
 						   sh_flags & SHF_MASKPROC))
-		ERROR (gettext ("section [%2zu] '%s'"
+		ERROR (_("section [%2zu] '%s'"
 				" contains invalid processor-specific flag(s)"
 				" %#" PRIx64 "\n"),
 		       cnt, section_name (ebl, cnt), sh_flags & SHF_MASKPROC);
 	      sh_flags &= ~(GElf_Xword) SHF_MASKPROC;
 	    }
+	  if (sh_flags & SHF_MASKOS)
+	    if (gnuld)
+	      sh_flags &= ~(GElf_Xword) SHF_GNU_RETAIN;
 	  if (sh_flags != 0)
-	    ERROR (gettext ("section [%2zu] '%s' contains unknown flag(s)"
+	    ERROR (_("section [%2zu] '%s' contains unknown flag(s)"
 			    " %#" PRIx64 "\n"),
 		   cnt, section_name (ebl, cnt), sh_flags);
 	}
@@ -3934,7 +3959,7 @@
 	{
 	  // XXX Correct?
 	  if (shdr->sh_addr != 0 && !gnuld)
-	    ERROR (gettext ("\
+	    ERROR (_("\
 section [%2zu] '%s': thread-local data sections address not zero\n"),
 		   cnt, section_name (ebl, cnt));
 
@@ -3944,41 +3969,41 @@
       if (shdr->sh_flags & SHF_COMPRESSED)
 	{
 	  if (shdr->sh_flags & SHF_ALLOC)
-	    ERROR (gettext ("\
+	    ERROR (_("\
 section [%2zu] '%s': allocated section cannot be compressed\n"),
 		   cnt, section_name (ebl, cnt));
 
 	  if (shdr->sh_type == SHT_NOBITS)
-	    ERROR (gettext ("\
+	    ERROR (_("\
 section [%2zu] '%s': nobits section cannot be compressed\n"),
 		   cnt, section_name (ebl, cnt));
 
 	  GElf_Chdr chdr;
 	  if (gelf_getchdr (scn, &chdr) == NULL)
-	    ERROR (gettext ("\
+	    ERROR (_("\
 section [%2zu] '%s': compressed section with no compression header: %s\n"),
 		   cnt, section_name (ebl, cnt), elf_errmsg (-1));
 	}
 
       if (shdr->sh_link >= shnum)
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2zu] '%s': invalid section reference in link value\n"),
 	       cnt, section_name (ebl, cnt));
 
       if (SH_INFO_LINK_P (shdr) && shdr->sh_info >= shnum)
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2zu] '%s': invalid section reference in info value\n"),
 	       cnt, section_name (ebl, cnt));
 
       if ((shdr->sh_flags & SHF_MERGE) == 0
 	  && (shdr->sh_flags & SHF_STRINGS) != 0
 	  && be_strict)
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2zu] '%s': strings flag set without merge flag\n"),
 	       cnt, section_name (ebl, cnt));
 
       if ((shdr->sh_flags & SHF_MERGE) != 0 && shdr->sh_entsize == 0)
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2zu] '%s': merge flag set but entry size is zero\n"),
 	       cnt, section_name (ebl, cnt));
 
@@ -3997,7 +4022,7 @@
 		break;
 	      FALLTHROUGH;
 	    default:
-	      ERROR (gettext ("\
+	      ERROR (_("\
 section [%2zu] '%s' has unexpected type %d for an executable section\n"),
 		     cnt, section_name (ebl, cnt), shdr->sh_type);
 	      break;
@@ -4006,14 +4031,14 @@
 	  if (shdr->sh_flags & SHF_WRITE)
 	    {
 	      if (is_debuginfo && shdr->sh_type != SHT_NOBITS)
-		ERROR (gettext ("\
+		ERROR (_("\
 section [%2zu] '%s' must be of type NOBITS in debuginfo files\n"),
 		       cnt, section_name (ebl, cnt));
 
 	      if (!is_debuginfo
 		  && !ebl_check_special_section (ebl, cnt, shdr,
 						 section_name (ebl, cnt)))
-		ERROR (gettext ("\
+		ERROR (_("\
 section [%2zu] '%s' is both executable and writable\n"),
 		       cnt, section_name (ebl, cnt));
 	    }
@@ -4044,7 +4069,7 @@
 		/* Found the segment.  */
 		if (phdr->p_offset + phdr->p_memsz
 		    < shdr->sh_offset + shdr->sh_size)
-		  ERROR (gettext ("\
+		  ERROR (_("\
 section [%2zu] '%s' not fully contained in segment of program header entry %d\n"),
 			 cnt, section_name (ebl, cnt), pcnt);
 
@@ -4054,7 +4079,7 @@
 			&& !is_debuginfo)
 		      {
 			if (!gnuld)
-			  ERROR (gettext ("\
+			  ERROR (_("\
 section [%2zu] '%s' has type NOBITS but is read from the file in segment of program header entry %d\n"),
 				 cnt, section_name (ebl, cnt), pcnt);
 			else
@@ -4080,7 +4105,7 @@
 			      bad = ((char *) databits->d_buf)[idx] != 0;
 
 			    if (bad)
-			      ERROR (gettext ("\
+			      ERROR (_("\
 section [%2zu] '%s' has type NOBITS but is read from the file in segment of program header entry %d and file contents is non-zero\n"),
 				     cnt, section_name (ebl, cnt), pcnt);
 			  }
@@ -4091,7 +4116,7 @@
 		    const GElf_Off end = phdr->p_offset + phdr->p_filesz;
 		    if (shdr->sh_offset > end ||
 			(shdr->sh_offset == end && shdr->sh_size != 0))
-		      ERROR (gettext ("\
+		      ERROR (_("\
 section [%2zu] '%s' has not type NOBITS but is not read from the file in segment of program header entry %d\n"),
 			 cnt, section_name (ebl, cnt), pcnt);
 		  }
@@ -4102,7 +4127,7 @@
 		      {
 			segment_flags[pcnt] |= PF_X;
 			if ((phdr->p_flags & PF_X) == 0)
-			  ERROR (gettext ("\
+			  ERROR (_("\
 section [%2zu] '%s' is executable in nonexecutable segment %d\n"),
 				 cnt, section_name (ebl, cnt), pcnt);
 		      }
@@ -4112,7 +4137,7 @@
 			segment_flags[pcnt] |= PF_W;
 			if (0	/* XXX vdso images have this */
 			    && (phdr->p_flags & PF_W) == 0)
-			  ERROR (gettext ("\
+			  ERROR (_("\
 section [%2zu] '%s' is writable in unwritable segment %d\n"),
 				 cnt, section_name (ebl, cnt), pcnt);
 		      }
@@ -4122,13 +4147,13 @@
 	      }
 
 	  if (pcnt == phnum)
-	    ERROR (gettext ("\
+	    ERROR (_("\
 section [%2zu] '%s': alloc flag set but section not in any loaded segment\n"),
 		   cnt, section_name (ebl, cnt));
 	}
 
       if (cnt == shstrndx && shdr->sh_type != SHT_STRTAB)
-	ERROR (gettext ("\
+	ERROR (_("\
 section [%2zu] '%s': ELF header says this is the section header string table but type is not SHT_TYPE\n"),
 	       cnt, section_name (ebl, cnt));
 
@@ -4136,7 +4161,7 @@
 	{
 	case SHT_DYNSYM:
 	  if (ehdr->e_type == ET_REL)
-	    ERROR (gettext ("\
+	    ERROR (_("\
 section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n"),
 		   cnt, section_name (ebl, cnt));
 	  FALLTHROUGH;
@@ -4187,7 +4212,7 @@
 	     that the verneed and verdef sections have already been read.
 	     Just remember the section index.  */
 	  if (versym_scnndx != 0)
-	    ERROR (gettext ("more than one version symbol table present\n"));
+	    ERROR (_("more than one version symbol table present\n"));
 	  versym_scnndx = cnt;
 	  break;
 
@@ -4210,7 +4235,7 @@
     }
 
   if (has_interp_segment && !dot_interp_section)
-    ERROR (gettext ("INTERP program header entry but no .interp section\n"));
+    ERROR (_("INTERP program header entry but no .interp section\n"));
 
   if (!is_debuginfo)
     for (unsigned int pcnt = 0; pcnt < phnum; ++pcnt)
@@ -4221,13 +4246,13 @@
 	  {
 	    if ((phdr->p_flags & PF_X) != 0
 		&& (segment_flags[pcnt] & PF_X) == 0)
-	      ERROR (gettext ("\
+	      ERROR (_("\
 loadable segment [%u] is executable but contains no executable sections\n"),
 		     pcnt);
 
 	    if ((phdr->p_flags & PF_W) != 0
 		&& (segment_flags[pcnt] & PF_W) == 0)
-	      ERROR (gettext ("\
+	      ERROR (_("\
 loadable segment [%u] is writable but contains no writable sections\n"),
 		     pcnt);
 	  }
@@ -4238,7 +4263,7 @@
   if (version_namelist != NULL)
     {
       if (versym_scnndx == 0)
-    ERROR (gettext ("\
+    ERROR (_("\
 no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section exist\n"));
       else
 	check_versym (ebl, versym_scnndx);
@@ -4251,7 +4276,7 @@
 	    {
 	      if (version_namelist->ndx == runp->ndx)
 		{
-		  ERROR (gettext ("duplicate version index %d\n"),
+		  ERROR (_("duplicate version index %d\n"),
 			 (int) version_namelist->ndx);
 		  break;
 		}
@@ -4265,7 +4290,7 @@
       while (version_namelist != NULL);
     }
   else if (versym_scnndx != 0)
-    ERROR (gettext ("\
+    ERROR (_("\
 .gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n"));
 
   if (hash_idx != 0 && gnu_hash_idx != 0)
@@ -4314,11 +4339,11 @@
 
 	  default:
 	    if (shndx == 0)
-	      ERROR (gettext ("\
+	      ERROR (_("\
 phdr[%d]: unknown core file note type %" PRIu32 " at offset %" PRIu64 "\n"),
 		     phndx, (uint32_t) nhdr.n_type, start + offset);
 	    else
-	      ERROR (gettext ("\
+	      ERROR (_("\
 section [%2d] '%s': unknown core file note type %" PRIu32
 			      " at offset %zu\n"),
 		     shndx, section_name (ebl, shndx),
@@ -4367,12 +4392,12 @@
 	    {
 	    unknown_note:
 	    if (shndx == 0)
-	      ERROR (gettext ("\
+	      ERROR (_("\
 phdr[%d]: unknown object file note type %" PRIu32 " with owner name '%s' at offset %zu\n"),
 		     phndx, (uint32_t) nhdr.n_type,
 		     (char *) data->d_buf + name_offset, offset);
 	    else
-	      ERROR (gettext ("\
+	      ERROR (_("\
 section [%2d] '%s': unknown object file note type %" PRIu32
 			      " with owner name '%s' at offset %zu\n"),
 		     shndx, section_name (ebl, shndx),
@@ -4391,7 +4416,7 @@
 {
   if (ehdr->e_type != ET_CORE && ehdr->e_type != ET_REL
       && ehdr->e_type != ET_EXEC && ehdr->e_type != ET_DYN)
-    ERROR (gettext ("\
+    ERROR (_("\
 phdr[%d]: no note entries defined for the type of file\n"),
 	   cnt);
 
@@ -4411,10 +4436,10 @@
     notes_size = check_note_data (ebl, ehdr, data, 0, cnt, phdr->p_offset);
 
   if (notes_size == 0)
-    ERROR (gettext ("phdr[%d]: cannot get content of note section: %s\n"),
+    ERROR (_("phdr[%d]: cannot get content of note section: %s\n"),
 	   cnt, elf_errmsg (-1));
   else if (notes_size != phdr->p_filesz)
-    ERROR (gettext ("phdr[%d]: extra %" PRIu64 " bytes after last note\n"),
+    ERROR (_("phdr[%d]: extra %" PRIu64 " bytes after last note\n"),
 	   cnt, phdr->p_filesz - notes_size);
 }
 
@@ -4428,24 +4453,24 @@
   Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
   if (data == NULL || data->d_buf == NULL)
     {
-      ERROR (gettext ("section [%2d] '%s': cannot get section data\n"),
+      ERROR (_("section [%2d] '%s': cannot get section data\n"),
 	     idx, section_name (ebl, idx));
       return;
     }
 
   if (ehdr->e_type != ET_CORE && ehdr->e_type != ET_REL
       && ehdr->e_type != ET_EXEC && ehdr->e_type != ET_DYN)
-    ERROR (gettext ("\
+    ERROR (_("\
 section [%2d] '%s': no note entries defined for the type of file\n"),
 	     idx, section_name (ebl, idx));
 
   GElf_Off notes_size = check_note_data (ebl, ehdr, data, idx, 0, 0);
 
   if (notes_size == 0)
-    ERROR (gettext ("section [%2d] '%s': cannot get content of note section\n"),
+    ERROR (_("section [%2d] '%s': cannot get content of note section\n"),
 	   idx, section_name (ebl, idx));
   else if (notes_size != shdr->sh_size)
-    ERROR (gettext ("section [%2d] '%s': extra %" PRIu64
+    ERROR (_("section [%2d] '%s': extra %" PRIu64
 		    " bytes after last note\n"),
 	   idx, section_name (ebl, idx), shdr->sh_size - notes_size);
 }
@@ -4463,7 +4488,7 @@
 
   if (ehdr->e_type != ET_EXEC && ehdr->e_type != ET_DYN
       && ehdr->e_type != ET_CORE)
-    ERROR (gettext ("\
+    ERROR (_("\
 only executables, shared objects, and core files can have program headers\n"));
 
   int num_pt_interp = 0;
@@ -4478,16 +4503,17 @@
       phdr = gelf_getphdr (ebl->elf, cnt, &phdr_mem);
       if (phdr == NULL)
 	{
-	  ERROR (gettext ("cannot get program header entry %d: %s\n"),
+	  ERROR (_("cannot get program header entry %d: %s\n"),
 		 cnt, elf_errmsg (-1));
 	  continue;
 	}
 
       if (phdr->p_type >= PT_NUM && phdr->p_type != PT_GNU_EH_FRAME
 	  && phdr->p_type != PT_GNU_STACK && phdr->p_type != PT_GNU_RELRO
+	  && phdr->p_type != PT_GNU_PROPERTY
 	  /* Check for a known machine-specific type.  */
 	  && ebl_segment_type_name (ebl, phdr->p_type, NULL, 0) == NULL)
-	ERROR (gettext ("\
+	ERROR (_("\
 program header entry %d: unknown program header entry type %#" PRIx64 "\n"),
 	       cnt, (uint64_t) phdr->p_type);
 
@@ -4498,7 +4524,7 @@
 	  if (++num_pt_interp != 1)
 	    {
 	      if (num_pt_interp == 2)
-		ERROR (gettext ("\
+		ERROR (_("\
 more than one INTERP entry in program header\n"));
 	    }
 	  has_interp_segment = true;
@@ -4506,14 +4532,14 @@
       else if (phdr->p_type == PT_TLS)
 	{
 	  if (++num_pt_tls == 2)
-	    ERROR (gettext ("more than one TLS entry in program header\n"));
+	    ERROR (_("more than one TLS entry in program header\n"));
 	}
       else if (phdr->p_type == PT_NOTE)
 	check_note (ebl, ehdr, phdr, cnt);
       else if (phdr->p_type == PT_DYNAMIC)
 	{
 	  if (ehdr->e_type == ET_EXEC && ! has_interp_segment)
-	    ERROR (gettext ("\
+	    ERROR (_("\
 static executable cannot have dynamic sections\n"));
 	  else
 	    {
@@ -4527,10 +4553,10 @@
 		  if (shdr != NULL && shdr->sh_type == SHT_DYNAMIC)
 		    {
 		      if (phdr->p_offset != shdr->sh_offset)
-			ERROR (gettext ("\
+			ERROR (_("\
 dynamic section reference in program header has wrong offset\n"));
 		      if (phdr->p_memsz != shdr->sh_size)
-			ERROR (gettext ("\
+			ERROR (_("\
 dynamic section size mismatch in program and section header\n"));
 		      break;
 		    }
@@ -4540,7 +4566,7 @@
       else if (phdr->p_type == PT_GNU_RELRO)
 	{
 	  if (++num_pt_relro == 2)
-	    ERROR (gettext ("\
+	    ERROR (_("\
 more than one GNU_RELRO entry in program header\n"));
 	  else
 	    {
@@ -4561,7 +4587,7 @@
 			  <= phdr2->p_vaddr + phdr2->p_memsz))
 		    {
 		      if ((phdr2->p_flags & PF_W) == 0)
-			ERROR (gettext ("\
+			ERROR (_("\
 loadable segment GNU_RELRO applies to is not writable\n"));
 		      /* Unless fully covered, relro flags could be a
 			 subset of the phdrs2 flags.  For example the load
@@ -4572,14 +4598,14 @@
 			{
 			  if ((phdr2->p_flags & ~PF_W)
 			      != (phdr->p_flags & ~PF_W))
-			    ERROR (gettext ("\
+			    ERROR (_("\
 loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n"),
 				   cnt, inner);
 			}
 		      else
 			{
 			  if ((phdr->p_flags & ~phdr2->p_flags) != 0)
-			    ERROR (gettext ("\
+			    ERROR (_("\
 GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n"),
 				   inner, cnt);
 			}
@@ -4588,7 +4614,7 @@
 		}
 
 	      if (inner >= phnum)
-		ERROR (gettext ("\
+		ERROR (_("\
 %s segment not contained in a loaded segment\n"), "GNU_RELRO");
 	    }
 	}
@@ -4611,13 +4637,13 @@
 	    }
 
 	  if (inner >= phnum)
-	    ERROR (gettext ("\
+	    ERROR (_("\
 %s segment not contained in a loaded segment\n"), "PHDR");
 
 	  /* Check that offset in segment corresponds to offset in ELF
 	     header.  */
 	  if (phdr->p_offset != ehdr->e_phoff)
-	    ERROR (gettext ("\
+	    ERROR (_("\
 program header offset in ELF header and PHDR entry do not match"));
 	}
       else if (phdr->p_type == PT_GNU_EH_FRAME)
@@ -4644,10 +4670,10 @@
 		  if (! is_debuginfo)
 		    {
 		      if (phdr->p_offset != shdr->sh_offset)
-			ERROR (gettext ("\
+			ERROR (_("\
 call frame search table reference in program header has wrong offset\n"));
 		      if (phdr->p_memsz != shdr->sh_size)
-			ERROR (gettext ("\
+			ERROR (_("\
 call frame search table size mismatch in program and section header\n"));
 		    }
 		  break;
@@ -4660,7 +4686,7 @@
 		 complain.  But if there is one there should be an
 		 entry for .eh_frame_hdr.  */
 	      if (any)
-		ERROR (gettext ("\
+		ERROR (_("\
 PT_GNU_EH_FRAME present but no .eh_frame_hdr section\n"));
 	    }
 	  else
@@ -4668,25 +4694,25 @@
 	      /* The section must be allocated and not be writable and
 		 executable.  */
 	      if ((phdr->p_flags & PF_R) == 0)
-		ERROR (gettext ("\
+		ERROR (_("\
 call frame search table must be allocated\n"));
 	      else if (shdr != NULL && (shdr->sh_flags & SHF_ALLOC) == 0)
-		ERROR (gettext ("\
+		ERROR (_("\
 section [%2zu] '%s' must be allocated\n"), elf_ndxscn (scn), ".eh_frame_hdr");
 
 	      if ((phdr->p_flags & PF_W) != 0)
-		ERROR (gettext ("\
+		ERROR (_("\
 call frame search table must not be writable\n"));
 	      else if (shdr != NULL && (shdr->sh_flags & SHF_WRITE) != 0)
-		ERROR (gettext ("\
+		ERROR (_("\
 section [%2zu] '%s' must not be writable\n"),
 		       elf_ndxscn (scn), ".eh_frame_hdr");
 
 	      if ((phdr->p_flags & PF_X) != 0)
-		ERROR (gettext ("\
+		ERROR (_("\
 call frame search table must not be executable\n"));
 	      else if (shdr != NULL && (shdr->sh_flags & SHF_EXECINSTR) != 0)
-		ERROR (gettext ("\
+		ERROR (_("\
 section [%2zu] '%s' must not be executable\n"),
 		       elf_ndxscn (scn), ".eh_frame_hdr");
 	    }
@@ -4697,17 +4723,17 @@
 
       if (phdr->p_filesz > phdr->p_memsz
 	  && (phdr->p_memsz != 0 || phdr->p_type != PT_NOTE))
-	ERROR (gettext ("\
+	ERROR (_("\
 program header entry %d: file size greater than memory size\n"),
 	       cnt);
 
       if (phdr->p_align > 1)
 	{
 	  if (!powerof2 (phdr->p_align))
-	    ERROR (gettext ("\
+	    ERROR (_("\
 program header entry %d: alignment not a power of 2\n"), cnt);
 	  else if ((phdr->p_vaddr - phdr->p_offset) % phdr->p_align != 0)
-	    ERROR (gettext ("\
+	    ERROR (_("\
 program header entry %d: file offset and virtual address not module of alignment\n"), cnt);
 	}
     }
@@ -4720,7 +4746,7 @@
 {
   if ((ehdr->e_type == ET_EXEC || ehdr->e_type == ET_DYN)
       && pt_gnu_eh_frame_pndx == 0 && eh_frame_hdr_scnndx != 0)
-    ERROR (gettext ("executable/DSO with .eh_frame_hdr section does not have "
+    ERROR (_("executable/DSO with .eh_frame_hdr section does not have "
 		    "a PT_GNU_EH_FRAME program header entry"));
 }
 
@@ -4754,14 +4780,21 @@
 
   if (ehdr == NULL)
     {
-      ERROR (gettext ("cannot read ELF header: %s\n"), elf_errmsg (-1));
+      ERROR (_("cannot read ELF header: %s\n"), elf_errmsg (-1));
       return;
     }
 
   ebl = ebl_openbackend (elf);
   /* If there is no appropriate backend library we cannot test
      architecture and OS specific features.  Any encountered extension
-     is an error.  */
+     is an error.  Often we'll get a "dummy" ebl, except if something
+     really bad happen, like a totally corrupted ELF file or out of
+     memory situation.  */
+  if (ebl == NULL)
+    {
+      ERROR (_("cannot create backend for ELF file\n"));
+      return;
+    }
 
   /* Go straight by the gABI, check all the parts in turn.  */
   check_elf_header (ebl, ehdr, size);
@@ -4780,7 +4813,7 @@
 
   /* Report if no relocation section needed the text relocation flag.  */
   if (textrel && !needed_textrel)
-    ERROR (gettext ("text relocation flag set but not needed\n"));
+    ERROR (_("text relocation flag set but not needed\n"));
 
   /* Free the resources.  */
   ebl_closebackend (ebl);
diff --git a/src/findtextrel.c b/src/findtextrel.c
index f48752e..220ee90 100644
--- a/src/findtextrel.c
+++ b/src/findtextrel.c
@@ -202,14 +202,14 @@
   int fd = open (real_fname, O_RDONLY);
   if (fd == -1)
     {
-      error (0, errno, gettext ("cannot open '%s'"), fname);
+      error (0, errno, _("cannot open '%s'"), fname);
       return 1;
     }
 
   Elf *elf = elf_begin (fd, ELF_C_READ_MMAP, NULL);
   if (elf == NULL)
     {
-      error (0, 0, gettext ("cannot create ELF descriptor for '%s': %s"),
+      error (0, 0, _("cannot create ELF descriptor for '%s': %s"),
 	     fname, elf_errmsg (-1));
       goto err_close;
     }
@@ -219,7 +219,7 @@
   GElf_Ehdr *ehdr = gelf_getehdr (elf, &ehdr_mem);
   if (ehdr == NULL)
     {
-      error (0, 0, gettext ("cannot get ELF header '%s': %s"),
+      error (0, 0, _("cannot get ELF header '%s': %s"),
 	     fname, elf_errmsg (-1));
     err_elf_close:
       elf_end (elf);
@@ -230,7 +230,7 @@
 
   if (ehdr->e_type != ET_DYN)
     {
-      error (0, 0, gettext ("'%s' is not a DSO or PIE"), fname);
+      error (0, 0, _("'%s' is not a DSO or PIE"), fname);
       goto err_elf_close;
     }
 
@@ -250,7 +250,7 @@
       if (shdr == NULL)
 	{
 	  error (0, 0,
-		 gettext ("getting get section header of section %zu: %s"),
+		 _("getting get section header of section %zu: %s"),
 		 elf_ndxscn (scn), elf_errmsg (-1));
 	  goto err_elf_close;
 	}
@@ -274,7 +274,7 @@
 		  dyn = gelf_getdyn (data, cnt, &dynmem);
 		  if (dyn == NULL)
 		    {
-		      error (0, 0, gettext ("cannot read dynamic section: %s"),
+		      error (0, 0, _("cannot read dynamic section: %s"),
 			     elf_errmsg (-1));
 		      goto err_elf_close;
 		    }
@@ -295,7 +295,7 @@
 
   if (!have_textrel)
     {
-      error (0, 0, gettext ("no text relocations reported in '%s'"), fname);
+      error (0, 0, _("no text relocations reported in '%s'"), fname);
       goto err_elf_close;
     }
 
@@ -307,11 +307,11 @@
   struct segments *segments
     = (struct segments *) malloc (nsegments_max * sizeof (segments[0]));
   if (segments == NULL)
-    error (1, errno, gettext ("while reading ELF file"));
+    error (1, errno, _("while reading ELF file"));
 
   size_t phnum;
   if (elf_getphdrnum (elf, &phnum) != 0)
-    error (1, 0, gettext ("cannot get program header count: %s"),
+    error (1, 0, _("cannot get program header count: %s"),
            elf_errmsg (-1));
 
 
@@ -322,7 +322,7 @@
       if (phdr == NULL)
 	{
 	  error (0, 0,
-		 gettext ("cannot get program header index at offset %zd: %s"),
+		 _("cannot get program header index at offset %zd: %s"),
 		 i, elf_errmsg (-1));
 	  result = 1;
 	  goto next;
@@ -339,7 +339,7 @@
 					       * sizeof (segments[0]));
 	      if (segments == NULL)
 		{
-		  error (0, 0, gettext ("\
+		  error (0, 0, _("\
 cannot get program header index at offset %zd: %s"),
 			 i, elf_errmsg (-1));
 		  result = 1;
@@ -391,7 +391,7 @@
 	  if (shdr == NULL)
 	    {
 	      error (0, 0,
-		     gettext ("cannot get section header of section %zu: %s"),
+		     _("cannot get section header of section %zu: %s"),
 		     elf_ndxscn (scn), elf_errmsg (-1));
 	      result = 1;
 	      goto next;
@@ -403,7 +403,7 @@
 	      symscn = elf_getscn (elf, shdr->sh_link);
 	      if (symscn == NULL)
 		{
-		  error (0, 0, gettext ("\
+		  error (0, 0, _("\
 cannot get symbol table section %zu in '%s': %s"),
 			 (size_t) shdr->sh_link, fname, elf_errmsg (-1));
 		  result = 1;
@@ -424,7 +424,7 @@
 		  GElf_Rel *rel = gelf_getrel (data, cnt, &rel_mem);
 		  if (rel == NULL)
 		    {
-		      error (0, 0, gettext ("\
+		      error (0, 0, _("\
 cannot get relocation at index %d in section %zu in '%s': %s"),
 			     cnt, elf_ndxscn (scn), fname, elf_errmsg (-1));
 		      result = 1;
@@ -447,7 +447,7 @@
 		  GElf_Rela *rela = gelf_getrela (data, cnt, &rela_mem);
 		  if (rela == NULL)
 		    {
-		      error (0, 0, gettext ("\
+		      error (0, 0, _("\
 cannot get relocation at index %d in section %zu in '%s': %s"),
 			     cnt, elf_ndxscn (scn), fname, elf_errmsg (-1));
 		      result = 1;
@@ -513,7 +513,7 @@
 	       pointer comparison.  */
 	    if (tfind (src, knownsrcs, ptrcompare) == NULL)
 	      {
-		printf (gettext ("%s not compiled with -fpic/-fPIC\n"), src);
+		printf (_("%s not compiled with -fpic/-fPIC\n"), src);
 		tsearch (src, knownsrcs, ptrcompare);
 	      }
 	    return;
@@ -567,14 +567,14 @@
 			/* It is this function.  */
 			if (tfind (lowstr, knownsrcs, ptrcompare) == NULL)
 			  {
-			    printf (gettext ("\
+			    printf (_("\
 the file containing the function '%s' is not compiled with -fpic/-fPIC\n"),
 				    lowstr);
 			    tsearch (lowstr, knownsrcs, ptrcompare);
 			  }
 		      }
 		    else if (highidx == -1)
-		      printf (gettext ("\
+		      printf (_("\
 the file containing the function '%s' might not be compiled with -fpic/-fPIC\n"),
 			      lowstr);
 		    else
@@ -582,7 +582,7 @@
 			sym = gelf_getsym (symdata, highidx, &sym_mem);
 			assert (sym != NULL);
 
-			printf (gettext ("\
+			printf (_("\
 either the file containing the function '%s' or the file containing the function '%s' is not compiled with -fpic/-fPIC\n"),
 				lowstr, elf_strptr (elf, shdr->sh_link,
 						    sym->st_name));
@@ -594,7 +594,7 @@
 		    sym = gelf_getsym (symdata, highidx, &sym_mem);
 		    assert (sym != NULL);
 
-		    printf (gettext ("\
+		    printf (_("\
 the file containing the function '%s' might not be compiled with -fpic/-fPIC\n"),
 			    elf_strptr (elf, shdr->sh_link, sym->st_name));
 		    return;
@@ -602,7 +602,7 @@
 	      }
 	  }
 
-	printf (gettext ("\
+	printf (_("\
 a relocation modifies memory at offset %llu in a write-protected segment\n"),
 		(unsigned long long int) addr);
 	break;
diff --git a/src/nm.c b/src/nm.c
index 7f6cf2a..fb761ef 100644
--- a/src/nm.c
+++ b/src/nm.c
@@ -1,5 +1,5 @@
 /* Print symbol information from ELF file in human-readable form.
-   Copyright (C) 2000-2008, 2009, 2011, 2012, 2014, 2015 Red Hat, Inc.
+   Copyright (C) 2000-2008, 2009, 2011, 2012, 2014, 2015, 2020 Red Hat, Inc.
    This file is part of elfutils.
    Written by Ulrich Drepper <drepper@redhat.com>, 2000.
 
@@ -137,7 +137,7 @@
 
 
 #define INTERNAL_ERROR(fname) \
-  error (EXIT_FAILURE, 0, gettext ("%s: INTERNAL ERROR %d (%s): %s"),      \
+  error (EXIT_FAILURE, 0, _("%s: INTERNAL ERROR %d (%s): %s"),      \
 	 fname, __LINE__, PACKAGE_VERSION, elf_errmsg (-1))
 
 
@@ -361,7 +361,7 @@
   int fd = open (fname, O_RDONLY);
   if (fd == -1)
     {
-      error (0, errno, gettext ("cannot open '%s'"), fname);
+      error (0, errno, _("cannot open '%s'"), fname);
       return 1;
     }
 
@@ -378,7 +378,7 @@
 	    INTERNAL_ERROR (fname);
 
 	  if (close (fd) != 0)
-	    error (EXIT_FAILURE, errno, gettext ("while closing '%s'"), fname);
+	    error (EXIT_FAILURE, errno, _("while closing '%s'"), fname);
 
 	  return result;
 	}
@@ -390,7 +390,7 @@
 	    INTERNAL_ERROR (fname);
 
 	  if (close (fd) != 0)
-	    error (EXIT_FAILURE, errno, gettext ("while closing '%s'"), fname);
+	    error (EXIT_FAILURE, errno, _("while closing '%s'"), fname);
 
 	  return result;
 	}
@@ -400,7 +400,7 @@
 	INTERNAL_ERROR (fname);
     }
 
-  error (0, 0, gettext ("%s: File format not recognized"), fname);
+  error (0, 0, _("%s: File format not recognized"), fname);
 
   return 1;
 }
@@ -440,7 +440,7 @@
 	  Elf_Arhdr *arhdr = NULL;
 	  size_t arhdr_off = 0;	/* Note: 0 is no valid offset.  */
 
-	  fputs_unlocked (gettext("\nArchive index:\n"), stdout);
+	  fputs_unlocked (_("\nArchive index:\n"), stdout);
 
 	  while (arsym->as_off != 0)
 	    {
@@ -449,12 +449,12 @@
 		      || (subelf = elf_begin (fd, cmd, elf)) == NULL
 		      || (arhdr = elf_getarhdr (subelf)) == NULL))
 		{
-		  error (0, 0, gettext ("invalid offset %zu for symbol %s"),
+		  error (0, 0, _("invalid offset %zu for symbol %s"),
 			 arsym->as_off, arsym->as_name);
 		  break;
 		}
 
-	      printf (gettext ("%s in %s\n"), arsym->as_name, arhdr->ar_name);
+	      printf (_("%s in %s\n"), arsym->as_name, arhdr->ar_name);
 
 	      ++arsym;
 	    }
@@ -462,7 +462,7 @@
 	  if (elf_rand (elf, SARMAG) != SARMAG)
 	    {
 	      error (0, 0,
-		     gettext ("cannot reset archive offset to beginning"));
+		     _("cannot reset archive offset to beginning"));
 	      return 1;
 	    }
 	}
@@ -487,7 +487,7 @@
 				 new_suffix);
 	  else
 	    {
-	      error (0, 0, gettext ("%s%s%s: file format not recognized"),
+	      error (0, 0, _("%s%s%s: file format not recognized"),
 		     new_prefix, arhdr->ar_name, new_suffix);
 	      result = 1;
 	    }
@@ -702,7 +702,7 @@
 						local_compare);
 	    if (tres == NULL)
               error (EXIT_FAILURE, errno,
-                     gettext ("cannot create search tree"));
+                     _("cannot create search tree"));
 	    else if (*tres != newp)
 	      free (newp);
 	  }
@@ -743,7 +743,7 @@
   size_t shstrndx;
   if (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0)
     error (EXIT_FAILURE, 0,
-	   gettext ("cannot get section header string table index"));
+	   _("cannot get section header string table index"));
 
   /* Cache the section names.  */
   Elf_Scn *scn = NULL;
@@ -768,10 +768,10 @@
   int digits = length_map[gelf_getclass (ebl->elf) - 1][radix];
 
   /* We always print this prolog.  */
-  printf (gettext ("\n\nSymbols from %s:\n\n"), fullname);
+  printf (_("\n\nSymbols from %s:\n\n"), fullname);
 
   /* The header line.  */
-  printf (gettext ("%*s%-*s %-*s Class  Type     %-*s %*s Section\n\n"),
+  printf (_("%*s%-*s %-*s Class  Type     %-*s %*s Section\n\n"),
 	  print_file_name ? (int) strlen (fullname) + 1: 0, "",
 	  longest_name, sgettext ("sysv|Name"),
 	  /* TRANS: the "sysv|" parts makes the string unique.  */
@@ -787,7 +787,7 @@
 #endif
 
   /* Iterate over all symbols.  */
-  for (cnt = 1; cnt < nsyms; ++cnt)
+  for (cnt = 0; cnt < nsyms; ++cnt)
     {
       /* In this format SECTION entries are not printed.  */
       if (GELF_ST_TYPE (syms[cnt].sym.st_info) == STT_SECTION)
@@ -797,6 +797,16 @@
       const char *symstr = sym_name (ebl->elf, strndx, syms[cnt].sym.st_name,
 				     symstrbuf, sizeof symstrbuf);
 
+      /* Printing entries with a zero-length name makes the output
+	 not very well parseable.  Since these entries don't carry
+	 much information we leave them out.  */
+      if (symstr[0] == '\0')
+	continue;
+
+      /* We do not print the entries for files.  */
+      if (GELF_ST_TYPE (syms[cnt].sym.st_info) == STT_FILE)
+	continue;
+
 #ifdef USE_DEMANGLE
       /* Demangle if necessary.  Require GNU v3 ABI by the "_Z" prefix.  */
       if (demangle && symstr[0] == '_' && symstr[1] == 'Z')
@@ -825,7 +835,10 @@
 
       /* Covert the address.  */
       if (syms[cnt].sym.st_shndx == SHN_UNDEF)
-	addressbuf[0] = sizebuf[0] = '\0';
+	{
+	  sprintf (addressbuf, "%*c", digits, ' ');
+	  sprintf (sizebuf, "%*c", digits, ' ');
+	}
       else
 	{
 	  snprintf (addressbuf, sizeof (addressbuf),
@@ -841,11 +854,14 @@
 	}
 
       /* Print the actual string.  */
+      const char *bind;
+      bind = ebl_symbol_binding_name (ebl,
+				      GELF_ST_BIND (syms[cnt].sym.st_info),
+				      symbindbuf, sizeof (symbindbuf));
+      if (bind != NULL && strncmp (bind, "GNU_", strlen ("GNU_")) == 0)
+	bind += strlen ("GNU_");
       printf ("%-*s|%s|%-6s|%-8s|%s|%*s|%s\n",
-	      longest_name, symstr, addressbuf,
-	      ebl_symbol_binding_name (ebl,
-				       GELF_ST_BIND (syms[cnt].sym.st_info),
-				       symbindbuf, sizeof (symbindbuf)),
+	      longest_name, symstr, addressbuf, bind,
 	      ebl_symbol_type_name (ebl, GELF_ST_TYPE (syms[cnt].sym.st_info),
 				    symtypebuf, sizeof (symtypebuf)),
 	      sizebuf, longest_where, syms[cnt].where,
@@ -884,6 +900,10 @@
       if (ehdr->e_ident[EI_OSABI] == ELFOSABI_LINUX
 	  && GELF_ST_BIND (sym->st_info) == STB_GNU_UNIQUE)
 	result = 'u';
+      else if (GELF_ST_BIND (sym->st_info) == STB_WEAK)
+	result = 'V';
+      else if (sym->st_shndx == SHN_COMMON)
+	result = 'C';
       else
 	{
 	  GElf_Shdr shdr_mem;
@@ -898,6 +918,11 @@
 	    }
 	}
     }
+  else if (result == 'T')
+    {
+      if (GELF_ST_BIND (sym->st_info) == STB_WEAK)
+	result = 'W';
+    }
 
   return local_p ? tolower (result) : result;
 }
@@ -1063,6 +1088,10 @@
       if (symstr[0] == '\0')
 	continue;
 
+      /* We do not print the entries for files.  */
+      if (GELF_ST_TYPE (syms[cnt].sym.st_info) == STT_FILE)
+	continue;
+
 #ifdef USE_DEMANGLE
       /* Demangle if necessary.  Require GNU v3 ABI by the "_Z" prefix.  */
       if (demangle && symstr[0] == '_' && symstr[1] == 'Z')
@@ -1084,21 +1113,23 @@
 	  putchar_unlocked (' ');
 	}
 
-      printf ((radix == radix_hex
-	       ? "%s %c%s %0*" PRIx64 " %0*" PRIx64 "\n"
-	       : (radix == radix_decimal
-		  ? "%s %c%s %*" PRId64 " %*" PRId64 "\n"
-		  : "%s %c%s %0*" PRIo64 " %0*" PRIo64 "\n")),
-	      symstr,
+      printf ("%s %c%s", symstr,
 	      class_type_char (elf, ehdr, &syms[cnt].sym),
 	      mark_special
 	      ? (GELF_ST_TYPE (syms[cnt].sym.st_info) == STT_TLS
 		 ? "@"
 		 : (GELF_ST_BIND (syms[cnt].sym.st_info) == STB_WEAK
 		    ? "*" : " "))
-	      : "",
-	      digits, syms[cnt].sym.st_value,
-	      digits, syms[cnt].sym.st_size);
+	      : "");
+      if (syms[cnt].sym.st_shndx != SHN_UNDEF)
+	printf ((radix == radix_hex
+		 ? " %0*" PRIx64 " %0*" PRIx64
+		 : (radix == radix_decimal
+		    ? " %*" PRId64 " %*" PRId64
+		    : " %0*" PRIo64 " %0*" PRIo64)),
+		digits, syms[cnt].sym.st_value,
+		digits, syms[cnt].sym.st_size);
+      putchar ('\n');
     }
 
 #ifdef USE_DEMANGLE
@@ -1122,7 +1153,8 @@
   return reverse_sort ? -result : result;
 }
 
-static Elf_Data *sort_by_name_strtab;
+static Elf *sort_by_name_elf;
+static size_t sort_by_name_ndx;
 
 static int
 sort_by_name (const void *p1, const void *p2)
@@ -1130,8 +1162,10 @@
   GElf_SymX *s1 = (GElf_SymX *) p1;
   GElf_SymX *s2 = (GElf_SymX *) p2;
 
-  const char *n1 = sort_by_name_strtab->d_buf + s1->sym.st_name;
-  const char *n2 = sort_by_name_strtab->d_buf + s2->sym.st_name;
+  const char *n1 = elf_strptr (sort_by_name_elf, sort_by_name_ndx,
+			       s1->sym.st_name) ?: "";
+  const char *n2 = elf_strptr (sort_by_name_elf, sort_by_name_ndx,
+			       s2->sym.st_name) ?: "";
 
   int result = strcmp (n1, n2);
 
@@ -1202,7 +1236,7 @@
   size_t shstrndx;
   if (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0)
     error (EXIT_FAILURE, 0,
-	   gettext ("cannot get section header string table index"));
+	   _("cannot get section header string table index"));
 
   /* The section is that large.  */
   size_t size = shdr->sh_size;
@@ -1213,12 +1247,12 @@
   if (entsize == 0
       || entsize != gelf_fsize (ebl->elf, ELF_T_SYM, 1, EV_CURRENT))
     error (0, 0,
-	   gettext ("%s: entry size in section %zd `%s' is not what we expect"),
+	   _("%s: entry size in section %zd `%s' is not what we expect"),
 	   fullname, elf_ndxscn (scn),
 	   elf_strptr (ebl->elf, shstrndx, shdr->sh_name));
   else if (size % entsize != 0)
     error (0, 0,
-	   gettext ("%s: size of section %zd `%s' is not multiple of entry size"),
+	   _("%s: size of section %zd `%s' is not multiple of entry size"),
 	   fullname, elf_ndxscn (scn),
 	   elf_strptr (ebl->elf, shstrndx, shdr->sh_name));
 
@@ -1297,7 +1331,7 @@
      is a 64 bit file.  */
   if (nentries > SIZE_MAX / sizeof (GElf_SymX))
     error (EXIT_FAILURE, 0,
-          gettext ("%s: entries (%zd) in section %zd `%s' is too large"),
+          _("%s: entries (%zd) in section %zd `%s' is too large"),
           fullname, nentries, elf_ndxscn (scn),
           elf_strptr (ebl->elf, shstrndx, shdr->sh_name));
   GElf_SymX *sym_mem;
@@ -1444,8 +1478,8 @@
   /* Sort the entries according to the users wishes.  */
   if (sort == sort_name)
     {
-      sort_by_name_strtab = elf_getdata (elf_getscn (ebl->elf, shdr->sh_link),
-					 NULL);
+      sort_by_name_elf = ebl->elf;
+      sort_by_name_ndx = shdr->sh_link;
       qsort (sym_mem, nentries, sizeof (GElf_SymX), sort_by_name);
     }
   else if (sort == sort_numeric)
@@ -1510,8 +1544,17 @@
   GElf_Ehdr *ehdr;
   Ebl *ebl;
 
+  /* Create the full name of the file.  */
+  if (prefix != NULL)
+    cp = mempcpy (cp, prefix, prefix_len);
+  cp = mempcpy (cp, fname, fname_len);
+  if (suffix != NULL)
+    memcpy (cp - 1, suffix, suffix_len + 1);
+
   /* Get the backend for this object file type.  */
   ebl = ebl_openbackend (elf);
+  if (ebl == NULL)
+    INTERNAL_ERROR (fullname);
 
   /* We need the ELF header in a few places.  */
   ehdr = gelf_getehdr (elf, &ehdr_mem);
@@ -1524,19 +1567,12 @@
       && ehdr->e_type != ET_EXEC && ehdr->e_type != ET_DYN)
     {
       /* XXX Add machine specific object file types.  */
-      error (0, 0, gettext ("%s%s%s%s: Invalid operation"),
+      error (0, 0, _("%s%s%s%s: Invalid operation"),
 	     prefix ?: "", prefix ? "(" : "", fname, prefix ? ")" : "");
       result = 1;
       goto out;
     }
 
-  /* Create the full name of the file.  */
-  if (prefix != NULL)
-    cp = mempcpy (cp, prefix, prefix_len);
-  cp = mempcpy (cp, fname, fname_len);
-  if (suffix != NULL)
-    memcpy (cp - 1, suffix, suffix_len + 1);
-
   /* Find the symbol table.
 
      XXX Can there be more than one?  Do we print all?  Currently we do.  */
@@ -1581,7 +1617,7 @@
 
   if (! any)
     {
-      error (0, 0, gettext ("%s%s%s: no symbols"),
+      error (0, 0, _("%s%s%s: no symbols"),
 	     prefix ?: "", prefix ? ":" : "", fname);
       result = 1;
     }
diff --git a/src/objdump.c b/src/objdump.c
index a619674..3a93248 100644
--- a/src/objdump.c
+++ b/src/objdump.c
@@ -100,7 +100,7 @@
 
 
 #define INTERNAL_ERROR(fname) \
-  error (EXIT_FAILURE, 0, gettext ("%s: INTERNAL ERROR %d (%s): %s"),      \
+  error (EXIT_FAILURE, 0, _("%s: INTERNAL ERROR %d (%s): %s"),      \
 	 fname, __LINE__, PACKAGE_VERSION, elf_errmsg (-1))
 
 
@@ -215,7 +215,7 @@
     case ARGP_KEY_FINI:
       if (! any_control_option)
 	{
-	  fputs (gettext ("No operation specified.\n"), stderr);
+	  fputs (_("No operation specified.\n"), stderr);
 	  argp_help (&argp, stderr, ARGP_HELP_SEE,
 		     program_invocation_short_name);
 	  exit (EXIT_FAILURE);
@@ -238,7 +238,7 @@
   int fd = open (fname, O_RDONLY);
   if (fd == -1)
     {
-      error (0, errno, gettext ("cannot open %s"), fname);
+      error (0, errno, _("cannot open %s"), fname);
       return 1;
     }
 
@@ -255,7 +255,7 @@
 	    INTERNAL_ERROR (fname);
 
 	  if (close (fd) != 0)
-	    error (EXIT_FAILURE, errno, gettext ("while close `%s'"), fname);
+	    error (EXIT_FAILURE, errno, _("while close `%s'"), fname);
 
 	  return result;
 	}
@@ -267,7 +267,7 @@
 	    INTERNAL_ERROR (fname);
 
 	  if (close (fd) != 0)
-	    error (EXIT_FAILURE, errno, gettext ("while close `%s'"), fname);
+	    error (EXIT_FAILURE, errno, _("while close `%s'"), fname);
 
 	  return result;
 	}
@@ -277,7 +277,7 @@
 	INTERNAL_ERROR (fname);
     }
 
-  error (0, 0, gettext ("%s: File format not recognized"), fname);
+  error (0, 0, _("%s: File format not recognized"), fname);
 
   return 1;
 }
@@ -325,7 +325,7 @@
 				 new_suffix);
 	  else
 	    {
-	      error (0, 0, gettext ("%s%s%s: file format not recognized"),
+	      error (0, 0, _("%s%s%s: file format not recognized"),
 		     new_prefix, arhdr->ar_name, new_suffix);
 	      result = 1;
 	    }
@@ -360,7 +360,7 @@
 
   if (sym == NULL)
     printf ("<%s %ld>",
-	    gettext ("INVALID SYMBOL"), (long int) GELF_R_SYM (r_info));
+	    _("INVALID SYMBOL"), (long int) GELF_R_SYM (r_info));
   else if (GELF_ST_TYPE (sym->st_info) != STT_SECTION)
     printf ("%s",
 	    elf_strptr (ebl->elf, symstrndx, sym->st_name));
@@ -375,7 +375,7 @@
 
       if (shdr == NULL || destshdr == NULL)
 	printf ("<%s %ld>",
-		gettext ("INVALID SECTION"),
+		_("INVALID SECTION"),
 		(long int) (sym->st_shndx == SHN_XINDEX
 			    ? xndx : sym->st_shndx));
       else
@@ -495,10 +495,10 @@
 	  if (unlikely (destshdr == NULL))
 	    continue;
 
-	  printf (gettext ("\nRELOCATION RECORDS FOR [%s]:\n"
+	  printf (_("\nRELOCATION RECORDS FOR [%s]:\n"
 			   "%-*s TYPE                 VALUE\n"),
 		  elf_strptr (ebl->elf, shstrndx, destshdr->sh_name),
-		  elfclass == ELFCLASS32 ? 8 : 16, gettext ("OFFSET"));
+		  elfclass == ELFCLASS32 ? 8 : 16, _("OFFSET"));
 
 	  /* Get the data of the section.  */
 	  Elf_Data *data = elf_getdata (scn, NULL);
@@ -563,7 +563,7 @@
 	  if  (! section_match (ebl->elf, elf_ndxscn (scn), shdr, shstrndx))
 	    continue;
 
-	  printf (gettext ("Contents of section %s:\n"),
+	  printf (_("Contents of section %s:\n"),
 		  elf_strptr (ebl->elf, shstrndx, shdr->sh_name));
 
 	  /* Get the data of the section.  */
@@ -684,7 +684,7 @@
 {
   DisasmCtx_t *ctx = disasm_begin (ebl, ebl->elf, NULL /* XXX TODO */);
   if (ctx == NULL)
-    error (EXIT_FAILURE, 0, gettext ("cannot disassemble"));
+    error (EXIT_FAILURE, 0, _("cannot disassemble"));
 
   Elf_Scn *scn = NULL;
   while ((scn = elf_nextscn (ebl->elf, scn)) != NULL)
@@ -755,6 +755,9 @@
 
   /* Get the backend for this object file type.  */
   Ebl *ebl = ebl_openbackend (elf);
+  if (ebl == NULL)
+    error (EXIT_FAILURE, 0,
+	   _("cannot create backend for elf file"));
 
   printf ("%s: elf%d-%s\n\n",
 	  fname, gelf_getclass (elf) == ELFCLASS32 ? 32 : 64,
@@ -776,7 +779,7 @@
   size_t shstrndx;
   if (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0)
     error (EXIT_FAILURE, 0,
-	   gettext ("cannot get section header string table index"));
+	   _("cannot get section header string table index"));
 
   int result = 0;
   if (print_disasm)
diff --git a/src/ranlib.c b/src/ranlib.c
index b908348..bd7e1d8 100644
--- a/src/ranlib.c
+++ b/src/ranlib.c
@@ -99,7 +99,7 @@
   /* There must at least be one more parameter specifying the archive.   */
   if (remaining == argc)
     {
-      error (0, 0, gettext ("Archive name required"));
+      error (0, 0, _("Archive name required"));
       argp_help (&argp, stderr, ARGP_HELP_SEE, "ranlib");
       exit (EXIT_FAILURE);
     }
@@ -138,14 +138,14 @@
   int fd = open (fname, O_RDONLY);
   if (fd == -1)
     {
-      error (0, errno, gettext ("cannot open '%s'"), fname);
+      error (0, errno, _("cannot open '%s'"), fname);
       return 1;
     }
 
   struct stat st;
   if (fstat (fd, &st) != 0)
     {
-      error (0, errno, gettext ("cannot stat '%s'"), fname);
+      error (0, errno, _("cannot stat '%s'"), fname);
       close (fd);
       return 1;
     }
@@ -155,7 +155,7 @@
   Elf *arelf = elf_begin (fd, ELF_C_READ_MMAP, NULL);
   if (arelf == NULL)
     {
-      error (0, 0, gettext ("cannot create ELF descriptor for '%s': %s"),
+      error (0, 0, _("cannot create ELF descriptor for '%s': %s"),
 	     fname, elf_errmsg (-1));
       close (fd);
       return 1;
@@ -163,7 +163,7 @@
 
   if (elf_kind (arelf) != ELF_K_AR)
     {
-      error (0, 0, gettext ("'%s' is no archive"), fname);
+      error (0, 0, _("'%s' is no archive"), fname);
       elf_end (arelf);
       close (fd);
       return 1;
@@ -198,7 +198,7 @@
       /* Get next archive element.  */
       cmd = elf_next (elf);
       if (elf_end (elf) != 0)
-	error (0, 0, gettext ("error while freeing sub-ELF descriptor: %s"),
+	error (0, 0, _("error while freeing sub-ELF descriptor: %s"),
 	       elf_errmsg (-1));
     }
 
@@ -219,7 +219,7 @@
       if (unlikely (newfd == -1))
 	{
 	nonew:
-	  error (0, errno, gettext ("cannot create new file"));
+	  error (0, errno, _("cannot create new file"));
 	  status = 1;
 	}
       else
@@ -245,25 +245,31 @@
 	  else
 	    rest_off = SARMAG;
 
-	  if ((symtab.symsnamelen != 0
-	       && ((write_retry (newfd, symtab.symsoff,
-				 symtab.symsofflen)
-		    != (ssize_t) symtab.symsofflen)
-		   || (write_retry (newfd, symtab.symsname,
-				    symtab.symsnamelen)
-		       != (ssize_t) symtab.symsnamelen)))
-	      /* Even if the original file had content before the
-		 symbol table, we write it in the correct order.  */
-	      || (index_off > SARMAG
-		  && copy_content (arelf, newfd, SARMAG, index_off - SARMAG))
-	      || copy_content (arelf, newfd, rest_off, st.st_size - rest_off)
-	      /* Set the mode of the new file to the same values the
-		 original file has.  */
-	      || fchmod (newfd, st.st_mode & ALLPERMS) != 0
-	      /* Never complain about fchown failing.  */
-	      || (({asm ("" :: "r" (fchown (newfd, st.st_uid, st.st_gid))); }),
-		  close (newfd) != 0)
-	      || (newfd = -1, rename (tmpfname, fname) != 0))
+	  if (symtab.symsnamelen != 0
+	      && ((write_retry (newfd, symtab.symsoff,
+				symtab.symsofflen)
+		   != (ssize_t) symtab.symsofflen)
+		  || (write_retry (newfd, symtab.symsname,
+				   symtab.symsnamelen)
+		      != (ssize_t) symtab.symsnamelen)))
+	    goto nonew_unlink;
+
+	  /* Even if the original file had content before the
+	     symbol table, we write it in the correct order.  */
+	  if ((index_off > SARMAG
+	       && copy_content (arelf, newfd, SARMAG, index_off - SARMAG))
+	      || copy_content (arelf, newfd, rest_off, st.st_size - rest_off))
+	    goto nonew_unlink;
+
+	  /* Never complain about fchown failing.  */
+	  if (fchown (newfd, st.st_uid, st.st_gid) != 0) { ; }
+	  /* Set the mode of the new file to the same values the
+	     original file has.  */
+	  if (fchmod (newfd, st.st_mode & ALLPERMS) != 0
+	      || close (newfd) != 0)
+	    goto nonew_unlink;
+	  newfd = -1;
+	  if (rename (tmpfname, fname) != 0)
 	    goto nonew_unlink;
 	}
     }
diff --git a/src/readelf.c b/src/readelf.c
index cbb519d..11692bb 100644
--- a/src/readelf.c
+++ b/src/readelf.c
@@ -347,8 +347,8 @@
   textdomain (PACKAGE_TARNAME);
 
   /* Look up once.  */
-  yes_str = gettext ("yes");
-  no_str = gettext ("no");
+  yes_str = _("yes");
+  no_str = _("no");
 
   /* Parse and process arguments.  */
   int remaining;
@@ -381,24 +381,26 @@
   return error_message_count != 0;
 }
 
+static void
+add_dump_section (const char *name,
+		  int key,
+		  bool implicit)
+{
+  struct section_argument *a = xmalloc (sizeof *a);
+  a->arg = name;
+  a->next = NULL;
+  a->implicit = implicit;
+  struct section_argument ***tailp
+    = key == 'x' ? &dump_data_sections_tail : &string_sections_tail;
+  **tailp = a;
+  *tailp = &a->next;
+}
 
 /* Handle program arguments.  */
 static error_t
 parse_opt (int key, char *arg,
 	   struct argp_state *state __attribute__ ((unused)))
 {
-  void add_dump_section (const char *name, bool implicit)
-  {
-    struct section_argument *a = xmalloc (sizeof *a);
-    a->arg = name;
-    a->next = NULL;
-    a->implicit = implicit;
-    struct section_argument ***tailp
-      = key == 'x' ? &dump_data_sections_tail : &string_sections_tail;
-    **tailp = a;
-    *tailp = &a->next;
-  }
-
   switch (key)
     {
     case 'a':
@@ -414,9 +416,9 @@
       print_arch = true;
       print_notes = true;
       implicit_debug_sections |= section_exception;
-      add_dump_section (".strtab", true);
-      add_dump_section (".dynstr", true);
-      add_dump_section (".comment", true);
+      add_dump_section (".strtab", key, true);
+      add_dump_section (".dynstr", key, true);
+      add_dump_section (".comment", key, true);
       any_control_option = true;
       break;
     case 'A':
@@ -545,7 +547,7 @@
 	print_debug_sections |= section_gdb_index;
       else
 	{
-	  fprintf (stderr, gettext ("Unknown DWARF debug section `%s'.\n"),
+	  fprintf (stderr, _("Unknown DWARF debug section `%s'.\n"),
 		   arg);
 	  argp_help (&argp, stderr, ARGP_HELP_SEE,
 		     program_invocation_short_name);
@@ -562,7 +564,7 @@
 	}
       FALLTHROUGH;
     case 'x':
-      add_dump_section (arg, false);
+      add_dump_section (arg, key, false);
       any_control_option = true;
       break;
     case 'N':
@@ -572,12 +574,12 @@
       print_unresolved_addresses = true;
       break;
     case ARGP_KEY_NO_ARGS:
-      fputs (gettext ("Missing file name.\n"), stderr);
+      fputs (_("Missing file name.\n"), stderr);
       goto do_argp_help;
     case ARGP_KEY_FINI:
       if (! any_control_option && ! print_archive_index)
 	{
-	  fputs (gettext ("No operation specified.\n"), stderr);
+	  fputs (_("No operation specified.\n"), stderr);
 	do_argp_help:
 	  argp_help (&argp, stderr, ARGP_HELP_SEE,
 		     program_invocation_short_name);
@@ -616,14 +618,14 @@
   Elf *elf = elf_begin (fd, ELF_C_READ_MMAP, NULL);
   if (elf == NULL)
     {
-      error (0, 0, gettext ("cannot generate Elf descriptor: %s"),
+      error (0, 0, _("cannot generate Elf descriptor: %s"),
 	     elf_errmsg (-1));
       return -1;
     }
 
   if (elf_getshdrnum (elf, &shnums) < 0)
     {
-      error (0, 0, gettext ("cannot determine number of sections: %s"),
+      error (0, 0, _("cannot determine number of sections: %s"),
 	     elf_errmsg (-1));
     open_error:
       elf_end (elf);
@@ -632,7 +634,7 @@
 
   if (elf_getshdrstrndx (elf, &shstrndx) < 0)
     {
-      error (0, 0, gettext ("cannot get section header string table index"));
+      error (0, 0, _("cannot get section header string table index"));
       goto open_error;
     }
 
@@ -641,7 +643,7 @@
       Elf_Scn *scn = elf_getscn (elf, cnt);
       if (scn == NULL)
 	{
-	  error (0, 0, gettext ("cannot get section: %s"),
+	  error (0, 0, _("cannot get section: %s"),
 		 elf_errmsg (-1));
 	  goto open_error;
 	}
@@ -650,7 +652,7 @@
       GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
       if (unlikely (shdr == NULL))
 	{
-	  error (0, 0, gettext ("cannot get section header: %s"),
+	  error (0, 0, _("cannot get section header: %s"),
 		 elf_errmsg (-1));
 	  goto open_error;
 	}
@@ -658,7 +660,7 @@
       const char *sname = elf_strptr (elf, shstrndx, shdr->sh_name);
       if (sname == NULL)
 	{
-	  error (0, 0, gettext ("cannot get section name"));
+	  error (0, 0, _("cannot get section name"));
 	  goto open_error;
 	}
 
@@ -667,7 +669,7 @@
 	  Elf_Data *data = elf_rawdata (scn, NULL);
 	  if (data == NULL)
 	    {
-	      error (0, 0, gettext ("cannot get %s content: %s"),
+	      error (0, 0, _("cannot get %s content: %s"),
 		     sname, elf_errmsg (-1));
 	      goto open_error;
 	    }
@@ -683,7 +685,7 @@
 	  int sfd = mkstemp (tempname);
 	  if (sfd == -1)
 	    {
-	      error (0, 0, gettext ("cannot create temp file '%s'"),
+	      error (0, 0, _("cannot create temp file '%s'"),
 		     tempname);
 	      goto open_error;
 	    }
@@ -692,20 +694,20 @@
 	  ssize_t size = data->d_size;
 	  if (write_retry (sfd, data->d_buf, size) != size)
 	    {
-	      error (0, 0, gettext ("cannot write section data"));
+	      error (0, 0, _("cannot write section data"));
 	      goto open_error;
 	    }
 
 	  if (elf_end (elf) != 0)
 	    {
-	      error (0, 0, gettext ("error while closing Elf descriptor: %s"),
+	      error (0, 0, _("error while closing Elf descriptor: %s"),
 		     elf_errmsg (-1));
 	      return -1;
 	    }
 
 	  if (lseek (sfd, 0, SEEK_SET) == -1)
 	    {
-	      error (0, 0, gettext ("error while rewinding file descriptor"));
+	      error (0, 0, _("error while rewinding file descriptor"));
 	      return -1;
 	    }
 
@@ -715,7 +717,7 @@
 
   /* Named section not found.  */
   if (elf_end (elf) != 0)
-    error (0, 0, gettext ("error while closing Elf descriptor: %s"),
+    error (0, 0, _("error while closing Elf descriptor: %s"),
 	   elf_errmsg (-1));
   return -1;
 }
@@ -727,7 +729,7 @@
   /* Create an `Elf' descriptor.  */
   Elf *elf = elf_begin (fd, ELF_C_READ_MMAP, NULL);
   if (elf == NULL)
-    error (0, 0, gettext ("cannot generate Elf descriptor: %s"),
+    error (0, 0, _("cannot generate Elf descriptor: %s"),
 	   elf_errmsg (-1));
   else
     {
@@ -739,12 +741,12 @@
 	}
       else
 	error (0, 0,
-	       gettext ("'%s' is not an archive, cannot print archive index"),
+	       _("'%s' is not an archive, cannot print archive index"),
 	       fname);
 
       /* Now we can close the descriptor.  */
       if (elf_end (elf) != 0)
-	error (0, 0, gettext ("error while closing Elf descriptor: %s"),
+	error (0, 0, _("error while closing Elf descriptor: %s"),
 	       elf_errmsg (-1));
     }
 }
@@ -843,11 +845,11 @@
     {
       struct stat st;
       if (fstat (dwfl_fd, &st) != 0)
-	error (0, errno, gettext ("cannot stat input file"));
+	error (0, errno, _("cannot stat input file"));
       else if (unlikely (st.st_size == 0))
-	error (0, 0, gettext ("input file is empty"));
+	error (0, 0, _("input file is empty"));
       else
-	error (0, 0, gettext ("failed reading '%s': %s"),
+	error (0, 0, _("failed reading '%s': %s"),
 	       fname, dwfl_errmsg (-1));
       close (dwfl_fd);		/* Consumed on success, not on failure.  */
       dwfl = NULL;
@@ -876,7 +878,7 @@
       fd = open_input_section (fd);
       if (fd == -1)
         {
-          error (0, 0, gettext ("No such section '%s' in '%s'"),
+          error (0, 0, _("No such section '%s' in '%s'"),
 		 elf_input_section, fname);
           return;
         }
@@ -935,7 +937,7 @@
 
   if (ehdr == NULL)
     {
-      error (0, 0, gettext ("cannot read ELF header: %s"), elf_errmsg (-1));
+      error (0, 0, _("cannot read ELF header: %s"), elf_errmsg (-1));
       return;
     }
 
@@ -943,20 +945,20 @@
   if (unlikely (ebl == NULL))
     {
     ebl_error:
-      error (0, errno, gettext ("cannot create EBL handle"));
+      error (0, errno, _("cannot create EBL handle"));
       return;
     }
 
   /* Determine the number of sections.  */
   if (unlikely (elf_getshdrnum (ebl->elf, &shnum) < 0))
     error (EXIT_FAILURE, 0,
-	   gettext ("cannot determine number of sections: %s"),
+	   _("cannot determine number of sections: %s"),
 	   elf_errmsg (-1));
 
   /* Determine the number of phdrs.  */
   if (unlikely (elf_getphdrnum (ebl->elf, &phnum) < 0))
     error (EXIT_FAILURE, 0,
-	   gettext ("cannot determine number of program headers: %s"),
+	   _("cannot determine number of program headers: %s"),
 	   elf_errmsg (-1));
 
   /* For an ET_REL file, libdwfl has adjusted the in-core shdrs and
@@ -988,7 +990,7 @@
 	}
       if (pure_elf == NULL)
 	{
-	  error (0, 0, gettext ("cannot read ELF: %s"), elf_errmsg (-1));
+	  error (0, 0, _("cannot read ELF: %s"), elf_errmsg (-1));
 	  return;
 	}
       pure_ebl = ebl_openbackend (pure_elf);
@@ -1055,12 +1057,12 @@
 	N_("DYN (Shared object file)"),
 	N_("CORE (Core file)")
       };
-      puts (gettext (knowntypes[e_type]));
+      puts (_(knowntypes[e_type]));
     }
   else if (e_type >= ET_LOOS && e_type <= ET_HIOS)
-    printf (gettext ("OS Specific: (%x)\n"),  e_type);
+    printf (_("OS Specific: (%x)\n"),  e_type);
   else if (e_type >= ET_LOPROC /* && e_type <= ET_HIPROC always true */)
-    printf (gettext ("Processor Specific: (%x)\n"),  e_type);
+    printf (_("Processor Specific: (%x)\n"),  e_type);
   else
     puts ("???");
 }
@@ -1070,93 +1072,93 @@
 static void
 print_ehdr (Ebl *ebl, GElf_Ehdr *ehdr)
 {
-  fputs_unlocked (gettext ("ELF Header:\n  Magic:  "), stdout);
+  fputs_unlocked (_("ELF Header:\n  Magic:  "), stdout);
   for (size_t cnt = 0; cnt < EI_NIDENT; ++cnt)
     printf (" %02hhx", ehdr->e_ident[cnt]);
 
-  printf (gettext ("\n  Class:                             %s\n"),
+  printf (_("\n  Class:                             %s\n"),
 	  ehdr->e_ident[EI_CLASS] == ELFCLASS32 ? "ELF32"
 	  : ehdr->e_ident[EI_CLASS] == ELFCLASS64 ? "ELF64"
 	  : "\?\?\?");
 
-  printf (gettext ("  Data:                              %s\n"),
+  printf (_("  Data:                              %s\n"),
 	  ehdr->e_ident[EI_DATA] == ELFDATA2LSB
 	  ? "2's complement, little endian"
 	  : ehdr->e_ident[EI_DATA] == ELFDATA2MSB
 	  ? "2's complement, big endian" : "\?\?\?");
 
-  printf (gettext ("  Ident Version:                     %hhd %s\n"),
+  printf (_("  Ident Version:                     %hhd %s\n"),
 	  ehdr->e_ident[EI_VERSION],
-	  ehdr->e_ident[EI_VERSION] == EV_CURRENT ? gettext ("(current)")
+	  ehdr->e_ident[EI_VERSION] == EV_CURRENT ? _("(current)")
 	  : "(\?\?\?)");
 
   char buf[512];
-  printf (gettext ("  OS/ABI:                            %s\n"),
+  printf (_("  OS/ABI:                            %s\n"),
 	  ebl_osabi_name (ebl, ehdr->e_ident[EI_OSABI], buf, sizeof (buf)));
 
-  printf (gettext ("  ABI Version:                       %hhd\n"),
+  printf (_("  ABI Version:                       %hhd\n"),
 	  ehdr->e_ident[EI_ABIVERSION]);
 
-  fputs_unlocked (gettext ("  Type:                              "), stdout);
+  fputs_unlocked (_("  Type:                              "), stdout);
   print_file_type (ehdr->e_type);
 
   const char *machine = dwelf_elf_e_machine_string (ehdr->e_machine);
   if (machine != NULL)
-    printf (gettext ("  Machine:                           %s\n"), machine);
+    printf (_("  Machine:                           %s\n"), machine);
   else
-    printf (gettext ("  Machine:                           <unknown>: 0x%x\n"),
+    printf (_("  Machine:                           <unknown>: 0x%x\n"),
 	    ehdr->e_machine);
 
-  printf (gettext ("  Version:                           %d %s\n"),
+  printf (_("  Version:                           %d %s\n"),
 	  ehdr->e_version,
-	  ehdr->e_version  == EV_CURRENT ? gettext ("(current)") : "(\?\?\?)");
+	  ehdr->e_version  == EV_CURRENT ? _("(current)") : "(\?\?\?)");
 
-  printf (gettext ("  Entry point address:               %#" PRIx64 "\n"),
+  printf (_("  Entry point address:               %#" PRIx64 "\n"),
 	  ehdr->e_entry);
 
-  printf (gettext ("  Start of program headers:          %" PRId64 " %s\n"),
-	  ehdr->e_phoff, gettext ("(bytes into file)"));
+  printf (_("  Start of program headers:          %" PRId64 " %s\n"),
+	  ehdr->e_phoff, _("(bytes into file)"));
 
-  printf (gettext ("  Start of section headers:          %" PRId64 " %s\n"),
-	  ehdr->e_shoff, gettext ("(bytes into file)"));
+  printf (_("  Start of section headers:          %" PRId64 " %s\n"),
+	  ehdr->e_shoff, _("(bytes into file)"));
 
-  printf (gettext ("  Flags:                             %s\n"),
+  printf (_("  Flags:                             %s\n"),
 	  ebl_machine_flag_name (ebl, ehdr->e_flags, buf, sizeof (buf)));
 
-  printf (gettext ("  Size of this header:               %" PRId16 " %s\n"),
-	  ehdr->e_ehsize, gettext ("(bytes)"));
+  printf (_("  Size of this header:               %" PRId16 " %s\n"),
+	  ehdr->e_ehsize, _("(bytes)"));
 
-  printf (gettext ("  Size of program header entries:    %" PRId16 " %s\n"),
-	  ehdr->e_phentsize, gettext ("(bytes)"));
+  printf (_("  Size of program header entries:    %" PRId16 " %s\n"),
+	  ehdr->e_phentsize, _("(bytes)"));
 
-  printf (gettext ("  Number of program headers entries: %" PRId16),
+  printf (_("  Number of program headers entries: %" PRId16),
 	  ehdr->e_phnum);
   if (ehdr->e_phnum == PN_XNUM)
     {
       GElf_Shdr shdr_mem;
       GElf_Shdr *shdr = gelf_getshdr (elf_getscn (ebl->elf, 0), &shdr_mem);
       if (shdr != NULL)
-	printf (gettext (" (%" PRIu32 " in [0].sh_info)"),
+	printf (_(" (%" PRIu32 " in [0].sh_info)"),
 		(uint32_t) shdr->sh_info);
       else
-	fputs_unlocked (gettext (" ([0] not available)"), stdout);
+	fputs_unlocked (_(" ([0] not available)"), stdout);
     }
   fputc_unlocked ('\n', stdout);
 
-  printf (gettext ("  Size of section header entries:    %" PRId16 " %s\n"),
-	  ehdr->e_shentsize, gettext ("(bytes)"));
+  printf (_("  Size of section header entries:    %" PRId16 " %s\n"),
+	  ehdr->e_shentsize, _("(bytes)"));
 
-  printf (gettext ("  Number of section headers entries: %" PRId16),
+  printf (_("  Number of section headers entries: %" PRId16),
 	  ehdr->e_shnum);
   if (ehdr->e_shnum == 0)
     {
       GElf_Shdr shdr_mem;
       GElf_Shdr *shdr = gelf_getshdr (elf_getscn (ebl->elf, 0), &shdr_mem);
       if (shdr != NULL)
-	printf (gettext (" (%" PRIu32 " in [0].sh_size)"),
+	printf (_(" (%" PRIu32 " in [0].sh_size)"),
 		(uint32_t) shdr->sh_size);
       else
-	fputs_unlocked (gettext (" ([0] not available)"), stdout);
+	fputs_unlocked (_(" ([0] not available)"), stdout);
     }
   fputc_unlocked ('\n', stdout);
 
@@ -1166,19 +1168,19 @@
       GElf_Shdr *shdr = gelf_getshdr (elf_getscn (ebl->elf, 0), &shdr_mem);
       if (shdr != NULL)
 	/* We managed to get the zeroth section.  */
-	snprintf (buf, sizeof (buf), gettext (" (%" PRIu32 " in [0].sh_link)"),
+	snprintf (buf, sizeof (buf), _(" (%" PRIu32 " in [0].sh_link)"),
 		  (uint32_t) shdr->sh_link);
       else
 	{
-	  strncpy (buf, gettext (" ([0] not available)"), sizeof (buf));
+	  strncpy (buf, _(" ([0] not available)"), sizeof (buf));
 	  buf[sizeof (buf) - 1] = '\0';
 	}
 
-      printf (gettext ("  Section header string table index: XINDEX%s\n\n"),
+      printf (_("  Section header string table index: XINDEX%s\n\n"),
 	      buf);
     }
   else
-    printf (gettext ("  Section header string table index: %" PRId16 "\n\n"),
+    printf (_("  Section header string table index: %" PRId16 "\n\n"),
 	    ehdr->e_shstrndx);
 }
 
@@ -1225,10 +1227,10 @@
       size_t sections;
       if (unlikely (elf_getshdrnum (ebl->elf, &sections) < 0))
 	error (EXIT_FAILURE, 0,
-	       gettext ("cannot get number of sections: %s"),
+	       _("cannot get number of sections: %s"),
 	       elf_errmsg (-1));
 
-      printf (gettext ("\
+      printf (_("\
 There are %zd section headers, starting at offset %#" PRIx64 ":\n\
 \n"),
 	      sections, ehdr->e_shoff);
@@ -1237,22 +1239,22 @@
   /* Get the section header string table index.  */
   if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
     error (EXIT_FAILURE, 0,
-	   gettext ("cannot get section header string table index: %s"),
+	   _("cannot get section header string table index: %s"),
 	   elf_errmsg (-1));
 
-  puts (gettext ("Section Headers:"));
+  puts (_("Section Headers:"));
 
   if (ehdr->e_ident[EI_CLASS] == ELFCLASS32)
-    puts (gettext ("[Nr] Name                 Type         Addr     Off    Size   ES Flags Lk Inf Al"));
+    puts (_("[Nr] Name                 Type         Addr     Off    Size   ES Flags Lk Inf Al"));
   else
-    puts (gettext ("[Nr] Name                 Type         Addr             Off      Size     ES Flags Lk Inf Al"));
+    puts (_("[Nr] Name                 Type         Addr             Off      Size     ES Flags Lk Inf Al"));
 
   if (print_decompress)
     {
       if (ehdr->e_ident[EI_CLASS] == ELFCLASS32)
-	puts (gettext ("     [Compression  Size   Al]"));
+	puts (_("     [Compression  Size   Al]"));
       else
-	puts (gettext ("     [Compression  Size     Al]"));
+	puts (_("     [Compression  Size     Al]"));
     }
 
   for (cnt = 0; cnt < shnum; ++cnt)
@@ -1260,14 +1262,14 @@
       Elf_Scn *scn = elf_getscn (ebl->elf, cnt);
 
       if (unlikely (scn == NULL))
-	error (EXIT_FAILURE, 0, gettext ("cannot get section: %s"),
+	error (EXIT_FAILURE, 0, _("cannot get section: %s"),
 	       elf_errmsg (-1));
 
       /* Get the section header.  */
       GElf_Shdr shdr_mem;
       GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
       if (unlikely (shdr == NULL))
-	error (EXIT_FAILURE, 0, gettext ("cannot get section header: %s"),
+	error (EXIT_FAILURE, 0, _("cannot get section header: %s"),
 	       elf_errmsg (-1));
 
       char flagbuf[20];
@@ -1298,6 +1300,8 @@
 	*cp++ = 'O';
       if (shdr->sh_flags & SHF_EXCLUDE)
 	*cp++ = 'E';
+      if (shdr->sh_flags & SHF_GNU_RETAIN)
+	*cp++ = 'R';
       *cp = '\0';
 
       const char *sname;
@@ -1328,7 +1332,7 @@
 			chdr.ch_size, chdr.ch_addralign);
 	      else
 		error (0, 0,
-		       gettext ("bad compression header for section %zd: %s"),
+		       _("bad compression header for section %zd: %s"),
 		       elf_ndxscn (scn), elf_errmsg (-1));
 	    }
 	  else if (strncmp(".zdebug", sname, strlen (".zdebug")) == 0)
@@ -1339,7 +1343,7 @@
 			ehdr->e_ident[EI_CLASS] == ELFCLASS32 ? 6 : 8, size);
 	      else
 		error (0, 0,
-		       gettext ("bad gnu compressed size for section %zd: %s"),
+		       _("bad gnu compressed size for section %zd: %s"),
 		       elf_ndxscn (scn), elf_errmsg (-1));
 	    }
 	}
@@ -1357,12 +1361,12 @@
     /* No program header, this is OK in relocatable objects.  */
     return;
 
-  puts (gettext ("Program Headers:"));
+  puts (_("Program Headers:"));
   if (ehdr->e_ident[EI_CLASS] == ELFCLASS32)
-    puts (gettext ("\
+    puts (_("\
   Type           Offset   VirtAddr   PhysAddr   FileSiz  MemSiz   Flg Align"));
   else
-    puts (gettext ("\
+    puts (_("\
   Type           Offset   VirtAddr           PhysAddr           FileSiz  MemSiz   Flg Align"));
 
   /* Process all program headers.  */
@@ -1419,7 +1423,7 @@
 	      && phdr->p_filesz <= maxsize - phdr->p_offset
 	      && memchr (filedata + phdr->p_offset, '\0',
 			 phdr->p_filesz) != NULL)
-	    printf (gettext ("\t[Requesting program interpreter: %s]\n"),
+	    printf (_("\t[Requesting program interpreter: %s]\n"),
 		    filedata + phdr->p_offset);
 	}
       else if (phdr->p_type == PT_GNU_RELRO)
@@ -1433,7 +1437,7 @@
   size_t sections;
   if (unlikely (elf_getshdrnum (ebl->elf, &sections) < 0))
     error (EXIT_FAILURE, 0,
-           gettext ("cannot get number of sections: %s"),
+           _("cannot get number of sections: %s"),
            elf_errmsg (-1));
 
   if (sections == 0)
@@ -1444,9 +1448,9 @@
   size_t shstrndx;
   if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
     error (EXIT_FAILURE, 0,
-	   gettext ("cannot get section header string table index"));
+	   _("cannot get section header string table index"));
 
-  puts (gettext ("\n Section to Segment mapping:\n  Segment Sections..."));
+  puts (_("\n Section to Segment mapping:\n  Segment Sections..."));
 
   for (size_t cnt = 0; cnt < phnum; ++cnt)
     {
@@ -1457,7 +1461,7 @@
       GElf_Phdr *phdr = gelf_getphdr (ebl->elf, cnt, &phdr_mem);
       /* This must not happen.  */
       if (unlikely (phdr == NULL))
-	error (EXIT_FAILURE, 0, gettext ("cannot get program header: %s"),
+	error (EXIT_FAILURE, 0, _("cannot get program header: %s"),
 	       elf_errmsg (-1));
 
       /* Iterate over the sections.  */
@@ -1468,7 +1472,7 @@
 	  Elf_Scn *scn = elf_getscn (ebl->elf, inner);
 	  /* This should not happen.  */
 	  if (unlikely (scn == NULL))
-	    error (EXIT_FAILURE, 0, gettext ("cannot get section: %s"),
+	    error (EXIT_FAILURE, 0, _("cannot get section: %s"),
 		   elf_errmsg (-1));
 
 	  /* Get the section header.  */
@@ -1476,7 +1480,7 @@
 	  GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
 	  if (unlikely (shdr == NULL))
 	    error (EXIT_FAILURE, 0,
-		   gettext ("cannot get section header: %s"),
+		   _("cannot get section header: %s"),
 		   elf_errmsg (-1));
 
 	  if (shdr->sh_size > 0
@@ -1548,7 +1552,7 @@
 	      printf (" %s",
 		      elf_strptr (ebl->elf, shstrndx, shdr->sh_name));
 
-	      /* Signal that this sectin is only partially covered.  */
+	      /* Signal that this section is only partially covered.  */
 	      if (has_relro && in_relro
 		       && shdr->sh_addr + shdr->sh_size > relro_to)
 		{
@@ -1595,7 +1599,7 @@
   size_t shstrndx;
   if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
     error (EXIT_FAILURE, 0,
-	   gettext ("cannot get section header string table index"));
+	   _("cannot get section header string table index"));
 
   Elf32_Word *grpref = (Elf32_Word *) data->d_buf;
 
@@ -1616,7 +1620,7 @@
 	  elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
 	  (sym == NULL ? NULL
 	   : elf_strptr (ebl->elf, symshdr->sh_link, sym->st_name))
-	  ?: gettext ("<INVALID SYMBOL>"),
+	  ?: _("<INVALID SYMBOL>"),
 	  data->d_size / sizeof (Elf32_Word) - 1);
 
   for (size_t cnt = 1; cnt < data->d_size / sizeof (Elf32_Word); ++cnt)
@@ -1630,7 +1634,7 @@
 	      grpref[cnt],
 	      grpshdr != NULL
 	      && (str = elf_strptr (ebl->elf, shstrndx, grpshdr->sh_name))
-	      ? str : gettext ("<INVALID SECTION>"));
+	      ? str : _("<INVALID SECTION>"));
     }
 }
 
@@ -1653,12 +1657,12 @@
 	    {
 	      if (elf_compress (scn, 0, 0) < 0)
 		printf ("WARNING: %s [%zd]\n",
-			gettext ("Couldn't uncompress section"),
+			_("Couldn't uncompress section"),
 			elf_ndxscn (scn));
 	      shdr = gelf_getshdr (scn, &shdr_mem);
 	      if (unlikely (shdr == NULL))
 		error (EXIT_FAILURE, 0,
-		       gettext ("cannot get section [%zd] header: %s"),
+		       _("cannot get section [%zd] header: %s"),
 		       elf_ndxscn (scn),
 		       elf_errmsg (-1));
 	    }
@@ -1796,13 +1800,13 @@
   /* Get the section header string table index.  */
   if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
     error (EXIT_FAILURE, 0,
-	   gettext ("cannot get section header string table index"));
+	   _("cannot get section header string table index"));
 
   sh_entsize = gelf_fsize (ebl->elf, ELF_T_DYN, 1, EV_CURRENT);
 
   glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), &glink_mem);
   if (glink == NULL)
-    error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %zu"),
+    error (EXIT_FAILURE, 0, _("invalid sh_link value in section %zu"),
 	   elf_ndxscn (scn));
 
   printf (ngettext ("\
@@ -1815,7 +1819,7 @@
 	  shdr->sh_offset,
 	  (int) shdr->sh_link,
 	  elf_strptr (ebl->elf, shstrndx, glink->sh_name));
-  fputs_unlocked (gettext ("  Type              Value\n"), stdout);
+  fputs_unlocked (_("  Type              Value\n"), stdout);
 
   for (cnt = 0; cnt < shdr->sh_size / sh_entsize; ++cnt)
     {
@@ -1839,22 +1843,22 @@
 	  break;
 
 	case DT_NEEDED:
-	  printf (gettext ("Shared library: [%s]\n"),
+	  printf (_("Shared library: [%s]\n"),
 		  elf_strptr (ebl->elf, shdr->sh_link, dyn->d_un.d_val));
 	  break;
 
 	case DT_SONAME:
-	  printf (gettext ("Library soname: [%s]\n"),
+	  printf (_("Library soname: [%s]\n"),
 		  elf_strptr (ebl->elf, shdr->sh_link, dyn->d_un.d_val));
 	  break;
 
 	case DT_RPATH:
-	  printf (gettext ("Library rpath: [%s]\n"),
+	  printf (_("Library rpath: [%s]\n"),
 		  elf_strptr (ebl->elf, shdr->sh_link, dyn->d_un.d_val));
 	  break;
 
 	case DT_RUNPATH:
-	  printf (gettext ("Library runpath: [%s]\n"),
+	  printf (_("Library runpath: [%s]\n"),
 		  elf_strptr (ebl->elf, shdr->sh_link, dyn->d_un.d_val));
 	  break;
 
@@ -1874,7 +1878,7 @@
 	case DT_SYMINENT:
 	case DT_GNU_CONFLICTSZ:
 	case DT_GNU_LIBLISTSZ:
-	  printf (gettext ("%" PRId64 " (bytes)\n"), dyn->d_un.d_val);
+	  printf (_("%" PRId64 " (bytes)\n"), dyn->d_un.d_val);
 	  break;
 
 	case DT_VERDEFNUM:
@@ -1987,7 +1991,7 @@
 
   if (unlikely (symshdr == NULL || symdata == NULL || destshdr == NULL))
     {
-      printf (gettext ("\nInvalid symbol table at offset %#0" PRIx64 "\n"),
+      printf (_("\nInvalid symbol table at offset %#0" PRIx64 "\n"),
 	      shdr->sh_offset);
       return;
     }
@@ -2002,7 +2006,7 @@
   size_t shstrndx;
   if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
     error (EXIT_FAILURE, 0,
-	   gettext ("cannot get section header string table index"));
+	   _("cannot get section header string table index"));
 
   if (shdr->sh_info != 0)
     printf (ngettext ("\
@@ -2030,9 +2034,9 @@
 	    shdr->sh_offset,
 	    nentries);
   fputs_unlocked (class == ELFCLASS32
-		  ? gettext ("\
+		  ? _("\
   Offset      Type                 Value       Name\n")
-		  : gettext ("\
+		  : _("\
   Offset              Type                 Value               Name\n"),
 	 stdout);
 
@@ -2085,7 +2089,7 @@
 			   information.  */
 			? ebl_reloc_type_name (ebl, GELF_R_TYPE (rel->r_info),
 					       buf, sizeof (buf)) + 2
-			: gettext ("<INVALID RELOC>"),
+			: _("<INVALID RELOC>"),
 			class == ELFCLASS32 ? 10 : 18, "",
 			elf_strptr (ebl->elf, shstrndx, destshdr->sh_name));
 	      else
@@ -2096,8 +2100,8 @@
 			   information.  */
 			? ebl_reloc_type_name (ebl, GELF_R_TYPE (rel->r_info),
 					       buf, sizeof (buf)) + 2
-			: gettext ("<INVALID RELOC>"),
-			gettext ("INVALID SYMBOL"),
+			: _("<INVALID RELOC>"),
+			_("INVALID SYMBOL"),
 			(long int) GELF_R_SYM (rel->r_info));
 	    }
 	  else if (GELF_ST_TYPE (sym->st_info) != STT_SECTION)
@@ -2109,7 +2113,7 @@
 		       information.  */
 		    ? ebl_reloc_type_name (ebl, GELF_R_TYPE (rel->r_info),
 					   buf, sizeof (buf)) + 2
-		    : gettext ("<INVALID RELOC>"),
+		    : _("<INVALID RELOC>"),
 		    class == ELFCLASS32 ? 10 : 18, sym->st_value,
 		    elf_strptr (ebl->elf, symshdr->sh_link, sym->st_name));
 	  else
@@ -2130,8 +2134,8 @@
 			   information.  */
 			? ebl_reloc_type_name (ebl, GELF_R_TYPE (rel->r_info),
 					       buf, sizeof (buf)) + 2
-			: gettext ("<INVALID RELOC>"),
-			gettext ("INVALID SECTION"),
+			: _("<INVALID RELOC>"),
+			_("INVALID SECTION"),
 			(long int) (sym->st_shndx == SHN_XINDEX
 				    ? xndx : sym->st_shndx));
 	      else
@@ -2142,7 +2146,7 @@
 			   information.  */
 			? ebl_reloc_type_name (ebl, GELF_R_TYPE (rel->r_info),
 					       buf, sizeof (buf)) + 2
-			: gettext ("<INVALID RELOC>"),
+			: _("<INVALID RELOC>"),
 			class == ELFCLASS32 ? 10 : 18, sym->st_value,
 			elf_strptr (ebl->elf, shstrndx, secshdr->sh_name));
 	    }
@@ -2177,7 +2181,7 @@
 
   if (unlikely (symshdr == NULL || symdata == NULL || destshdr == NULL))
     {
-      printf (gettext ("\nInvalid symbol table at offset %#0" PRIx64 "\n"),
+      printf (_("\nInvalid symbol table at offset %#0" PRIx64 "\n"),
 	      shdr->sh_offset);
       return;
     }
@@ -2192,7 +2196,7 @@
   size_t shstrndx;
   if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
     error (EXIT_FAILURE, 0,
-	   gettext ("cannot get section header string table index"));
+	   _("cannot get section header string table index"));
 
   if (shdr->sh_info != 0)
     printf (ngettext ("\
@@ -2220,9 +2224,9 @@
 	    shdr->sh_offset,
 	    nentries);
   fputs_unlocked (class == ELFCLASS32
-		  ? gettext ("\
+		  ? _("\
   Offset      Type            Value       Addend Name\n")
-		  : gettext ("\
+		  : _("\
   Offset              Type            Value               Addend Name\n"),
 		  stdout);
 
@@ -2276,7 +2280,7 @@
 			   information.  */
 			? ebl_reloc_type_name (ebl, GELF_R_TYPE (rel->r_info),
 					       buf, sizeof (buf)) + 2
-			: gettext ("<INVALID RELOC>"),
+			: _("<INVALID RELOC>"),
 			class == ELFCLASS32 ? 10 : 18, "",
 			rel->r_addend,
 			elf_strptr (ebl->elf, shstrndx, destshdr->sh_name));
@@ -2288,8 +2292,8 @@
 			   information.  */
 			? ebl_reloc_type_name (ebl, GELF_R_TYPE (rel->r_info),
 					       buf, sizeof (buf)) + 2
-			: gettext ("<INVALID RELOC>"),
-			gettext ("INVALID SYMBOL"),
+			: _("<INVALID RELOC>"),
+			_("INVALID SYMBOL"),
 			(long int) GELF_R_SYM (rel->r_info));
 	    }
 	  else if (GELF_ST_TYPE (sym->st_info) != STT_SECTION)
@@ -2302,7 +2306,7 @@
 		       information.  */
 		    ? ebl_reloc_type_name (ebl, GELF_R_TYPE (rel->r_info),
 					   buf, sizeof (buf)) + 2
-		    : gettext ("<INVALID RELOC>"),
+		    : _("<INVALID RELOC>"),
 		    class == ELFCLASS32 ? 10 : 18, sym->st_value,
 		    rel->r_addend,
 		    elf_strptr (ebl->elf, symshdr->sh_link, sym->st_name));
@@ -2324,8 +2328,8 @@
 			   information.  */
 			? ebl_reloc_type_name (ebl, GELF_R_TYPE (rel->r_info),
 					       buf, sizeof (buf)) + 2
-			: gettext ("<INVALID RELOC>"),
-			gettext ("INVALID SECTION"),
+			: _("<INVALID RELOC>"),
+			_("INVALID SECTION"),
 			(long int) (sym->st_shndx == SHN_XINDEX
 				    ? xndx : sym->st_shndx));
 	      else
@@ -2337,7 +2341,7 @@
 			   information.  */
 			? ebl_reloc_type_name (ebl, GELF_R_TYPE (rel->r_info),
 					       buf, sizeof (buf)) + 2
-			: gettext ("<INVALID RELOC>"),
+			: _("<INVALID RELOC>"),
 			class == ELFCLASS32 ? 10 : 18, sym->st_value,
 			rel->r_addend,
 			elf_strptr (ebl->elf, shstrndx, secshdr->sh_name));
@@ -2370,7 +2374,7 @@
 	      const char *sname;
 	      if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
 		error (EXIT_FAILURE, 0,
-		       gettext ("cannot get section header string table index"));
+		       _("cannot get section header string table index"));
 	      sname = elf_strptr (ebl->elf, shstrndx, shdr->sh_name);
 	      if (sname == NULL || strcmp (sname, symbol_table_section) != 0)
 		continue;
@@ -2380,12 +2384,12 @@
 	    {
 	      if (elf_compress (scn, 0, 0) < 0)
 		printf ("WARNING: %s [%zd]\n",
-			gettext ("Couldn't uncompress section"),
+			_("Couldn't uncompress section"),
 			elf_ndxscn (scn));
 	      shdr = gelf_getshdr (scn, &shdr_mem);
 	      if (unlikely (shdr == NULL))
 		error (EXIT_FAILURE, 0,
-		       gettext ("cannot get section [%zd] header: %s"),
+		       _("cannot get section [%zd] header: %s"),
 		       elf_ndxscn (scn), elf_errmsg (-1));
 	    }
 	  handle_symtab (ebl, scn, shdr);
@@ -2446,13 +2450,13 @@
   size_t shstrndx;
   if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
     error (EXIT_FAILURE, 0,
-	   gettext ("cannot get section header string table index"));
+	   _("cannot get section header string table index"));
 
   GElf_Shdr glink_mem;
   GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
 				   &glink_mem);
   if (glink == NULL)
-    error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %zu"),
+    error (EXIT_FAILURE, 0, _("invalid sh_link value in section %zu"),
 	   elf_ndxscn (scn));
 
   /* Now we can compute the number of entries in the section.  */
@@ -2473,9 +2477,9 @@
 	  elf_strptr (ebl->elf, shstrndx, glink->sh_name));
 
   fputs_unlocked (class == ELFCLASS32
-		  ? gettext ("\
+		  ? _("\
   Num:    Value   Size Type    Bind   Vis          Ndx Name\n")
-		  : gettext ("\
+		  : _("\
   Num:            Value   Size Type    Bind   Vis          Ndx Name\n"),
 		  stdout);
 
@@ -2495,7 +2499,7 @@
       if (likely (sym->st_shndx != SHN_XINDEX))
 	xndx = sym->st_shndx;
 
-      printf (gettext ("\
+      printf (_("\
 %5u: %0*" PRIx64 " %6" PRId64 " %-7s %-6s %-9s %6s %s"),
 	      cnt,
 	      class == ELFCLASS32 ? 8 : 16,
@@ -2583,7 +2587,7 @@
 		      check_def = 0;
 		    }
 		  else if (unlikely (! is_nobits))
-		    error (0, 0, gettext ("bad dynamic symbol"));
+		    error (0, 0, _("bad dynamic symbol"));
 		  else
 		    check_def = 1;
 		}
@@ -2665,7 +2669,7 @@
   char *endp;
 
   if (flags == 0)
-    return gettext ("none");
+    return _("none");
 
   if (flags & VER_FLG_BASE)
     endp = stpcpy (buf, "BASE ");
@@ -2682,7 +2686,7 @@
 
   if (unlikely (flags & ~(VER_FLG_BASE | VER_FLG_WEAK)))
     {
-      strncpy (endp, gettext ("| <unknown>"), buf + sizeof (buf) - endp);
+      strncpy (endp, _("| <unknown>"), buf + sizeof (buf) - endp);
       buf[sizeof (buf) - 1] = '\0';
     }
 
@@ -2704,13 +2708,13 @@
   size_t shstrndx;
   if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
     error (EXIT_FAILURE, 0,
-	   gettext ("cannot get section header string table index"));
+	   _("cannot get section header string table index"));
 
   GElf_Shdr glink_mem;
   GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
 				   &glink_mem);
   if (glink == NULL)
-    error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %zu"),
+    error (EXIT_FAILURE, 0, _("invalid sh_link value in section %zu"),
 	   elf_ndxscn (scn));
 
   printf (ngettext ("\
@@ -2734,7 +2738,7 @@
       if (unlikely (need == NULL))
 	break;
 
-      printf (gettext ("  %#06x: Version: %hu  File: %s  Cnt: %hu\n"),
+      printf (_("  %#06x: Version: %hu  File: %s  Cnt: %hu\n"),
 	      offset, (unsigned short int) need->vn_version,
 	      elf_strptr (ebl->elf, shdr->sh_link, need->vn_file),
 	      (unsigned short int) need->vn_cnt);
@@ -2747,7 +2751,7 @@
 	  if (unlikely (aux == NULL))
 	    break;
 
-	  printf (gettext ("  %#06x: Name: %s  Flags: %s  Version: %hu\n"),
+	  printf (_("  %#06x: Name: %s  Flags: %s  Version: %hu\n"),
 		  auxoffset,
 		  elf_strptr (ebl->elf, shdr->sh_link, aux->vna_name),
 		  get_ver_flags (aux->vna_flags),
@@ -2780,13 +2784,13 @@
   size_t shstrndx;
   if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
     error (EXIT_FAILURE, 0,
-	   gettext ("cannot get section header string table index"));
+	   _("cannot get section header string table index"));
 
   GElf_Shdr glink_mem;
   GElf_Shdr *glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link),
 				   &glink_mem);
   if (glink == NULL)
-    error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %zu"),
+    error (EXIT_FAILURE, 0, _("invalid sh_link value in section %zu"),
 	   elf_ndxscn (scn));
 
   int class = gelf_getclass (ebl->elf);
@@ -2818,7 +2822,7 @@
       if (unlikely (aux == NULL))
 	break;
 
-      printf (gettext ("\
+      printf (_("\
   %#06x: Version: %hd  Flags: %s  Index: %hd  Cnt: %hd  Name: %s\n"),
 	      offset, def->vd_version,
 	      get_ver_flags (def->vd_flags),
@@ -2833,7 +2837,7 @@
 	  if (unlikely (aux == NULL))
 	    break;
 
-	  printf (gettext ("  %#06x: Parent %d: %s\n"),
+	  printf (_("  %#06x: Parent %d: %s\n"),
 		  auxoffset, cnt2,
 		  elf_strptr (ebl->elf, shdr->sh_link, aux->vda_name));
 
@@ -2867,7 +2871,7 @@
   size_t shstrndx;
   if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
     error (EXIT_FAILURE, 0,
-	   gettext ("cannot get section header string table index"));
+	   _("cannot get section header string table index"));
 
   /* We have to find the version definition section and extract the
      version names.  */
@@ -3090,7 +3094,7 @@
 				   &glink_mem);
   size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_HALF, 1, EV_CURRENT);
   if (glink == NULL)
-    error (EXIT_FAILURE, 0, gettext ("invalid sh_link value in section %zu"),
+    error (EXIT_FAILURE, 0, _("invalid sh_link value in section %zu"),
 	   elf_ndxscn (scn));
 
   /* Print the header.  */
@@ -3122,12 +3126,12 @@
 	{
 	  ssize_t n;
 	case 0:
-	  fputs_unlocked (gettext ("   0 *local*                     "),
+	  fputs_unlocked (_("   0 *local*                     "),
 			  stdout);
 	  break;
 
 	case 1:
-	  fputs_unlocked (gettext ("   1 *global*                    "),
+	  fputs_unlocked (_("   1 *global*                    "),
 			  stdout);
 	  break;
 
@@ -3164,7 +3168,7 @@
 				   &glink_mem);
   if (glink == NULL)
     {
-      error (0, 0, gettext ("invalid sh_link value in section %zu"),
+      error (0, 0, _("invalid sh_link value in section %zu"),
 	     elf_ndxscn (scn));
       return;
     }
@@ -3191,16 +3195,16 @@
       uint64_t success = 0;
 
       /* xgettext:no-c-format */
-      fputs_unlocked (gettext ("\
+      fputs_unlocked (_("\
  Length  Number  % of total  Coverage\n"), stdout);
-      printf (gettext ("      0  %6" PRIu32 "      %5.1f%%\n"),
+      printf (_("      0  %6" PRIu32 "      %5.1f%%\n"),
 	      counts[0], (counts[0] * 100.0) / nbucket);
 
       uint64_t nzero_counts = 0;
       for (Elf32_Word cnt = 1; cnt <= maxlength; ++cnt)
 	{
 	  nzero_counts += counts[cnt] * cnt;
-	  printf (gettext ("\
+	  printf (_("\
 %7d  %6" PRIu32 "      %5.1f%%    %5.1f%%\n"),
 		  (int) cnt, counts[cnt], (counts[cnt] * 100.0) / nbucket,
 		  (nzero_counts * 100.0) / nsyms);
@@ -3213,7 +3217,7 @@
 	  success += counts[cnt] * acc;
 	}
 
-      printf (gettext ("\
+      printf (_("\
  Average number of tests:   successful lookup: %f\n\
 			  unsuccessful lookup: %f\n"),
 	      (double) success / (double) nzero_counts,
@@ -3231,7 +3235,7 @@
   Elf_Data *data = elf_getdata (scn, NULL);
   if (unlikely (data == NULL))
     {
-      error (0, 0, gettext ("cannot get data for section %d: %s"),
+      error (0, 0, _("cannot get data for section %d: %s"),
 	     (int) elf_ndxscn (scn), elf_errmsg (-1));
       return;
     }
@@ -3239,7 +3243,7 @@
   if (unlikely (data->d_size < 2 * sizeof (Elf32_Word)))
     {
     invalid_data:
-      error (0, 0, gettext ("invalid data in sysv.hash section %d"),
+      error (0, 0, _("invalid data in sysv.hash section %d"),
 	     (int) elf_ndxscn (scn));
       return;
     }
@@ -3268,7 +3272,7 @@
 	  ++chain_len;
 	  if (chain_len > nchain)
 	    {
-	      error (0, 0, gettext ("invalid chain in sysv.hash section %d"),
+	      error (0, 0, _("invalid chain in sysv.hash section %d"),
 		     (int) elf_ndxscn (scn));
 	      free (lengths);
 	      return;
@@ -3295,7 +3299,7 @@
   Elf_Data *data = elf_getdata (scn, NULL);
   if (unlikely (data == NULL))
     {
-      error (0, 0, gettext ("cannot get data for section %d: %s"),
+      error (0, 0, _("cannot get data for section %d: %s"),
 	     (int) elf_ndxscn (scn), elf_errmsg (-1));
       return;
     }
@@ -3303,7 +3307,7 @@
   if (unlikely (data->d_size < 2 * sizeof (Elf64_Xword)))
     {
     invalid_data:
-      error (0, 0, gettext ("invalid data in sysv.hash64 section %d"),
+      error (0, 0, _("invalid data in sysv.hash64 section %d"),
 	     (int) elf_ndxscn (scn));
       return;
     }
@@ -3334,7 +3338,7 @@
 	  ++chain_len;
 	  if (chain_len > nchain)
 	    {
-	      error (0, 0, gettext ("invalid chain in sysv.hash64 section %d"),
+	      error (0, 0, _("invalid chain in sysv.hash64 section %d"),
 		     (int) elf_ndxscn (scn));
 	      free (lengths);
 	      return;
@@ -3361,7 +3365,7 @@
   Elf_Data *data = elf_getdata (scn, NULL);
   if (unlikely (data == NULL))
     {
-      error (0, 0, gettext ("cannot get data for section %d: %s"),
+      error (0, 0, _("cannot get data for section %d: %s"),
 	     (int) elf_ndxscn (scn), elf_errmsg (-1));
       return;
     }
@@ -3370,7 +3374,7 @@
     {
     invalid_data:
       free (lengths);
-      error (0, 0, gettext ("invalid data in gnu.hash section %d"),
+      error (0, 0, _("invalid data in gnu.hash section %d"),
 	     (int) elf_ndxscn (scn));
       return;
     }
@@ -3392,7 +3396,7 @@
   Elf32_Word shift = ((Elf32_Word *) data->d_buf)[3];
 
   /* Is there still room for the sym chain?
-     Use uint64_t calculation to prevent 32bit overlow.  */
+     Use uint64_t calculation to prevent 32bit overflow.  */
   uint64_t used_buf = (4ULL + bitmask_words + nbucket) * sizeof (Elf32_Word);
   uint32_t max_nsyms = (data->d_size - used_buf) / sizeof (Elf32_Word);
   if (used_buf > data->d_size)
@@ -3437,7 +3441,7 @@
     }
 
   char *str;
-  if (unlikely (asprintf (&str, gettext ("\
+  if (unlikely (asprintf (&str, _("\
  Symbol Bias: %u\n\
  Bitmask Size: %zu bytes  %" PRIuFAST32 "%% bits set  2nd hash shift: %u\n"),
 			  (unsigned int) symbias,
@@ -3446,7 +3450,7 @@
 			   / (uint_fast32_t) (bitmask_words
 					      * sizeof (Elf32_Word) * 8)),
 			  (unsigned int) shift) == -1))
-    error (EXIT_FAILURE, 0, gettext ("memory exhausted"));
+    error (EXIT_FAILURE, 0, _("memory exhausted"));
 
   print_hash_info (ebl, scn, shdr, shstrndx, maxlength, nbucket, nsyms,
 		   lengths, str);
@@ -3465,7 +3469,7 @@
   size_t shstrndx;
   if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
     error (EXIT_FAILURE, 0,
-	   gettext ("cannot get section header string table index"));
+	   _("cannot get section header string table index"));
 
   Elf_Scn *scn = NULL;
   while ((scn = elf_nextscn (ebl->elf, scn)) != NULL)
@@ -3481,12 +3485,12 @@
 	    {
 	      if (elf_compress (scn, 0, 0) < 0)
 		printf ("WARNING: %s [%zd]\n",
-			gettext ("Couldn't uncompress section"),
+			_("Couldn't uncompress section"),
 			elf_ndxscn (scn));
 	      shdr = gelf_getshdr (scn, &shdr_mem);
 	      if (unlikely (shdr == NULL))
 		error (EXIT_FAILURE, 0,
-		       gettext ("cannot get section [%zd] header: %s"),
+		       _("cannot get section [%zd] header: %s"),
 		       elf_ndxscn (scn), elf_errmsg (-1));
 	    }
 
@@ -3515,7 +3519,7 @@
   size_t shstrndx;
   if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
     error (EXIT_FAILURE, 0,
-	   gettext ("cannot get section header string table index"));
+	   _("cannot get section header string table index"));
 
   while ((scn = elf_nextscn (ebl->elf, scn)) != NULL)
     {
@@ -3540,7 +3544,7 @@
 	  if (data == NULL)
 	    return;
 
-	  puts (gettext ("\
+	  puts (_("\
        Library                       Time Stamp          Checksum Version Flags"));
 
 	  for (int cnt = 0; cnt < nentries; ++cnt)
@@ -3567,6 +3571,13 @@
     }
 }
 
+static inline size_t
+left (Elf_Data *data,
+      const unsigned char *p)
+{
+  return (const unsigned char *) data->d_buf + data->d_size - p;
+}
+
 static void
 print_attributes (Ebl *ebl, const GElf_Ehdr *ehdr)
 {
@@ -3578,7 +3589,7 @@
   size_t shstrndx;
   if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
     error (EXIT_FAILURE, 0,
-	   gettext ("cannot get section header string table index"));
+	   _("cannot get section header string table index"));
 
   while ((scn = elf_nextscn (ebl->elf, scn)) != NULL)
     {
@@ -3592,7 +3603,7 @@
 			       || ehdr->e_machine != EM_CSKY)))
 	continue;
 
-      printf (gettext ("\
+      printf (_("\
 \nObject attributes section [%2zu] '%s' of %" PRIu64
 		       " bytes at offset %#0" PRIx64 ":\n"),
 	      elf_ndxscn (scn),
@@ -3609,15 +3620,10 @@
       if (unlikely (*p++ != 'A'))
 	return;
 
-      fputs_unlocked (gettext ("  Owner          Size\n"), stdout);
-
-      inline size_t left (void)
-      {
-	return (const unsigned char *) data->d_buf + data->d_size - p;
-      }
+      fputs_unlocked (_("  Owner          Size\n"), stdout);
 
       /* Loop over the sections.  */
-      while (left () >= 4)
+      while (left (data, p) >= 4)
 	{
 	  /* Section length.  */
 	  uint32_t len;
@@ -3626,7 +3632,7 @@
 	  if (MY_ELFDATA != ehdr->e_ident[EI_DATA])
 	    CONVERT (len);
 
-	  if (unlikely (len > left ()))
+	  if (unlikely (len > left (data, p)))
 	    break;
 
 	  /* Section vendor name.  */
@@ -3638,7 +3644,7 @@
 	    break;
 	  ++q;
 
-	  printf (gettext ("  %-13s  %4" PRIu32 "\n"), name, len);
+	  printf (_("  %-13s  %4" PRIu32 "\n"), name, len);
 
 	  bool gnu_vendor = (q - name == sizeof "gnu"
 			     && !memcmp (name, "gnu", sizeof "gnu"));
@@ -3677,12 +3683,12 @@
 		  {
 		  default:
 		    /* Unknown subsection, print and skip.  */
-		    printf (gettext ("    %-4u %12" PRIu32 "\n"),
+		    printf (_("    %-4u %12" PRIu32 "\n"),
 			    subsection_tag, subsection_len);
 		    break;
 
 		  case 1:	/* Tag_File */
-		    printf (gettext ("    File: %11" PRIu32 "\n"),
+		    printf (_("    File: %11" PRIu32 "\n"),
 			    subsection_len);
 
 		    while (r < q)
@@ -3731,13 +3737,13 @@
 			if (tag_name != NULL)
 			  {
 			    if (tag == 32)
-			      printf (gettext ("      %s: %" PRId64 ", %s\n"),
+			      printf (_("      %s: %" PRId64 ", %s\n"),
 				      tag_name, value, string);
 			    else if (string == NULL && value_name == NULL)
-			      printf (gettext ("      %s: %" PRId64 "\n"),
+			      printf (_("      %s: %" PRId64 "\n"),
 				      tag_name, value);
 			    else
-			      printf (gettext ("      %s: %s\n"),
+			      printf (_("      %s: %s\n"),
 				      tag_name, string ?: value_name);
 			  }
 			else
@@ -3747,10 +3753,10 @@
 			    assert (tag != 32
 				    || strcmp ((const char *) name, "gnu"));
 			    if (string == NULL)
-			      printf (gettext ("      %u: %" PRId64 "\n"),
+			      printf (_("      %u: %" PRId64 "\n"),
 				      tag, value);
 			    else
-			      printf (gettext ("      %u: %s\n"),
+			      printf (_("      %u: %s\n"),
 				      tag, string);
 			  }
 		      }
@@ -4055,7 +4061,7 @@
 {
   static const char *const known[] =
     {
-      /* Normally we can't affort building huge table of 64K entries,
+      /* Normally we can't afford building huge table of 64K entries,
 	 most of them zero, just because there are a couple defined
 	 values at the far end.  In case of opcodes, it's OK.  */
 #define DWARF_ONE_KNOWN_DW_OP(NAME, CODE) [CODE] = #NAME,
@@ -4783,7 +4789,7 @@
       continue;
 
     invalid:
-      printf (gettext ("%*s[%2" PRIuMAX "] %s  <TRUNCATED>\n"),
+      printf (_("%*s[%2" PRIuMAX "] %s  <TRUNCATED>\n"),
 	      indent, "", (uintmax_t) offset, op_name);
       break;
     }
@@ -4829,10 +4835,13 @@
   return cudie_base (&cu);
 }
 
+/* To store the name used in compare_listptr */
+static const char *sort_listptr_name;
+
 static int
-compare_listptr (const void *a, const void *b, void *arg)
+compare_listptr (const void *a, const void *b)
 {
-  const char *name = arg;
+  const char *name = sort_listptr_name;
   struct listptr *p1 = (void *) a;
   struct listptr *p2 = (void *) b;
 
@@ -4847,28 +4856,28 @@
 	{
 	  p1->warned = p2->warned = true;
 	  error (0, 0,
-		 gettext ("%s %#" PRIx64 " used with different address sizes"),
+		 _("%s %#" PRIx64 " used with different address sizes"),
 		 name, (uint64_t) p1->offset);
 	}
       if (p1->dwarf64 != p2->dwarf64)
 	{
 	  p1->warned = p2->warned = true;
 	  error (0, 0,
-		 gettext ("%s %#" PRIx64 " used with different offset sizes"),
+		 _("%s %#" PRIx64 " used with different offset sizes"),
 		 name, (uint64_t) p1->offset);
 	}
       if (listptr_base (p1) != listptr_base (p2))
 	{
 	  p1->warned = p2->warned = true;
 	  error (0, 0,
-		 gettext ("%s %#" PRIx64 " used with different base addresses"),
+		 _("%s %#" PRIx64 " used with different base addresses"),
 		 name, (uint64_t) p1->offset);
 	}
       if (p1->attr != p2 ->attr)
 	{
 	  p1->warned = p2->warned = true;
 	  error (0, 0,
-		 gettext ("%s %#" PRIx64
+		 _("%s %#" PRIx64
 			  " used with different attribute %s and %s"),
 		 name, (uint64_t) p1->offset, dwarf_attr_name (p2->attr),
 		 dwarf_attr_name (p2->attr));
@@ -4942,8 +4951,11 @@
 sort_listptr (struct listptr_table *table, const char *name)
 {
   if (table->n > 0)
-    qsort_r (table->table, table->n, sizeof table->table[0],
-	     &compare_listptr, (void *) name);
+    {
+      sort_listptr_name = name;
+      qsort (table->table, table->n, sizeof table->table[0],
+	     &compare_listptr);
+    }
 }
 
 static bool
@@ -4965,7 +4977,7 @@
       || p->offset >= (Dwarf_Off) (endp - *readp + offset))
     {
       *readp = endp;
-      printf (gettext (" [%6tx]  <UNUSED GARBAGE IN REST OF SECTION>\n"),
+      printf (_(" [%6tx]  <UNUSED GARBAGE IN REST OF SECTION>\n"),
 	      offset);
       return true;
     }
@@ -4973,7 +4985,7 @@
   if (p->offset != (Dwarf_Off) offset)
     {
       *readp += p->offset - offset;
-      printf (gettext (" [%6tx]  <UNUSED GARBAGE> ... %" PRIu64 " bytes ...\n"),
+      printf (_(" [%6tx]  <UNUSED GARBAGE> ... %" PRIu64 " bytes ...\n"),
 	      offset, (Dwarf_Off) p->offset - offset);
       return true;
     }
@@ -4993,17 +5005,19 @@
 }
 
 static Dwarf_Off
-next_listptr_offset (struct listptr_table *table, size_t idx)
+next_listptr_offset (struct listptr_table *table, size_t *idxp, Dwarf_Off off)
 {
   /* Note that multiple attributes could in theory point to the same loclist
      offset, so make sure we pick one that is bigger than the current one.
      The table is sorted on offset.  */
-  Dwarf_Off offset = table->table[idx].offset;
-  while (++idx < table->n)
+  if (*idxp < table->n)
     {
-      Dwarf_Off next = table->table[idx].offset;
-      if (next > offset)
-	return next;
+      while (++*idxp < table->n)
+	{
+	  Dwarf_Off next = table->table[*idxp].offset;
+	  if (next > off)
+	    return next;
+	}
     }
   return 0;
 }
@@ -5036,13 +5050,36 @@
       struct listptr *p = &table->table[*idxp];
       *base = listptr_base (p);
       *cu = p->cu;
-      ++*idxp;
       return true;
     }
 
   return false;
 }
 
+/* Returns the next index with the current CU for the given attribute.
+   If there is none false is returned, otherwise true.  Assumes the
+   table has been sorted.  */
+static bool
+listptr_attr (struct listptr_table *table, size_t idxp,
+	      Dwarf_Off offset, unsigned int attr)
+{
+  struct listptr *listptr;
+  do
+    {
+      listptr = get_listptr (table, idxp);
+      if (listptr == NULL)
+	return false;
+
+      if (listptr->offset == offset && listptr->attr == attr)
+	return true;
+
+      idxp++;
+    }
+  while (listptr->offset <= offset);
+
+  return false;
+}
+
 static void
 print_debug_abbrev_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
 			    Ebl *ebl, GElf_Ehdr *ehdr __attribute__ ((unused)),
@@ -5051,7 +5088,7 @@
   const size_t sh_size = (dbg->sectiondata[IDX_debug_abbrev] ?
 			  dbg->sectiondata[IDX_debug_abbrev]->d_size : 0);
 
-  printf (gettext ("\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"
+  printf (_("\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"
 		   " [ Code]\n"),
 	  elf_ndxscn (scn), section_name (ebl, shdr),
 	  (uint64_t) shdr->sh_offset);
@@ -5059,7 +5096,7 @@
   Dwarf_Off offset = 0;
   while (offset < sh_size)
     {
-      printf (gettext ("\nAbbreviation section at offset %" PRIu64 ":\n"),
+      printf (_("\nAbbreviation section at offset %" PRIu64 ":\n"),
 	      offset);
 
       while (1)
@@ -5072,7 +5109,7 @@
 	    {
 	      if (unlikely (res < 0))
 		{
-		  printf (gettext ("\
+		  printf (_("\
  *** error while reading abbreviation: %s\n"),
 			  dwarf_errmsg (-1));
 		  return;
@@ -5088,7 +5125,7 @@
 	  unsigned int tag = dwarf_getabbrevtag (&abbrev);
 	  int has_children = dwarf_abbrevhaschildren (&abbrev);
 
-	  printf (gettext (" [%5u] offset: %" PRId64
+	  printf (_(" [%5u] offset: %" PRId64
 			   ", children: %s, tag: %s\n"),
 		  code, (int64_t) offset,
 		  has_children ? yes_str : no_str,
@@ -5121,7 +5158,7 @@
 			  Ebl *ebl, GElf_Ehdr *ehdr,
 			  Elf_Scn *scn, GElf_Shdr *shdr, Dwarf *dbg)
 {
-  printf (gettext ("\
+  printf (_("\
 \nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
 	  elf_ndxscn (scn), section_name (ebl, shdr),
 	  (uint64_t) shdr->sh_offset);
@@ -5134,7 +5171,7 @@
 		    ?: elf_rawdata (scn, NULL));
   if (unlikely (data == NULL))
     {
-      error (0, 0, gettext ("cannot get .debug_addr section data: %s"),
+      error (0, 0, _("cannot get .debug_addr section data: %s"),
 	     elf_errmsg (-1));
       return;
     }
@@ -5226,7 +5263,7 @@
 		    {
 		      error (0, 0,
 			     "Warning: Couldn't calculate .debug_addr "
-			     " unit lenght at %" PRIx64, off);
+			     " unit length at %" PRIx64, off);
 		      next_unitp = readendp;
 		    }
 		}
@@ -5234,12 +5271,12 @@
 
 	      /* Pretend we have a header.  */
 	      printf ("\n");
-	      printf (gettext (" Length:         %8" PRIu64 "\n"),
+	      printf (_(" Length:         %8" PRIu64 "\n"),
 		      unit_length);
-	      printf (gettext (" DWARF version:  %8" PRIu16 "\n"), version);
-	      printf (gettext (" Address size:   %8" PRIu64 "\n"),
+	      printf (_(" DWARF version:  %8" PRIu16 "\n"), version);
+	      printf (_(" Address size:   %8" PRIu64 "\n"),
 		      (uint64_t) address_size);
-	      printf (gettext (" Segment size:   %8" PRIu64 "\n"),
+	      printf (_(" Segment size:   %8" PRIu64 "\n"),
 		      (uint64_t) segment_size);
 	      printf ("\n");
 	    }
@@ -5258,7 +5295,7 @@
 		  unit_length = read_8ubyte_unaligned_inc (dbg, readp);
 		}
 	      printf ("\n");
-	      printf (gettext (" Length:         %8" PRIu64 "\n"),
+	      printf (_(" Length:         %8" PRIu64 "\n"),
 		      unit_length);
 
 	      /* We need at least 2-bytes (version) + 1-byte
@@ -5273,32 +5310,32 @@
 	      next_unitp = readp + unit_length;
 
 	      version = read_2ubyte_unaligned_inc (dbg, readp);
-	      printf (gettext (" DWARF version:  %8" PRIu16 "\n"), version);
+	      printf (_(" DWARF version:  %8" PRIu16 "\n"), version);
 
 	      if (version != 5)
 		{
-		  error (0, 0, gettext ("Unknown version"));
+		  error (0, 0, _("Unknown version"));
 		  goto next_unit;
 		}
 
 	      address_size = *readp++;
-	      printf (gettext (" Address size:   %8" PRIu64 "\n"),
+	      printf (_(" Address size:   %8" PRIu64 "\n"),
 		      (uint64_t) address_size);
 
 	      if (address_size != 4 && address_size != 8)
 		{
-		  error (0, 0, gettext ("unsupported address size"));
+		  error (0, 0, _("unsupported address size"));
 		  goto next_unit;
 		}
 
 	      segment_size = *readp++;
-	      printf (gettext (" Segment size:   %8" PRIu64 "\n"),
+	      printf (_(" Segment size:   %8" PRIu64 "\n"),
 		      (uint64_t) segment_size);
 	      printf ("\n");
 
 	      if (segment_size != 0)
 		{
-		  error (0, 0, gettext ("unsupported segment size"));
+		  error (0, 0, _("unsupported segment size"));
 		  goto next_unit;
 		}
 
@@ -5351,7 +5388,7 @@
   size_t cnt;
   if (unlikely (dwarf_getaranges (dbg, &aranges, &cnt) != 0))
     {
-      error (0, 0, gettext ("cannot get .debug_aranges content: %s"),
+      error (0, 0, _("cannot get .debug_aranges content: %s"),
 	     dwarf_errmsg (-1));
       return;
     }
@@ -5361,7 +5398,7 @@
   glink = gelf_getshdr (elf_getscn (ebl->elf, shdr->sh_link), &glink_mem);
   if (glink == NULL)
     {
-      error (0, 0, gettext ("invalid sh_link value in section %zu"),
+      error (0, 0, _("invalid sh_link value in section %zu"),
 	     elf_ndxscn (scn));
       return;
     }
@@ -5397,9 +5434,9 @@
       Dwarf_Off offset;
 
       if (unlikely (dwarf_getarangeinfo (runp, &start, &length, &offset) != 0))
-	printf (gettext (" [%*zu] ???\n"), digits, n);
+	printf (_(" [%*zu] ???\n"), digits, n);
       else
-	printf (gettext (" [%*zu] start: %0#*" PRIx64
+	printf (_(" [%*zu] start: %0#*" PRIx64
 			 ", length: %5" PRIu64 ", CU DIE offset: %6"
 			 PRId64 "\n"),
 		digits, n, ehdr->e_ident[EI_CLASS] == ELFCLASS32 ? 10 : 18,
@@ -5425,12 +5462,12 @@
 
   if (unlikely (data == NULL))
     {
-      error (0, 0, gettext ("cannot get .debug_aranges content: %s"),
+      error (0, 0, _("cannot get .debug_aranges content: %s"),
 	     elf_errmsg (-1));
       return;
     }
 
-  printf (gettext ("\
+  printf (_("\
 \nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
 	  elf_ndxscn (scn), section_name (ebl, shdr),
 	  (uint64_t) shdr->sh_offset);
@@ -5443,11 +5480,11 @@
       const unsigned char *hdrstart = readp;
       size_t start_offset = hdrstart - (const unsigned char *) data->d_buf;
 
-      printf (gettext ("\nTable at offset %zu:\n"), start_offset);
+      printf (_("\nTable at offset %zu:\n"), start_offset);
       if (readp + 4 > readendp)
 	{
 	invalid_data:
-	  error (0, 0, gettext ("invalid data in section [%zu] '%s'"),
+	  error (0, 0, _("invalid data in section [%zu] '%s'"),
 		 elf_ndxscn (scn), section_name (ebl, shdr));
 	  return;
 	}
@@ -5463,7 +5500,7 @@
 	}
 
       const unsigned char *nexthdr = readp + length;
-      printf (gettext ("\n Length:        %6" PRIu64 "\n"),
+      printf (_("\n Length:        %6" PRIu64 "\n"),
 	      (uint64_t) length);
 
       if (unlikely (length > (size_t) (readendp - readp)))
@@ -5475,11 +5512,11 @@
       if (readp + 2 > readendp)
 	goto invalid_data;
       uint_fast16_t version = read_2ubyte_unaligned_inc (dbg, readp);
-      printf (gettext (" DWARF version: %6" PRIuFAST16 "\n"),
+      printf (_(" DWARF version: %6" PRIuFAST16 "\n"),
 	      version);
       if (version != 2)
 	{
-	  error (0, 0, gettext ("unsupported aranges version"));
+	  error (0, 0, _("unsupported aranges version"));
 	  goto next_table;
 	}
 
@@ -5490,28 +5527,28 @@
 	offset = read_8ubyte_unaligned_inc (dbg, readp);
       else
 	offset = read_4ubyte_unaligned_inc (dbg, readp);
-      printf (gettext (" CU offset:     %6" PRIx64 "\n"),
+      printf (_(" CU offset:     %6" PRIx64 "\n"),
 	      (uint64_t) offset);
 
       if (readp + 1 > readendp)
 	goto invalid_data;
       unsigned int address_size = *readp++;
-      printf (gettext (" Address size:  %6" PRIu64 "\n"),
+      printf (_(" Address size:  %6" PRIu64 "\n"),
 	      (uint64_t) address_size);
       if (address_size != 4 && address_size != 8)
 	{
-	  error (0, 0, gettext ("unsupported address size"));
+	  error (0, 0, _("unsupported address size"));
 	  goto next_table;
 	}
 
       if (readp + 1 > readendp)
 	goto invalid_data;
       unsigned int segment_size = *readp++;
-      printf (gettext (" Segment size:  %6" PRIu64 "\n\n"),
+      printf (_(" Segment size:  %6" PRIu64 "\n\n"),
 	      (uint64_t) segment_size);
       if (segment_size != 0 && segment_size != 4 && segment_size != 8)
 	{
-	  error (0, 0, gettext ("unsupported segment size"));
+	  error (0, 0, _("unsupported segment size"));
 	  goto next_table;
 	}
 
@@ -5562,7 +5599,7 @@
       if (readp != nexthdr)
 	{
 	  size_t padding = nexthdr - readp;
-	  printf (gettext ("   %zu padding bytes\n"), padding);
+	  printf (_("   %zu padding bytes\n"), padding);
 	  readp = nexthdr;
 	}
     }
@@ -5597,7 +5634,7 @@
 			      Elf_Scn *scn, GElf_Shdr *shdr,
 			      Dwarf *dbg __attribute__((unused)))
 {
-  printf (gettext ("\
+  printf (_("\
 \nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
 	  elf_ndxscn (scn), section_name (ebl, shdr),
 	  (uint64_t) shdr->sh_offset);
@@ -5606,7 +5643,7 @@
 		   ?: elf_rawdata (scn, NULL));
   if (unlikely (data == NULL))
     {
-      error (0, 0, gettext ("cannot get .debug_rnglists content: %s"),
+      error (0, 0, _("cannot get .debug_rnglists content: %s"),
 	     elf_errmsg (-1));
       return;
     }
@@ -5623,13 +5660,13 @@
       if (unlikely (readp > dataend - 4))
 	{
 	invalid_data:
-	  error (0, 0, gettext ("invalid data in section [%zu] '%s'"),
+	  error (0, 0, _("invalid data in section [%zu] '%s'"),
 		 elf_ndxscn (scn), section_name (ebl, shdr));
 	  return;
 	}
 
       ptrdiff_t offset = readp - (unsigned char *) data->d_buf;
-      printf (gettext ("Table at Offset 0x%" PRIx64 ":\n\n"),
+      printf (_("Table at Offset 0x%" PRIx64 ":\n\n"),
 	      (uint64_t) offset);
 
       uint64_t unit_length = read_4ubyte_unaligned_inc (dbg, readp);
@@ -5642,7 +5679,7 @@
 	  unit_length = read_8ubyte_unaligned_inc (dbg, readp);
 	  offset_size = 8;
 	}
-      printf (gettext (" Length:         %8" PRIu64 "\n"), unit_length);
+      printf (_(" Length:         %8" PRIu64 "\n"), unit_length);
 
       /* We need at least 2-bytes + 1-byte + 1-byte + 4-bytes = 8
 	 bytes to complete the header.  And this unit cannot go beyond
@@ -5655,36 +5692,36 @@
       const unsigned char *nexthdr = readp + unit_length;
 
       uint16_t version = read_2ubyte_unaligned_inc (dbg, readp);
-      printf (gettext (" DWARF version:  %8" PRIu16 "\n"), version);
+      printf (_(" DWARF version:  %8" PRIu16 "\n"), version);
 
       if (version != 5)
 	{
-	  error (0, 0, gettext ("Unknown version"));
+	  error (0, 0, _("Unknown version"));
 	  goto next_table;
 	}
 
       uint8_t address_size = *readp++;
-      printf (gettext (" Address size:   %8" PRIu64 "\n"),
+      printf (_(" Address size:   %8" PRIu64 "\n"),
 	      (uint64_t) address_size);
 
       if (address_size != 4 && address_size != 8)
 	{
-	  error (0, 0, gettext ("unsupported address size"));
+	  error (0, 0, _("unsupported address size"));
 	  goto next_table;
 	}
 
       uint8_t segment_size = *readp++;
-      printf (gettext (" Segment size:   %8" PRIu64 "\n"),
+      printf (_(" Segment size:   %8" PRIu64 "\n"),
 	      (uint64_t) segment_size);
 
       if (segment_size != 0 && segment_size != 4 && segment_size != 8)
         {
-          error (0, 0, gettext ("unsupported segment size"));
+          error (0, 0, _("unsupported segment size"));
           goto next_table;
         }
 
       uint32_t offset_entry_count = read_4ubyte_unaligned_inc (dbg, readp);
-      printf (gettext (" Offset entries: %8" PRIu64 "\n"),
+      printf (_(" Offset entries: %8" PRIu64 "\n"),
 	      (uint64_t) offset_entry_count);
 
       /* We need the CU that uses this unit to get the initial base address. */
@@ -5700,15 +5737,15 @@
 	  if (dwarf_cu_die (cu, &cudie,
 			    NULL, NULL, NULL, NULL,
 			    NULL, NULL) == NULL)
-	    printf (gettext (" Unknown CU base: "));
+	    printf (_(" Unknown CU base: "));
 	  else
-	    printf (gettext (" CU [%6" PRIx64 "] base: "),
+	    printf (_(" CU [%6" PRIx64 "] base: "),
 		    dwarf_dieoffset (&cudie));
 	  print_dwarf_addr (dwflmod, address_size, cu_base, cu_base);
 	  printf ("\n");
 	}
       else
-	printf (gettext (" Not associated with a CU.\n"));
+	printf (_(" Not associated with a CU.\n"));
 
       printf ("\n");
 
@@ -5719,11 +5756,11 @@
 	  if (offset_entry_count > max_entries)
 	    {
 	      error (0, 0,
-		     gettext ("too many offset entries for unit length"));
+		     _("too many offset entries for unit length"));
 	      offset_entry_count = max_entries;
 	    }
 
-	  printf (gettext ("  Offsets starting at 0x%" PRIx64 ":\n"),
+	  printf (_("  Offsets starting at 0x%" PRIx64 ":\n"),
 		  (uint64_t) (offset_array_start
 			      - (unsigned char *) data->d_buf));
 	  for (uint32_t idx = 0; idx < offset_entry_count; idx++)
@@ -5775,7 +5812,7 @@
 	      if ((uint64_t) (nexthdr - readp) < 1)
 		{
 		invalid_range:
-		  error (0, 0, gettext ("invalid range list data"));
+		  error (0, 0, _("invalid range list data"));
 		  goto next_table;
 		}
 	      get_uleb128 (op1, readp, nexthdr);
@@ -5960,7 +5997,7 @@
       if (readp != nexthdr)
 	{
           size_t padding = nexthdr - readp;
-          printf (gettext ("   %zu padding bytes\n\n"), padding);
+          printf (_("   %zu padding bytes\n\n"), padding);
 	  readp = nexthdr;
 	}
     }
@@ -5977,12 +6014,12 @@
 		    ?: elf_rawdata (scn, NULL));
   if (unlikely (data == NULL))
     {
-      error (0, 0, gettext ("cannot get .debug_ranges content: %s"),
+      error (0, 0, _("cannot get .debug_ranges content: %s"),
 	     elf_errmsg (-1));
       return;
     }
 
-  printf (gettext ("\
+  printf (_("\
 \nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
 	  elf_ndxscn (scn), section_name (ebl, shdr),
 	  (uint64_t) shdr->sh_offset);
@@ -6013,9 +6050,9 @@
 	  if (dwarf_cu_die (cu, &cudie,
 			    NULL, NULL, NULL, NULL,
 			    NULL, NULL) == NULL)
-	    printf (gettext ("\n Unknown CU base: "));
+	    printf (_("\n Unknown CU base: "));
 	  else
-	    printf (gettext ("\n CU [%6" PRIx64 "] base: "),
+	    printf (_("\n CU [%6" PRIx64 "] base: "),
 		    dwarf_dieoffset (&cudie));
 	  print_dwarf_addr (dwflmod, address_size, base, base);
 	  printf ("\n");
@@ -6024,7 +6061,7 @@
 
       if (unlikely (data->d_size - offset < (size_t) address_size * 2))
 	{
-	  printf (gettext (" [%6tx]  <INVALID DATA>\n"), offset);
+	  printf (_(" [%6tx]  <INVALID DATA>\n"), offset);
 	  break;
 	}
 
@@ -6045,15 +6082,21 @@
 
       if (begin == (Dwarf_Addr) -1l) /* Base address entry.  */
 	{
-	  printf (gettext (" [%6tx] base address\n          "), offset);
+	  if (first)
+	    printf (" [%6tx] ", offset);
+	  else
+	    printf ("          ");
+	  puts (_("base address"));
+	  printf ("          ");
 	  print_dwarf_addr (dwflmod, address_size, end, end);
 	  printf ("\n");
 	  base = end;
+	  first = false;
 	}
       else if (begin == 0 && end == 0) /* End of list entry.  */
 	{
 	  if (first)
-	    printf (gettext (" [%6tx] empty list\n"), offset);
+	    printf (_(" [%6tx] empty list\n"), offset);
 	  first = true;
 	}
       else
@@ -6163,12 +6206,19 @@
     default:
     invalid:
       error (1, 0,
-	     gettext ("invalid encoding"));
+	     _("invalid encoding"));
     }
 
   return readp;
 }
 
+static const char *
+regname (Ebl *ebl, unsigned int regno, char *regnamebuf)
+{
+  register_info (ebl, regno, NULL, regnamebuf, NULL, NULL);
+
+  return regnamebuf;
+}
 
 static void
 print_cfa_program (const unsigned char *readp, const unsigned char *const endp,
@@ -6176,14 +6226,9 @@
 		   int data_align,
 		   unsigned int version, unsigned int ptr_size,
 		   unsigned int encoding,
-		   Dwfl_Module *dwflmod, Ebl *ebl, Dwarf *dbg)
+		   Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr, Dwarf *dbg)
 {
   char regnamebuf[REGNAMESZ];
-  const char *regname (unsigned int regno)
-  {
-    register_info (ebl, regno, NULL, regnamebuf, NULL, NULL);
-    return regnamebuf;
-  }
 
   puts ("\n   Program:");
   Dwarf_Word pc = vma_base;
@@ -6240,26 +6285,28 @@
 	    get_uleb128 (op2, readp, endp);
 	    printf ("     offset_extended r%" PRIu64 " (%s) at cfa%+" PRId64
 		    "\n",
-		    op1, regname (op1), op2 * data_align);
+		    op1, regname (ebl, op1, regnamebuf), op2 * data_align);
 	    break;
 	  case DW_CFA_restore_extended:
 	    if ((uint64_t) (endp - readp) < 1)
 	      goto invalid;
 	    get_uleb128 (op1, readp, endp);
 	    printf ("     restore_extended r%" PRIu64 " (%s)\n",
-		    op1, regname (op1));
+		    op1, regname (ebl, op1, regnamebuf));
 	    break;
 	  case DW_CFA_undefined:
 	    if ((uint64_t) (endp - readp) < 1)
 	      goto invalid;
 	    get_uleb128 (op1, readp, endp);
-	    printf ("     undefined r%" PRIu64 " (%s)\n", op1, regname (op1));
+	    printf ("     undefined r%" PRIu64 " (%s)\n", op1,
+		    regname (ebl, op1, regnamebuf));
 	    break;
 	  case DW_CFA_same_value:
 	    if ((uint64_t) (endp - readp) < 1)
 	      goto invalid;
 	    get_uleb128 (op1, readp, endp);
-	    printf ("     same_value r%" PRIu64 " (%s)\n", op1, regname (op1));
+	    printf ("     same_value r%" PRIu64 " (%s)\n", op1,
+		    regname (ebl, op1, regnamebuf));
 	    break;
 	  case DW_CFA_register:
 	    if ((uint64_t) (endp - readp) < 1)
@@ -6269,7 +6316,8 @@
 	      goto invalid;
 	    get_uleb128 (op2, readp, endp);
 	    printf ("     register r%" PRIu64 " (%s) in r%" PRIu64 " (%s)\n",
-		    op1, regname (op1), op2, regname (op2));
+		    op1, regname (ebl, op1, regnamebuf), op2,
+		    regname (ebl, op2, regnamebuf));
 	    break;
 	  case DW_CFA_remember_state:
 	    puts ("     remember_state");
@@ -6285,14 +6333,14 @@
 	      goto invalid;
 	    get_uleb128 (op2, readp, endp);
 	    printf ("     def_cfa r%" PRIu64 " (%s) at offset %" PRIu64 "\n",
-		    op1, regname (op1), op2);
+		    op1, regname (ebl, op1, regnamebuf), op2);
 	    break;
 	  case DW_CFA_def_cfa_register:
 	    if ((uint64_t) (endp - readp) < 1)
 	      goto invalid;
 	    get_uleb128 (op1, readp, endp);
 	    printf ("     def_cfa_register r%" PRIu64 " (%s)\n",
-		    op1, regname (op1));
+		    op1, regname (ebl, op1, regnamebuf));
 	    break;
 	  case DW_CFA_def_cfa_offset:
 	    if ((uint64_t) (endp - readp) < 1)
@@ -6308,7 +6356,7 @@
 	    if ((uint64_t) (endp - readp) < op1)
 	      {
 	    invalid:
-	        fputs (gettext ("         <INVALID DATA>\n"), stdout);
+	        fputs (_("         <INVALID DATA>\n"), stdout);
 		return;
 	      }
 	    print_ops (dwflmod, dbg, 10, 10, version, ptr_size, 0, NULL,
@@ -6323,7 +6371,7 @@
 	      goto invalid;
 	    get_uleb128 (op2, readp, endp);	/* Length of DW_FORM_block.  */
 	    printf ("     expression r%" PRIu64 " (%s) \n",
-		    op1, regname (op1));
+		    op1, regname (ebl, op1, regnamebuf));
 	    if ((uint64_t) (endp - readp) < op2)
 	      goto invalid;
 	    print_ops (dwflmod, dbg, 10, 10, version, ptr_size, 0, NULL,
@@ -6339,7 +6387,7 @@
 	    get_sleb128 (sop2, readp, endp);
 	    printf ("     offset_extended_sf r%" PRIu64 " (%s) at cfa%+"
 		    PRId64 "\n",
-		    op1, regname (op1), sop2 * data_align);
+		    op1, regname (ebl, op1, regnamebuf), sop2 * data_align);
 	    break;
 	  case DW_CFA_def_cfa_sf:
 	    if ((uint64_t) (endp - readp) < 1)
@@ -6349,7 +6397,7 @@
 	      goto invalid;
 	    get_sleb128 (sop2, readp, endp);
 	    printf ("     def_cfa_sf r%" PRIu64 " (%s) at offset %" PRId64 "\n",
-		    op1, regname (op1), sop2 * data_align);
+		    op1, regname (ebl, op1, regnamebuf), sop2 * data_align);
 	    break;
 	  case DW_CFA_def_cfa_offset_sf:
 	    if ((uint64_t) (endp - readp) < 1)
@@ -6385,7 +6433,7 @@
 	      goto invalid;
 	    get_uleb128 (op2, readp, endp);	/* Length of DW_FORM_block.  */
 	    printf ("     val_expression r%" PRIu64 " (%s)\n",
-		    op1, regname (op1));
+		    op1, regname (ebl, op1, regnamebuf));
 	    if ((uint64_t) (endp - readp) < op2)
 	      goto invalid;
 	    print_ops (dwflmod, dbg, 10, 10, version, ptr_size, 0,
@@ -6399,8 +6447,11 @@
 	    printf ("     MIPS_advance_loc8 %" PRIu64 " to %#" PRIx64 "\n",
 		    op1, pc += op1 * code_align);
 	    break;
-	  case DW_CFA_GNU_window_save:
-	    puts ("     GNU_window_save");
+	  case DW_CFA_GNU_window_save:  /* DW_CFA_AARCH64_negate_ra_state  */
+	    if (ehdr->e_machine == EM_AARCH64)
+	      puts ("     AARCH64_negate_ra_state");
+	    else
+	      puts ("     GNU_window_save");
 	    break;
 	  case DW_CFA_GNU_args_size:
 	    if ((uint64_t) (endp - readp) < 1)
@@ -6422,11 +6473,12 @@
 	    goto invalid;
 	  get_uleb128 (offset, readp, endp);
 	  printf ("     offset r%u (%s) at cfa%+" PRId64 "\n",
-		  opcode & 0x3f, regname (opcode & 0x3f), offset * data_align);
+		  opcode & 0x3f, regname (ebl, opcode & 0x3f, regnamebuf),
+		  offset * data_align);
 	}
       else
 	printf ("     restore r%u (%s)\n",
-		opcode & 0x3f, regname (opcode & 0x3f));
+		opcode & 0x3f, regname (ebl, opcode & 0x3f, regnamebuf));
     }
 }
 
@@ -6561,7 +6613,7 @@
   GElf_Addr bias;
   if (dwfl_module_getelf (dwflmod, &bias) == NULL)
     {
-      error (0, 0, gettext ("cannot get ELF: %s"), dwfl_errmsg (-1));
+      error (0, 0, _("cannot get ELF: %s"), dwfl_errmsg (-1));
       return;
     }
 
@@ -6573,17 +6625,17 @@
 
   if (unlikely (data == NULL))
     {
-      error (0, 0, gettext ("cannot get %s content: %s"),
+      error (0, 0, _("cannot get %s content: %s"),
 	     scnname, elf_errmsg (-1));
       return;
     }
 
   if (is_eh_frame)
-    printf (gettext ("\
+    printf (_("\
 \nCall frame information section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
 	    elf_ndxscn (scn), scnname, (uint64_t) shdr->sh_offset);
   else
-    printf (gettext ("\
+    printf (_("\
 \nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
 	    elf_ndxscn (scn), scnname, (uint64_t) shdr->sh_offset);
 
@@ -6607,7 +6659,7 @@
       if (unlikely (readp + 4 > dataend))
 	{
 	invalid_data:
-	  error (0, 0, gettext ("invalid data in section [%zu] '%s'"),
+	  error (0, 0, _("invalid data in section [%zu] '%s'"),
 		     elf_ndxscn (scn), scnname);
 	      return;
 	}
@@ -6629,7 +6681,7 @@
 
       if (unlikely (unit_length == 0))
 	{
-	  printf (gettext ("\n [%6tx] Zero terminator\n"), offset);
+	  printf (_("\n [%6tx] Zero terminator\n"), offset);
 	  continue;
 	}
 
@@ -6730,7 +6782,7 @@
 
 	      if (augmentationlen > (size_t) (cieend - readp))
 		{
-		  error (0, 0, gettext ("invalid augmentation length"));
+		  error (0, 0, _("invalid augmentation length"));
 		  readp = cieend;
 		  continue;
 		}
@@ -6745,13 +6797,13 @@
 		  if (*cp == 'R')
 		    {
 		      fde_encoding = *readp++;
-		      print_encoding_base (gettext ("FDE address encoding: "),
+		      print_encoding_base (_("FDE address encoding: "),
 					   fde_encoding);
 		    }
 		  else if (*cp == 'L')
 		    {
 		      lsda_encoding = *readp++;
-		      print_encoding_base (gettext ("LSDA pointer encoding: "),
+		      print_encoding_base (_("LSDA pointer encoding: "),
 					   lsda_encoding);
 		    }
 		  else if (*cp == 'P')
@@ -6861,14 +6913,14 @@
 			  & (ptr_size == 4
 			     ? UINT64_C (0xffffffff)
 			     : UINT64_C (0xffffffffffffffff)));
-	      printf (gettext (" (offset: %#" PRIx64 ")"),
+	      printf (_(" (offset: %#" PRIx64 ")"),
 		      (uint64_t) vma_base);
 	    }
 
 	  printf ("\n   address_range:            %#" PRIx64,
 		  (uint64_t) address_range);
 	  if ((fde_encoding & 0x70) == DW_EH_PE_pcrel)
-	    printf (gettext (" (end offset: %#" PRIx64 ")"),
+	    printf (_(" (end offset: %#" PRIx64 ")"),
 		    ((uint64_t) vma_base + (uint64_t) address_range)
 		    & (ptr_size == 4
 		       ? UINT64_C (0xffffffff)
@@ -6884,7 +6936,7 @@
 
 	      if (augmentationlen > (size_t) (cieend - readp))
 		{
-		  error (0, 0, gettext ("invalid augmentation length"));
+		  error (0, 0, _("invalid augmentation length"));
 		  readp = cieend;
 		  continue;
 		}
@@ -6905,7 +6957,7 @@
 					    &readp[augmentationlen],
 					    &lsda_pointer, dbg);
 			  u = p - readp;
-			  printf (gettext ("\
+			  printf (_("\
    %-26sLSDA pointer: %#" PRIx64 "\n"),
 				  hdr, lsda_pointer);
 			  hdr = "";
@@ -6930,7 +6982,7 @@
       else
 	print_cfa_program (readp, cieend, vma_base, code_alignment_factor,
 			   data_alignment_factor, version, ptr_size,
-			   fde_encoding, dwflmod, ebl, dbg);
+			   fde_encoding, dwflmod, ebl, ehdr, dbg);
       readp = cieend;
     }
 }
@@ -6990,7 +7042,7 @@
   if (unlikely (attr == 0))
     {
       if (!cbargs->silent)
-	error (0, 0, gettext ("DIE [%" PRIx64 "] "
+	error (0, 0, _("DIE [%" PRIx64 "] "
 			      "cannot get attribute code: %s"),
 	       dwarf_dieoffset (die), dwarf_errmsg (-1));
       return DWARF_CB_ABORT;
@@ -7000,7 +7052,7 @@
   if (unlikely (form == 0))
     {
       if (!cbargs->silent)
-	error (0, 0, gettext ("DIE [%" PRIx64 "] "
+	error (0, 0, _("DIE [%" PRIx64 "] "
 			      "cannot get attribute form: %s"),
 	       dwarf_dieoffset (die), dwarf_errmsg (-1));
       return DWARF_CB_ABORT;
@@ -7022,7 +7074,7 @@
 	    {
 	    attrval_out:
 	      if (!cbargs->silent)
-		error (0, 0, gettext ("DIE [%" PRIx64 "] "
+		error (0, 0, _("DIE [%" PRIx64 "] "
 				      "cannot get attribute '%s' (%s) value: "
 				      "%s"),
 		       dwarf_dieoffset (die),
@@ -7352,15 +7404,15 @@
 			  valuestr = filename + 1;
 		      }
 		    else
-		      error (0, 0, gettext ("invalid file (%" PRId64 "): %s"),
+		      error (0, 0, _("invalid file (%" PRId64 "): %s"),
 			     num, dwarf_errmsg (-1));
 		  }
 		else
-		  error (0, 0, gettext ("no srcfiles for CU [%" PRIx64 "]"),
+		  error (0, 0, _("no srcfiles for CU [%" PRIx64 "]"),
 			 dwarf_dieoffset (&cudie));
 	      }
 	    else
-	     error (0, 0, gettext ("couldn't get DWARF CU: %s"),
+	     error (0, 0, _("couldn't get DWARF CU: %s"),
 		    dwarf_errmsg (-1));
 	    if (valuestr == NULL)
 	      valuestr = "???";
@@ -7673,7 +7725,7 @@
   const char *secname = section_name (ebl, shdr);
 
   if (!silent)
-    printf (gettext ("\
+    printf (_("\
 \nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n [Offset]\n"),
 	    elf_ndxscn (scn), secname, (uint64_t) shdr->sh_offset);
 
@@ -7723,7 +7775,7 @@
   if (unit_res == -1)
     {
       if (!silent)
-	error (0, 0, gettext ("cannot get next unit: %s"), dwarf_errmsg (-1));
+	error (0, 0, _("cannot get next unit: %s"), dwarf_errmsg (-1));
       goto do_return;
     }
 
@@ -7742,7 +7794,7 @@
 	  Dwarf_Off dieoffset;
 	  dieoffset = dwarf_dieoffset (dwarf_offdie_types (dbg, subdie_off,
 							   &typedie));
-	  printf (gettext (" Type unit at offset %" PRIu64 ":\n"
+	  printf (_(" Type unit at offset %" PRIu64 ":\n"
 			   " Version: %" PRIu16
 			   ", Abbreviation section offset: %" PRIu64
 			   ", Address size: %" PRIu8
@@ -7754,7 +7806,7 @@
 	}
       else
 	{
-	  printf (gettext (" Compilation unit at offset %" PRIu64 ":\n"
+	  printf (_(" Compilation unit at offset %" PRIu64 ":\n"
 			   " Version: %" PRIu16
 			   ", Abbreviation section offset: %" PRIu64
 			   ", Address size: %" PRIu8
@@ -7764,7 +7816,7 @@
 	  if (version >= 5 || (unit_type != DW_UT_compile
 			       && unit_type != DW_UT_partial))
 	    {
-	      printf (gettext (" Unit type: %s (%" PRIu8 ")"),
+	      printf (_(" Unit type: %s (%" PRIu8 ")"),
 			       dwarf_unit_name (unit_type), unit_type);
 	      if (unit_type == DW_UT_type
 		  || unit_type == DW_UT_skeleton
@@ -7791,7 +7843,7 @@
       || unit_type < DW_UT_compile || unit_type > DW_UT_split_type)
     {
       if (!silent)
-	error (0, 0, gettext ("unknown version (%d) or unit type (%d)"),
+	error (0, 0, _("unknown version (%d) or unit type (%d)"),
 	       version, unit_type);
       goto next_cu;
     }
@@ -7820,7 +7872,7 @@
       if (unlikely (offset == (Dwarf_Off) -1))
 	{
 	  if (!silent)
-	    error (0, 0, gettext ("cannot get DIE offset: %s"),
+	    error (0, 0, _("cannot get DIE offset: %s"),
 		   dwarf_errmsg (-1));
 	  goto do_return;
 	}
@@ -7829,7 +7881,7 @@
       if (unlikely (tag == DW_TAG_invalid))
 	{
 	  if (!silent)
-	    error (0, 0, gettext ("cannot get tag of DIE at offset [%" PRIx64
+	    error (0, 0, _("cannot get tag of DIE at offset [%" PRIx64
 				  "] in section '%s': %s"),
 		   (uint64_t) offset, secname, dwarf_errmsg (-1));
 	  goto do_return;
@@ -7867,7 +7919,7 @@
 	  if (unlikely (res == -1))
 	    {
 	      if (!silent)
-		error (0, 0, gettext ("cannot get next DIE: %s\n"),
+		error (0, 0, _("cannot get next DIE: %s\n"),
 		       dwarf_errmsg (-1));
 	      goto do_return;
 	    }
@@ -7875,7 +7927,7 @@
       else if (unlikely (res < 0))
 	{
 	  if (!silent)
-	    error (0, 0, gettext ("cannot get next DIE: %s"),
+	    error (0, 0, _("cannot get next DIE: %s"),
 		   dwarf_errmsg (-1));
 	  goto do_return;
 	}
@@ -7919,7 +7971,7 @@
 
 	  if (!silent)
 	    {
-	      printf (gettext (" Split compilation unit at offset %"
+	      printf (_(" Split compilation unit at offset %"
 			       PRIu64 ":\n"
 			       " Version: %" PRIu16
 			       ", Abbreviation section offset: %" PRIu64
@@ -7927,7 +7979,7 @@
 			       ", Offset size: %" PRIu8 "\n"),
 		      (uint64_t) offset, version, abbroffset,
 		      addrsize, offsize);
-	      printf (gettext (" Unit type: %s (%" PRIu8 ")"),
+	      printf (_(" Unit type: %s (%" PRIu8 ")"),
 		      dwarf_unit_name (unit_type), unit_type);
 	      printf (", Unit id: 0x%.16" PRIx64 "", unit_id);
 	      printf ("\n");
@@ -7971,7 +8023,7 @@
 			    GElf_Ehdr *ehdr __attribute__ ((unused)),
 			    Elf_Scn *scn, GElf_Shdr *shdr, Dwarf *dbg)
 {
-  printf (gettext ("\
+  printf (_("\
 \nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n\n"),
 	  elf_ndxscn (scn), section_name (ebl, shdr),
 	  (uint64_t) shdr->sh_offset);
@@ -8303,7 +8355,7 @@
       goto strx_val;
 
     default:
-      error (0, 0, gettext ("unknown form: %s"), dwarf_form_name (form));
+      error (0, 0, _("unknown form: %s"), dwarf_form_name (form));
       return readendp;
     }
 
@@ -8320,7 +8372,7 @@
       return;
     }
 
-  printf (gettext ("\
+  printf (_("\
 \nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
 	  elf_ndxscn (scn), section_name (ebl, shdr),
 	  (uint64_t) shdr->sh_offset);
@@ -8334,7 +8386,7 @@
 		    ?: elf_rawdata (scn, NULL));
   if (unlikely (data == NULL))
     {
-      error (0, 0, gettext ("cannot get line data section data: %s"),
+      error (0, 0, _("cannot get line data section data: %s"),
 	     elf_errmsg (-1));
       return;
     }
@@ -8347,7 +8399,7 @@
     {
       size_t start_offset = linep - (const unsigned char *) data->d_buf;
 
-      printf (gettext ("\nTable at offset %zu:\n"), start_offset);
+      printf (_("\nTable at offset %zu:\n"), start_offset);
 
       if (unlikely (linep + 4 > lineendp))
 	goto invalid_data;
@@ -8358,7 +8410,7 @@
 	  if (unlikely (linep + 8 > lineendp))
 	    {
 	    invalid_data:
-	      error (0, 0, gettext ("invalid data in section [%zu] '%s'"),
+	      error (0, 0, _("invalid data in section [%zu] '%s'"),
 		     elf_ndxscn (scn), section_name (ebl, shdr));
 	      return;
 	    }
@@ -8436,7 +8488,7 @@
       uint_fast8_t opcode_base = *linep++;
 
       /* Print what we got so far.  */
-      printf (gettext ("\n"
+      printf (_("\n"
 		       " Length:                         %" PRIu64 "\n"
 		       " DWARF version:                  %" PRIuFAST16 "\n"
 		       " Prologue length:                %" PRIu64 "\n"
@@ -8458,7 +8510,7 @@
 
       if (version < 2 || version > 5)
 	{
-	  error (0, 0, gettext ("cannot handle .debug_line version: %u\n"),
+	  error (0, 0, _("cannot handle .debug_line version: %u\n"),
 		 (unsigned int) version);
 	  linep = lineendp;
 	  continue;
@@ -8466,7 +8518,7 @@
 
       if (address_size != 4 && address_size != 8)
 	{
-	  error (0, 0, gettext ("cannot handle address size: %u\n"),
+	  error (0, 0, _("cannot handle address size: %u\n"),
 		 (unsigned int) address_size);
 	  linep = lineendp;
 	  continue;
@@ -8474,7 +8526,7 @@
 
       if (segment_selector_size != 0)
 	{
-	  error (0, 0, gettext ("cannot handle segment selector size: %u\n"),
+	  error (0, 0, _("cannot handle segment selector size: %u\n"),
 		 (unsigned int) segment_selector_size);
 	  linep = lineendp;
 	  continue;
@@ -8484,7 +8536,7 @@
 	{
 	invalid_unit:
 	  error (0, 0,
-		 gettext ("invalid data at offset %tu in section [%zu] '%s'"),
+		 _("invalid data at offset %tu in section [%zu] '%s'"),
 		 linep - (const unsigned char *) data->d_buf,
 		 elf_ndxscn (scn), section_name (ebl, shdr));
 	  linep = lineendp;
@@ -8510,13 +8562,13 @@
 
       Dwarf_Off str_offsets_base = str_offsets_base_off (dbg, NULL);
 
-      puts (gettext ("\nDirectory table:"));
+      puts (_("\nDirectory table:"));
       if (version > 4)
 	{
 	  struct encpair { uint16_t desc; uint16_t form; };
 	  struct encpair enc[256];
 
-	  printf (gettext ("      ["));
+	  printf (_("      ["));
 	  if ((size_t) (lineendp - linep) < 1)
 	    goto invalid_data;
 	  unsigned char directory_entry_format_count = *linep++;
@@ -8587,13 +8639,13 @@
       if (unlikely (linep >= lineendp))
 	goto invalid_unit;
 
-      puts (gettext ("\nFile name table:"));
+      puts (_("\nFile name table:"));
       if (version > 4)
 	{
 	  struct encpair { uint16_t desc; uint16_t form; };
 	  struct encpair enc[256];
 
-	  printf (gettext ("      ["));
+	  printf (_("      ["));
 	  if ((size_t) (lineendp - linep) < 1)
 	    goto invalid_data;
 	  unsigned char file_name_format_count = *linep++;
@@ -8642,13 +8694,13 @@
 		    printf (", ");
 		}
 	      printf ("\n");
-	      if (linep >= lineendp)
+	      if (linep > lineendp)
 		goto invalid_unit;
 	    }
 	}
       else
 	{
-	  puts (gettext (" Entry Dir   Time      Size      Name"));
+	  puts (_(" Entry Dir   Time      Size      Name"));
 	  for (unsigned int cnt = 1; linep < lineendp && *linep != 0; ++cnt)
 	    {
 	      /* First comes the file name.  */
@@ -8685,7 +8737,13 @@
 	  ++linep;
 	}
 
-      puts (gettext ("\nLine number statements:"));
+      if (linep == lineendp)
+	{
+	  puts (_("\nNo line number statements."));
+	  return;
+	}
+
+      puts (_("\nLine number statements:"));
       Dwarf_Word address = 0;
       unsigned int op_index = 0;
       size_t line = 1;
@@ -8694,21 +8752,18 @@
       /* Apply the "operation advance" from a special opcode
 	 or DW_LNS_advance_pc (as per DWARF4 6.2.5.1).  */
       unsigned int op_addr_advance;
-      bool show_op_index;
       inline void advance_pc (unsigned int op_advance)
       {
 	op_addr_advance = minimum_instr_len * ((op_index + op_advance)
 					       / max_ops_per_instr);
 	address += op_addr_advance;
-	show_op_index = (op_index > 0 ||
-			 (op_index + op_advance) % max_ops_per_instr > 0);
 	op_index = (op_index + op_advance) % max_ops_per_instr;
       }
 
       if (max_ops_per_instr == 0)
 	{
 	  error (0, 0,
-		 gettext ("invalid maximum operations per instruction is zero"));
+		 _("invalid maximum operations per instruction is zero"));
 	  linep = lineendp;
 	  continue;
 	}
@@ -8742,14 +8797,14 @@
 	      line += line_increment;
 	      advance_pc ((opcode - opcode_base) / line_range);
 
-	      printf (gettext (" special opcode %u: address+%u = "),
+	      printf (_(" special opcode %u: address+%u = "),
 		      opcode, op_addr_advance);
 	      print_dwarf_addr (dwflmod, 0, address, address);
-	      if (show_op_index)
-		printf (gettext (", op_index = %u, line%+d = %zu\n"),
+	      if (op_index > 0)
+		printf (_(", op_index = %u, line%+d = %zu\n"),
 			op_index, line_increment, line);
 	      else
-		printf (gettext (", line%+d = %zu\n"),
+		printf (_(", line%+d = %zu\n"),
 			line_increment, line);
 	    }
 	  else if (opcode == 0)
@@ -8767,12 +8822,12 @@
 	      /* The sub-opcode.  */
 	      opcode = *linep++;
 
-	      printf (gettext (" extended opcode %u: "), opcode);
+	      printf (_(" extended opcode %u: "), opcode);
 
 	      switch (opcode)
 		{
 		case DW_LNE_end_sequence:
-		  puts (gettext (" end of sequence"));
+		  puts (_(" end of sequence"));
 
 		  /* Reset the registers we care about.  */
 		  address = 0;
@@ -8790,7 +8845,7 @@
 		  else
 		    address = read_8ubyte_unaligned_inc (dbg, linep);
 		  {
-		    printf (gettext (" set address to "));
+		    printf (_(" set address to "));
 		    print_dwarf_addr (dwflmod, 0, address, address);
 		    printf ("\n");
 		  }
@@ -8818,7 +8873,7 @@
 		      goto invalid_unit;
 		    get_uleb128 (filelength, linep, lineendp);
 
-		    printf (gettext ("\
+		    printf (_("\
  define new file: dir=%u, mtime=%" PRIu64 ", length=%" PRIu64 ", name=%s\n"),
 			    diridx, (uint64_t) mtime, (uint64_t) filelength,
 			    fname);
@@ -8832,12 +8887,12 @@
 		    goto invalid_unit;
 
 		  get_uleb128 (u128, linep, lineendp);
-		  printf (gettext (" set discriminator to %u\n"), u128);
+		  printf (_(" set discriminator to %u\n"), u128);
 		  break;
 
 		default:
 		  /* Unknown, ignore it.  */
-		  puts (gettext (" unknown opcode"));
+		  puts (_(" unknown opcode"));
 		  linep += len - 1;
 		  break;
 		}
@@ -8849,7 +8904,7 @@
 		{
 		case DW_LNS_copy:
 		  /* Takes no argument.  */
-		  puts (gettext (" copy"));
+		  puts (_(" copy"));
 		  break;
 
 		case DW_LNS_advance_pc:
@@ -8860,11 +8915,11 @@
 		  get_uleb128 (u128, linep, lineendp);
 		  advance_pc (u128);
 		  {
-		    printf (gettext (" advance address by %u to "),
+		    printf (_(" advance address by %u to "),
 			    op_addr_advance);
 		    print_dwarf_addr (dwflmod, 0, address, address);
-		    if (show_op_index)
-		      printf (gettext (", op_index to %u"), op_index);
+		    if (op_index > 0)
+		      printf (_(", op_index to %u"), op_index);
 		    printf ("\n");
 		  }
 		  break;
@@ -8876,7 +8931,7 @@
 		    goto invalid_unit;
 		  get_sleb128 (s128, linep, lineendp);
 		  line += s128;
-		  printf (gettext ("\
+		  printf (_("\
  advance line by constant %d to %" PRId64 "\n"),
 			  s128, (int64_t) line);
 		  break;
@@ -8886,7 +8941,7 @@
 		  if (lineendp - linep < 1)
 		    goto invalid_unit;
 		  get_uleb128 (u128, linep, lineendp);
-		  printf (gettext (" set file to %" PRIu64 "\n"),
+		  printf (_(" set file to %" PRIu64 "\n"),
 			  (uint64_t) u128);
 		  break;
 
@@ -8897,20 +8952,20 @@
 		    goto invalid_unit;
 
 		  get_uleb128 (u128, linep, lineendp);
-		  printf (gettext (" set column to %" PRIu64 "\n"),
+		  printf (_(" set column to %" PRIu64 "\n"),
 			  (uint64_t) u128);
 		  break;
 
 		case DW_LNS_negate_stmt:
 		  /* Takes no argument.  */
 		  is_stmt = 1 - is_stmt;
-		  printf (gettext (" set '%s' to %" PRIuFAST8 "\n"),
+		  printf (_(" set '%s' to %" PRIuFAST8 "\n"),
 			  "is_stmt", is_stmt);
 		  break;
 
 		case DW_LNS_set_basic_block:
 		  /* Takes no argument.  */
-		  puts (gettext (" set basic block flag"));
+		  puts (_(" set basic block flag"));
 		  break;
 
 		case DW_LNS_const_add_pc:
@@ -8921,11 +8976,11 @@
 
 		  advance_pc ((255 - opcode_base) / line_range);
 		  {
-		    printf (gettext (" advance address by constant %u to "),
+		    printf (_(" advance address by constant %u to "),
 			    op_addr_advance);
 		    print_dwarf_addr (dwflmod, 0, address, address);
-		    if (show_op_index)
-		      printf (gettext (", op_index to %u"), op_index);
+		    if (op_index > 0)
+		      printf (_(", op_index to %u"), op_index);
 		    printf ("\n");
 		  }
 		  break;
@@ -8941,7 +8996,7 @@
 		  address += u128;
 		  op_index = 0;
 		  {
-		    printf (gettext ("\
+		    printf (_("\
  advance address by fixed value %u to \n"),
 			    u128);
 		    print_dwarf_addr (dwflmod, 0, address, address);
@@ -8951,12 +9006,12 @@
 
 		case DW_LNS_set_prologue_end:
 		  /* Takes no argument.  */
-		  puts (gettext (" set prologue end flag"));
+		  puts (_(" set prologue end flag"));
 		  break;
 
 		case DW_LNS_set_epilogue_begin:
 		  /* Takes no argument.  */
-		  puts (gettext (" set epilogue begin flag"));
+		  puts (_(" set epilogue begin flag"));
 		  break;
 
 		case DW_LNS_set_isa:
@@ -8966,7 +9021,7 @@
 		    goto invalid_unit;
 
 		  get_uleb128 (u128, linep, lineendp);
-		  printf (gettext (" set isa to %u\n"), u128);
+		  printf (_(" set isa to %u\n"), u128);
 		  break;
 		}
 	    }
@@ -9006,7 +9061,7 @@
 			      Elf_Scn *scn, GElf_Shdr *shdr,
 			      Dwarf *dbg)
 {
-  printf (gettext ("\
+  printf (_("\
 \nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
 	  elf_ndxscn (scn), section_name (ebl, shdr),
 	  (uint64_t) shdr->sh_offset);
@@ -9015,7 +9070,7 @@
 		    ?: elf_rawdata (scn, NULL));
   if (unlikely (data == NULL))
     {
-      error (0, 0, gettext ("cannot get .debug_loclists content: %s"),
+      error (0, 0, _("cannot get .debug_loclists content: %s"),
 	     elf_errmsg (-1));
       return;
     }
@@ -9032,13 +9087,13 @@
       if (unlikely (readp > dataend - 4))
 	{
 	invalid_data:
-	  error (0, 0, gettext ("invalid data in section [%zu] '%s'"),
+	  error (0, 0, _("invalid data in section [%zu] '%s'"),
 		 elf_ndxscn (scn), section_name (ebl, shdr));
 	  return;
 	}
 
       ptrdiff_t offset = readp - (unsigned char *) data->d_buf;
-      printf (gettext ("Table at Offset 0x%" PRIx64 ":\n\n"),
+      printf (_("Table at Offset 0x%" PRIx64 ":\n\n"),
 	      (uint64_t) offset);
 
       uint64_t unit_length = read_4ubyte_unaligned_inc (dbg, readp);
@@ -9051,7 +9106,7 @@
 	  unit_length = read_8ubyte_unaligned_inc (dbg, readp);
 	  offset_size = 8;
 	}
-      printf (gettext (" Length:         %8" PRIu64 "\n"), unit_length);
+      printf (_(" Length:         %8" PRIu64 "\n"), unit_length);
 
       /* We need at least 2-bytes + 1-byte + 1-byte + 4-bytes = 8
 	 bytes to complete the header.  And this unit cannot go beyond
@@ -9064,36 +9119,36 @@
       const unsigned char *nexthdr = readp + unit_length;
 
       uint16_t version = read_2ubyte_unaligned_inc (dbg, readp);
-      printf (gettext (" DWARF version:  %8" PRIu16 "\n"), version);
+      printf (_(" DWARF version:  %8" PRIu16 "\n"), version);
 
       if (version != 5)
 	{
-	  error (0, 0, gettext ("Unknown version"));
+	  error (0, 0, _("Unknown version"));
 	  goto next_table;
 	}
 
       uint8_t address_size = *readp++;
-      printf (gettext (" Address size:   %8" PRIu64 "\n"),
+      printf (_(" Address size:   %8" PRIu64 "\n"),
 	      (uint64_t) address_size);
 
       if (address_size != 4 && address_size != 8)
 	{
-	  error (0, 0, gettext ("unsupported address size"));
+	  error (0, 0, _("unsupported address size"));
 	  goto next_table;
 	}
 
       uint8_t segment_size = *readp++;
-      printf (gettext (" Segment size:   %8" PRIu64 "\n"),
+      printf (_(" Segment size:   %8" PRIu64 "\n"),
 	      (uint64_t) segment_size);
 
       if (segment_size != 0)
         {
-          error (0, 0, gettext ("unsupported segment size"));
+          error (0, 0, _("unsupported segment size"));
           goto next_table;
         }
 
       uint32_t offset_entry_count = read_4ubyte_unaligned_inc (dbg, readp);
-      printf (gettext (" Offset entries: %8" PRIu64 "\n"),
+      printf (_(" Offset entries: %8" PRIu64 "\n"),
 	      (uint64_t) offset_entry_count);
 
       /* We need the CU that uses this unit to get the initial base address. */
@@ -9109,15 +9164,15 @@
 	  if (dwarf_cu_die (cu, &cudie,
 			    NULL, NULL, NULL, NULL,
 			    NULL, NULL) == NULL)
-	    printf (gettext (" Unknown CU base: "));
+	    printf (_(" Unknown CU base: "));
 	  else
-	    printf (gettext (" CU [%6" PRIx64 "] base: "),
+	    printf (_(" CU [%6" PRIx64 "] base: "),
 		    dwarf_dieoffset (&cudie));
 	  print_dwarf_addr (dwflmod, address_size, cu_base, cu_base);
 	  printf ("\n");
 	}
       else
-	printf (gettext (" Not associated with a CU.\n"));
+	printf (_(" Not associated with a CU.\n"));
 
       printf ("\n");
 
@@ -9128,11 +9183,11 @@
 	  if (offset_entry_count > max_entries)
 	    {
 	      error (0, 0,
-		     gettext ("too many offset entries for unit length"));
+		     _("too many offset entries for unit length"));
 	      offset_entry_count = max_entries;
 	    }
 
-	  printf (gettext ("  Offsets starting at 0x%" PRIx64 ":\n"),
+	  printf (_("  Offsets starting at 0x%" PRIx64 ":\n"),
 		  (uint64_t) (offset_array_start
 			      - (unsigned char *) data->d_buf));
 	  for (uint32_t idx = 0; idx < offset_entry_count; idx++)
@@ -9156,6 +9211,43 @@
       bool start_of_list = true;
       while (readp < nexthdr)
 	{
+	  Dwarf_Off off = (Dwarf_Off) (readp - (unsigned char *) data->d_buf);
+	  if (listptr_attr (&known_loclistsptr, listptr_idx, off,
+			    DW_AT_GNU_locviews))
+	    {
+	      Dwarf_Off next_off = next_listptr_offset (&known_loclistsptr,
+							&listptr_idx, off);
+	      const unsigned char *locp = readp;
+	      const unsigned char *locendp;
+	      if (next_off == 0
+		  || next_off > (size_t) (nexthdr - ((const unsigned char *)
+						     data->d_buf)))
+		locendp = nexthdr;
+	      else
+		locendp = (const unsigned char *) data->d_buf + next_off;
+
+	      printf ("  Offset: %" PRIx64 ", Index: %" PRIx64 "\n",
+		      (uint64_t) (readp - (unsigned char *) data->d_buf),
+		      (uint64_t) (readp - offset_array_start));
+
+	      while (locp < locendp)
+		{
+		  uint64_t v1, v2;
+		  get_uleb128 (v1, locp, locendp);
+		  if (locp >= locendp)
+		    {
+		      printf (_("    <INVALID DATA>\n"));
+		      break;
+		    }
+		  get_uleb128 (v2, locp, locendp);
+		  printf ("    view pair %" PRId64 ", %" PRId64 "\n", v1, v2);
+		}
+
+	      printf ("\n");
+	      readp = (unsigned char *) locendp;
+	      continue;
+	    }
+
 	  uint8_t kind = *readp++;
 	  uint64_t op1, op2, len;
 
@@ -9184,7 +9276,7 @@
 	      if ((uint64_t) (nexthdr - readp) < 1)
 		{
 		invalid_entry:
-		  error (0, 0, gettext ("invalid loclists data"));
+		  error (0, 0, _("invalid loclists data"));
 		  goto next_table;
 		}
 	      get_uleb128 (op1, readp, nexthdr);
@@ -9420,7 +9512,7 @@
       if (readp != nexthdr)
 	{
           size_t padding = nexthdr - readp;
-          printf (gettext ("   %zu padding bytes\n\n"), padding);
+          printf (_("   %zu padding bytes\n\n"), padding);
 	  readp = nexthdr;
 	}
     }
@@ -9437,12 +9529,12 @@
 
   if (unlikely (data == NULL))
     {
-      error (0, 0, gettext ("cannot get .debug_loc content: %s"),
+      error (0, 0, _("cannot get .debug_loc content: %s"),
 	     elf_errmsg (-1));
       return;
     }
 
-  printf (gettext ("\
+  printf (_("\
 \nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
 	  elf_ndxscn (scn), section_name (ebl, shdr),
 	  (uint64_t) shdr->sh_offset);
@@ -9475,9 +9567,9 @@
 	if (dwarf_cu_die (cu, &cudie,
 			  NULL, NULL, NULL, NULL,
 			  NULL, NULL) == NULL)
-	  printf (gettext ("\n Unknown CU base: "));
+	  printf (_("\n Unknown CU base: "));
 	else
-	  printf (gettext ("\n CU [%6" PRIx64 "] base: "),
+	  printf (_("\n CU [%6" PRIx64 "] base: "),
 		  dwarf_dieoffset (&cudie));
 	print_dwarf_addr (dwflmod, address_size, base, base);
 	printf ("\n");
@@ -9487,7 +9579,7 @@
       if (attr == DW_AT_GNU_locviews)
 	{
 	  Dwarf_Off next_off = next_listptr_offset (&known_locsptr,
-						    listptr_idx);
+						    &listptr_idx, offset);
 	  const unsigned char *locp = readp;
 	  const unsigned char *locendp;
 	  if (next_off == 0
@@ -9503,7 +9595,7 @@
 	      get_uleb128 (v1, locp, locendp);
 	      if (locp >= locendp)
 		{
-		  printf (gettext (" [%6tx]  <INVALID DATA>\n"), offset);
+		  printf (_(" [%6tx]  <INVALID DATA>\n"), offset);
 		  break;
 		}
 	      get_uleb128 (v2, locp, locendp);
@@ -9529,7 +9621,7 @@
 	  && unlikely (data->d_size - offset < (size_t) address_size * 2))
         {
 	invalid_data:
-	  printf (gettext (" [%6tx]  <INVALID DATA>\n"), offset);
+	  printf (_(" [%6tx]  <INVALID DATA>\n"), offset);
 	  break;
 	}
 
@@ -9609,15 +9701,21 @@
 
       if (begin == (Dwarf_Addr) -1l) /* Base address entry.  */
 	{
-	  printf (gettext (" [%6tx] base address\n          "), offset);
+	  if (first)
+	    printf (" [%6tx] ", offset);
+	  else
+	    printf ("          ");
+	  puts (_("base address"));
+	  printf ("          ");
 	  print_dwarf_addr (dwflmod, address_size, end, end);
 	  printf ("\n");
 	  base = end;
+	  first = false;
 	}
       else if (begin == 0 && end == 0) /* End of list entry.  */
 	{
 	  if (first)
-	    printf (gettext (" [%6tx] empty list\n"), offset);
+	    printf (_(" [%6tx] empty list\n"), offset);
 	  first = true;
 	}
       else
@@ -9644,7 +9742,7 @@
 
 	  if (endp - readp <= (ptrdiff_t) len)
 	    {
-	      fputs (gettext ("   <INVALID DATA>\n"), stdout);
+	      fputs (_("   <INVALID DATA>\n"), stdout);
 	      break;
 	    }
 
@@ -9687,7 +9785,7 @@
 			     GElf_Ehdr *ehdr __attribute__ ((unused)),
 			     Elf_Scn *scn, GElf_Shdr *shdr, Dwarf *dbg)
 {
-  printf (gettext ("\
+  printf (_("\
 \nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
 	  elf_ndxscn (scn), section_name (ebl, shdr),
 	  (uint64_t) shdr->sh_offset);
@@ -9699,7 +9797,7 @@
 		    ?: elf_rawdata (scn, NULL));
   if (unlikely (data == NULL))
     {
-      error (0, 0, gettext ("cannot get macro information section data: %s"),
+      error (0, 0, _("cannot get macro information section data: %s"),
 	     elf_errmsg (-1));
       return;
     }
@@ -9779,7 +9877,7 @@
 	  endp = memchr (readp, '\0', readendp - readp);
 	  if (unlikely (endp == NULL))
 	    {
-	      printf (gettext ("\
+	      printf (_("\
 %*s*** non-terminated string at end of section"),
 		      level, "");
 	      return;
@@ -9802,7 +9900,7 @@
 	  get_uleb128 (u128, readp, readendp);
 	  if (readendp - readp < 1)
 	    {
-	      printf (gettext ("\
+	      printf (_("\
 %*s*** missing DW_MACINFO_start_file argument at end of section"),
 		      level, "");
 	      return;
@@ -9853,7 +9951,7 @@
 			   GElf_Ehdr *ehdr __attribute__ ((unused)),
 			   Elf_Scn *scn, GElf_Shdr *shdr, Dwarf *dbg)
 {
-  printf (gettext ("\
+  printf (_("\
 \nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
 	  elf_ndxscn (scn), section_name (ebl, shdr),
 	  (uint64_t) shdr->sh_offset);
@@ -9862,7 +9960,7 @@
   Elf_Data *data =  elf_getdata (scn, NULL);
   if (unlikely (data == NULL))
     {
-      error (0, 0, gettext ("cannot get macro information section data: %s"),
+      error (0, 0, _("cannot get macro information section data: %s"),
 	     elf_errmsg (-1));
       return;
     }
@@ -9903,7 +10001,7 @@
 
   while (readp < readendp)
     {
-      printf (gettext (" Offset:             0x%" PRIx64 "\n"),
+      printf (_(" Offset:             0x%" PRIx64 "\n"),
 	      (uint64_t) (readp - (const unsigned char *) data->d_buf));
 
       // Header, 2 byte version, 1 byte flag, optional .debug_line offset,
@@ -9911,24 +10009,24 @@
       if (readp + 2 > readendp)
 	{
 	invalid_data:
-	  error (0, 0, gettext ("invalid data"));
+	  error (0, 0, _("invalid data"));
 	  return;
 	}
       const uint16_t vers = read_2ubyte_unaligned_inc (dbg, readp);
-      printf (gettext (" Version:            %" PRIu16 "\n"), vers);
+      printf (_(" Version:            %" PRIu16 "\n"), vers);
 
       // Version 4 is the GNU extension for DWARF4.  DWARF5 will use version
       // 5 when it gets standardized.
       if (vers != 4 && vers != 5)
 	{
-	  printf (gettext ("  unknown version, cannot parse section\n"));
+	  printf (_("  unknown version, cannot parse section\n"));
 	  return;
 	}
 
       if (readp + 1 > readendp)
 	goto invalid_data;
       const unsigned char flag = *readp++;
-      printf (gettext (" Flag:               0x%" PRIx8), flag);
+      printf (_(" Flag:               0x%" PRIx8), flag);
       if (flag != 0)
 	{
 	  printf (" (");
@@ -9957,7 +10055,7 @@
       printf ("\n");
 
       unsigned int offset_len = (flag & 0x01) ? 8 : 4;
-      printf (gettext (" Offset length:      %" PRIu8 "\n"), offset_len);
+      printf (_(" Offset length:      %" PRIu8 "\n"), offset_len);
       Dwarf_Off line_offset = -1;
       if (flag & 0x02)
 	{
@@ -9965,7 +10063,7 @@
 	    line_offset = read_8ubyte_unaligned_inc (dbg, readp);
 	  else
 	    line_offset = read_4ubyte_unaligned_inc (dbg, readp);
-	  printf (gettext (" .debug_line offset: 0x%" PRIx64 "\n"),
+	  printf (_(" .debug_line offset: 0x%" PRIx64 "\n"),
 		  line_offset);
 	}
 
@@ -9990,14 +10088,14 @@
 	  if (readp + 1 > readendp)
 	    goto invalid_data;
 	  unsigned int tlen = *readp++;
-	  printf (gettext ("  extension opcode table, %" PRIu8 " items:\n"),
+	  printf (_("  extension opcode table, %" PRIu8 " items:\n"),
 		  tlen);
 	  for (unsigned int i = 0; i < tlen; i++)
 	    {
 	      if (readp + 1 > readendp)
 		goto invalid_data;
 	      unsigned int opcode = *readp++;
-	      printf (gettext ("    [%" PRIx8 "]"), opcode);
+	      printf (_("    [%" PRIx8 "]"), opcode);
 	      if (opcode < DW_MACRO_lo_user
 		  || opcode > DW_MACRO_hi_user)
 		goto invalid_data;
@@ -10009,7 +10107,7 @@
 	      unsigned int args = *readp++;
 	      if (args > 0)
 		{
-		  printf (gettext (" %" PRIu8 " arguments:"), args);
+		  printf (_(" %" PRIu8 " arguments:"), args);
 		  while (args > 0)
 		    {
 		      if (readp + 1 > readendp)
@@ -10024,7 +10122,7 @@
 		    }
 		}
 	      else
-		printf (gettext (" no arguments."));
+		printf (_(" no arguments."));
 	      putchar_unlocked ('\n');
 	    }
 	}
@@ -10225,7 +10323,7 @@
 {
   int *np = (int *) arg;
 
-  printf (gettext (" [%5d] DIE offset: %6" PRId64
+  printf (_(" [%5d] DIE offset: %6" PRId64
 		   ", CU DIE offset: %6" PRId64 ", name: %s\n"),
 	  (*np)++, global->die_offset, global->cu_offset, global->name);
 
@@ -10240,7 +10338,7 @@
 			      GElf_Ehdr *ehdr __attribute__ ((unused)),
 			      Elf_Scn *scn, GElf_Shdr *shdr, Dwarf *dbg)
 {
-  printf (gettext ("\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
+  printf (_("\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
 	  elf_ndxscn (scn), section_name (ebl, shdr),
 	  (uint64_t) shdr->sh_offset);
 
@@ -10269,7 +10367,7 @@
     }
   digits = MAX (4, digits);
 
-  printf (gettext ("\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"
+  printf (_("\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"
 		   " %*s  String\n"),
 	  elf_ndxscn (scn),
 	  section_name (ebl, shdr), (uint64_t) shdr->sh_offset,
@@ -10284,7 +10382,7 @@
       const char *endp = memchr (str, '\0', sh_size - offset);
       if (unlikely (endp == NULL))
 	{
-	  printf (gettext (" *** error, missing string terminator\n"));
+	  printf (_(" *** error, missing string terminator\n"));
 	  break;
 	}
 
@@ -10300,7 +10398,7 @@
 				 GElf_Ehdr *ehdr __attribute__ ((unused)),
 				 Elf_Scn *scn, GElf_Shdr *shdr, Dwarf *dbg)
 {
-  printf (gettext ("\
+  printf (_("\
 \nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
 	  elf_ndxscn (scn), section_name (ebl, shdr),
 	  (uint64_t) shdr->sh_offset);
@@ -10313,7 +10411,7 @@
 		    ?: elf_rawdata (scn, NULL));
   if (unlikely (data == NULL))
     {
-      error (0, 0, gettext ("cannot get .debug_str_offsets section data: %s"),
+      error (0, 0, _("cannot get .debug_str_offsets section data: %s"),
 	     elf_errmsg (-1));
       return;
     }
@@ -10412,9 +10510,9 @@
 	    offset_size = 4;
 
 	  printf ("\n");
-	  printf (gettext (" Length:        %8" PRIu64 "\n"),
+	  printf (_(" Length:        %8" PRIu64 "\n"),
 		  unit_length);
-	  printf (gettext (" Offset size:   %8" PRIu8 "\n"),
+	  printf (_(" Offset size:   %8" PRIu8 "\n"),
 		  offset_size);
 
 	  /* We need at least 2-bytes (version) + 2-bytes (padding) =
@@ -10428,16 +10526,16 @@
 	  next_unitp = readp + unit_length;
 
 	  version = read_2ubyte_unaligned_inc (dbg, readp);
-	  printf (gettext (" DWARF version: %8" PRIu16 "\n"), version);
+	  printf (_(" DWARF version: %8" PRIu16 "\n"), version);
 
 	  if (version != 5)
 	    {
-	      error (0, 0, gettext ("Unknown version"));
+	      error (0, 0, _("Unknown version"));
 	      goto next_unit;
 	    }
 
 	  padding = read_2ubyte_unaligned_inc (dbg, readp);
-	  printf (gettext (" Padding:       %8" PRIx16 "\n"), padding);
+	  printf (_(" Padding:       %8" PRIx16 "\n"), padding);
 
 	  if (listptr != NULL
 	      && listptr->offset != (Dwarf_Off) (readp - start))
@@ -10491,7 +10589,7 @@
 			       GElf_Ehdr *ehdr __attribute__ ((unused)),
 			       Elf_Scn *scn, GElf_Shdr *shdr, Dwarf *dbg)
 {
-  printf (gettext ("\
+  printf (_("\
 \nCall frame search table section [%2zu] '.eh_frame_hdr':\n"),
 	  elf_ndxscn (scn));
 
@@ -10499,7 +10597,7 @@
 
   if (unlikely (data == NULL))
     {
-      error (0, 0, gettext ("cannot get %s content: %s"),
+      error (0, 0, _("cannot get %s content: %s"),
 	     ".eh_frame_hdr", elf_errmsg (-1));
       return;
     }
@@ -10511,7 +10609,7 @@
   if (unlikely (readp + 4 > dataend))
     {
     invalid_data:
-      error (0, 0, gettext ("invalid data"));
+      error (0, 0, _("invalid data"));
       return;
     }
 
@@ -10593,7 +10691,7 @@
 			     GElf_Shdr *shdr __attribute__ ((unused)),
 			     Dwarf *dbg __attribute__ ((unused)))
 {
-  printf (gettext ("\
+  printf (_("\
 \nException handling table section [%2zu] '.gcc_except_table':\n"),
 	  elf_ndxscn (scn));
 
@@ -10601,7 +10699,7 @@
 
   if (unlikely (data == NULL))
     {
-      error (0, 0, gettext ("cannot get %s content: %s"),
+      error (0, 0, _("cannot get %s content: %s"),
 	     ".gcc_except_table", elf_errmsg (-1));
       return;
     }
@@ -10612,11 +10710,11 @@
   if (unlikely (readp + 1 > dataend))
     {
     invalid_data:
-      error (0, 0, gettext ("invalid data"));
+      error (0, 0, _("invalid data"));
       return;
     }
   unsigned int lpstart_encoding = *readp++;
-  printf (gettext (" LPStart encoding:    %#x "), lpstart_encoding);
+  printf (_(" LPStart encoding:    %#x "), lpstart_encoding);
   print_encoding_base ("", lpstart_encoding);
   if (lpstart_encoding != DW_EH_PE_omit)
     {
@@ -10628,7 +10726,7 @@
   if (unlikely (readp + 1 > dataend))
     goto invalid_data;
   unsigned int ttype_encoding = *readp++;
-  printf (gettext (" TType encoding:      %#x "), ttype_encoding);
+  printf (_(" TType encoding:      %#x "), ttype_encoding);
   print_encoding_base ("", ttype_encoding);
   const unsigned char *ttype_base = NULL;
   if (ttype_encoding != DW_EH_PE_omit)
@@ -10643,7 +10741,7 @@
   if (unlikely (readp + 1 > dataend))
     goto invalid_data;
   unsigned int call_site_encoding = *readp++;
-  printf (gettext (" Call site encoding:  %#x "), call_site_encoding);
+  printf (_(" Call site encoding:  %#x "), call_site_encoding);
   print_encoding_base ("", call_site_encoding);
   unsigned int call_site_table_len;
   get_uleb128 (call_site_table_len, readp, dataend);
@@ -10656,7 +10754,7 @@
   while (readp < action_table)
     {
       if (u == 0)
-	puts (gettext ("\n Call site table:"));
+	puts (_("\n Call site table:"));
 
       uint64_t call_site_start;
       readp = read_encoded (call_site_encoding, readp, dataend,
@@ -10670,7 +10768,7 @@
       unsigned int action;
       get_uleb128 (action, readp, dataend);
       max_action = MAX (action, max_action);
-      printf (gettext (" [%4u] Call site start:   %#" PRIx64 "\n"
+      printf (_(" [%4u] Call site start:   %#" PRIx64 "\n"
 		       "        Call site length:  %" PRIu64 "\n"
 		       "        Landing pad:       %#" PRIx64 "\n"
 		       "        Action:            %u\n"),
@@ -10688,7 +10786,7 @@
       if (max_action > maxdata || maxdata - max_action < 1)
 	{
 	invalid_action_table:
-	  fputs (gettext ("   <INVALID DATA>\n"), stdout);
+	  fputs (_("   <INVALID DATA>\n"), stdout);
 	  return;
 	}
 
@@ -10743,7 +10841,7 @@
 	  break;
 	default:
 	  dsize = 0;
-	  error (1, 0, gettext ("invalid TType encoding"));
+	  error (1, 0, _("invalid TType encoding"));
 	}
 
       if (max_ar_filter
@@ -10770,7 +10868,7 @@
 			 GElf_Ehdr *ehdr __attribute__ ((unused)),
 			 Elf_Scn *scn, GElf_Shdr *shdr, Dwarf *dbg)
 {
-  printf (gettext ("\nGDB section [%2zu] '%s' at offset %#" PRIx64
+  printf (_("\nGDB section [%2zu] '%s' at offset %#" PRIx64
 		   " contains %" PRId64 " bytes :\n"),
 	  elf_ndxscn (scn), section_name (ebl, shdr),
 	  (uint64_t) shdr->sh_offset, (uint64_t) shdr->sh_size);
@@ -10779,7 +10877,7 @@
 
   if (unlikely (data == NULL))
     {
-      error (0, 0, gettext ("cannot get %s content: %s"),
+      error (0, 0, _("cannot get %s content: %s"),
 	     ".gdb_index", elf_errmsg (-1));
       return;
     }
@@ -10794,12 +10892,12 @@
   if (unlikely (readp + 4 > dataend))
     {
     invalid_data:
-      error (0, 0, gettext ("invalid data"));
+      error (0, 0, _("invalid data"));
       return;
     }
 
   int32_t vers = read_4ubyte_unaligned (dbg, readp);
-  printf (gettext (" Version:         %" PRId32 "\n"), vers);
+  printf (_(" Version:         %" PRId32 "\n"), vers);
 
   // The only difference between version 4 and version 5 is the
   // hash used for generating the table.  Version 6 contains symbols
@@ -10808,7 +10906,7 @@
   // TUs for symbols.
   if (vers < 4 || vers > 8)
     {
-      printf (gettext ("  unknown version, cannot parse section\n"));
+      printf (_("  unknown version, cannot parse section\n"));
       return;
     }
 
@@ -10817,35 +10915,35 @@
     goto invalid_data;
 
   uint32_t cu_off = read_4ubyte_unaligned (dbg, readp);
-  printf (gettext (" CU offset:       %#" PRIx32 "\n"), cu_off);
+  printf (_(" CU offset:       %#" PRIx32 "\n"), cu_off);
 
   readp += 4;
   if (unlikely (readp + 4 > dataend))
     goto invalid_data;
 
   uint32_t tu_off = read_4ubyte_unaligned (dbg, readp);
-  printf (gettext (" TU offset:       %#" PRIx32 "\n"), tu_off);
+  printf (_(" TU offset:       %#" PRIx32 "\n"), tu_off);
 
   readp += 4;
   if (unlikely (readp + 4 > dataend))
     goto invalid_data;
 
   uint32_t addr_off = read_4ubyte_unaligned (dbg, readp);
-  printf (gettext (" address offset:  %#" PRIx32 "\n"), addr_off);
+  printf (_(" address offset:  %#" PRIx32 "\n"), addr_off);
 
   readp += 4;
   if (unlikely (readp + 4 > dataend))
     goto invalid_data;
 
   uint32_t sym_off = read_4ubyte_unaligned (dbg, readp);
-  printf (gettext (" symbol offset:   %#" PRIx32 "\n"), sym_off);
+  printf (_(" symbol offset:   %#" PRIx32 "\n"), sym_off);
 
   readp += 4;
   if (unlikely (readp + 4 > dataend))
     goto invalid_data;
 
   uint32_t const_off = read_4ubyte_unaligned (dbg, readp);
-  printf (gettext (" constant offset: %#" PRIx32 "\n"), const_off);
+  printf (_(" constant offset: %#" PRIx32 "\n"), const_off);
 
   if (unlikely ((size_t) (dataend - (const unsigned char *) data->d_buf)
 		< const_off))
@@ -10859,7 +10957,7 @@
 
   size_t cu_nr = (nextp - readp) / 16;
 
-  printf (gettext ("\n CU list at offset %#" PRIx32
+  printf (_("\n CU list at offset %#" PRIx32
 		   " contains %zu entries:\n"),
 	  cu_off, cu_nr);
 
@@ -10884,7 +10982,7 @@
 
   size_t tu_nr = (nextp - readp) / 24;
 
-  printf (gettext ("\n TU list at offset %#" PRIx32
+  printf (_("\n TU list at offset %#" PRIx32
 		   " contains %zu entries:\n"),
 	  tu_off, tu_nr);
 
@@ -10913,7 +11011,7 @@
 
   size_t addr_nr = (nextp - readp) / 20;
 
-  printf (gettext ("\n Address list at offset %#" PRIx32
+  printf (_("\n Address list at offset %#" PRIx32
 		   " contains %zu entries:\n"),
 	  addr_off, addr_nr);
 
@@ -10945,7 +11043,7 @@
   nextp = const_start;
   size_t sym_nr = (nextp - readp) / 8;
 
-  printf (gettext ("\n Symbol table at offset %#" PRIx32
+  printf (_("\n Symbol table at offset %#" PRIx32
 		   " contains %zu slots:\n"),
 	  addr_off, sym_nr);
 
@@ -11082,8 +11180,8 @@
     };
   if (dbg == NULL)
     {
-      if ((print_debug_sections & ~section_exception) != 0)
-	error (0, 0, gettext ("cannot get debug context descriptor: %s"),
+      if ((print_debug_sections & ~(section_exception|section_frame)) != 0)
+	error (0, 0, _("cannot get debug context descriptor: %s"),
 	       dwfl_errmsg (-1));
       dbg = &dummy_dbg;
     }
@@ -11227,7 +11325,7 @@
   size_t shstrndx;
   if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
     error (EXIT_FAILURE, 0,
-	   gettext ("cannot get section header string table index"));
+	   _("cannot get section header string table index"));
 
   /* If the .debug_info section is listed as implicitly required then
      we must make sure to handle it before handling any other debug
@@ -11253,7 +11351,8 @@
 	      if (strcmp (name, ".debug_info") == 0
 		  || strcmp (name, ".debug_info.dwo") == 0
 		  || strcmp (name, ".zdebug_info") == 0
-		  || strcmp (name, ".zdebug_info.dwo") == 0)
+		  || strcmp (name, ".zdebug_info.dwo") == 0
+		  || strcmp (name, ".gnu.debuglto_.debug_info") == 0)
 		{
 		  print_debug_info_section (dwflmod, ebl, ehdr,
 					    scn, shdr, dbg);
@@ -11339,7 +11438,11 @@
 				  dbglen - 1) == 0
 		      && (scnlen == dbglen + 1
 			  || (scnlen == dbglen + 5
-			      && strstr (name, ".dwo") == name + dbglen + 1))))
+			      && strstr (name, ".dwo") == name + dbglen + 1)))
+		  || (scnlen > 14 /* .gnu.debuglto_ prefix. */
+		      && strncmp (name, ".gnu.debuglto_", 14) == 0
+		      && strcmp (&name[14], debug_sections[n].name) == 0)
+)
 		{
 		  if ((print_debug_sections | implicit_debug_sections)
 		      & debug_sections[n].bitmask)
@@ -11446,7 +11549,7 @@
     (&valuedata, &indata, elf_getident (core, NULL)[EI_DATA]);
   if (d == NULL)
     error (EXIT_FAILURE, 0,
-	   gettext ("cannot convert core note data: %s"), elf_errmsg (-1));
+	   _("cannot convert core note data: %s"), elf_errmsg (-1));
 
   return data + indata.d_size;
 }
@@ -11809,7 +11912,7 @@
 	  descsz += eltsz;
 	}
       else if (reps > 1)
-	printf (gettext ("\n%*s... <repeats %u more times> ..."),
+	printf (_("\n%*s... <repeats %u more times> ..."),
 		ITEM_INDENT, "", reps);
 
       last = desc;
@@ -11980,6 +12083,18 @@
   return compare_sets_by_info (*p1, *p2);
 }
 
+static inline bool
+same_set (const struct register_info *a,
+	  const struct register_info *b,
+	  const struct register_info *regs,
+	  size_t maxnreg)
+{
+  return (a < &regs[maxnreg] && a->regloc != NULL
+	  && b < &regs[maxnreg] && b->regloc != NULL
+	  && a->bits == b->bits
+	  && (a->set == b->set || !strcmp (a->set, b->set)));
+}
+
 static unsigned int
 handle_core_registers (Ebl *ebl, Elf *core, const void *desc,
 		       const Ebl_Register_Location *reglocs, size_t nregloc)
@@ -12018,19 +12133,12 @@
   qsort (regs, maxreg + 1, sizeof regs[0], &compare_registers);
 
   /* Collect the unique sets and sort them.  */
-  inline bool same_set (const struct register_info *a,
-			const struct register_info *b)
-  {
-    return (a < &regs[maxnreg] && a->regloc != NULL
-	    && b < &regs[maxnreg] && b->regloc != NULL
-	    && a->bits == b->bits
-	    && (a->set == b->set || !strcmp (a->set, b->set)));
-  }
   struct register_info *sets[maxreg + 1];
   sets[0] = &regs[0];
   size_t nsets = 1;
   for (int i = 1; i <= maxreg; ++i)
-    if (regs[i].regloc != NULL && !same_set (&regs[i], &regs[i - 1]))
+    if (regs[i].regloc != NULL
+	&& !same_set (&regs[i], &regs[i - 1], regs, maxnreg))
       sets[nsets++] = &regs[i];
   qsort (sets, nsets, sizeof sets[0], &compare_register_sets);
 
@@ -12041,7 +12149,7 @@
       /* Find the longest name of a register in this set.  */
       size_t maxname = 0;
       const struct register_info *end;
-      for (end = sets[i]; same_set (sets[i], end); ++end)
+      for (end = sets[i]; same_set (sets[i], end, regs, maxnreg); ++end)
 	{
 	  size_t len = strlen (end->name);
 	  if (len > maxname)
@@ -12068,7 +12176,7 @@
   if (data == NULL)
   elf_error:
     error (EXIT_FAILURE, 0,
-	   gettext ("cannot convert core note data: %s"), elf_errmsg (-1));
+	   _("cannot convert core note data: %s"), elf_errmsg (-1));
 
   const size_t nauxv = descsz / gelf_fsize (core, ELF_T_AUXV, 1, EV_CURRENT);
   for (size_t i = 0; i < nauxv; ++i)
@@ -12179,7 +12287,7 @@
   Elf_Data *data = elf_getdata_rawchunk (core, desc_pos, descsz, ELF_T_BYTE);
   if (data == NULL)
     error (EXIT_FAILURE, 0,
-	   gettext ("cannot convert core note data: %s"), elf_errmsg (-1));
+	   _("cannot convert core note data: %s"), elf_errmsg (-1));
 
   unsigned char const *ptr = data->d_buf;
   unsigned char const *const end = data->d_buf + data->d_size;
@@ -12237,7 +12345,7 @@
   Elf_Data *data = elf_getdata_rawchunk (core, desc_pos, descsz, ELF_T_BYTE);
   if (data == NULL)
     error (EXIT_FAILURE, 0,
-	   gettext ("cannot convert core note data: %s"), elf_errmsg (-1));
+	   _("cannot convert core note data: %s"), elf_errmsg (-1));
 
   unsigned char const *ptr = data->d_buf;
   unsigned char const *const end = data->d_buf + data->d_size;
@@ -12316,7 +12424,7 @@
 handle_notes_data (Ebl *ebl, const GElf_Ehdr *ehdr,
 		   GElf_Off start, Elf_Data *data)
 {
-  fputs_unlocked (gettext ("  Owner          Data size  Type\n"), stdout);
+  fputs_unlocked (_("  Owner          Data size  Type\n"), stdout);
 
   if (data == NULL)
     goto bad_note;
@@ -12345,7 +12453,7 @@
 
       char buf[100];
       char buf2[100];
-      printf (gettext ("  %-13.*s  %9" PRId32 "  %s\n"),
+      printf (_("  %-13.*s  %9" PRId32 "  %s\n"),
 	      (int) print_namesz, print_name, nhdr.n_descsz,
 	      ehdr->e_type == ET_CORE
 	      ? ebl_core_note_type_name (ebl, nhdr.n_type,
@@ -12397,7 +12505,7 @@
 
  bad_note:
   error (0, 0,
-	 gettext ("cannot get content of note: %s"),
+	 _("cannot get content of note: %s"),
 	 data != NULL ? "garbage data" : elf_errmsg (-1));
 }
 
@@ -12412,7 +12520,7 @@
       size_t shstrndx;
       if (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0)
 	error (EXIT_FAILURE, 0,
-	       gettext ("cannot get section header string table index"));
+	       _("cannot get section header string table index"));
 
       Elf_Scn *scn = NULL;
       while ((scn = elf_nextscn (ebl->elf, scn)) != NULL)
@@ -12431,7 +12539,7 @@
 		continue;
 	    }
 
-	  printf (gettext ("\
+	  printf (_("\
 \nNote section [%2zu] '%s' of %" PRIu64 " bytes at offset %#0" PRIx64 ":\n"),
 		  elf_ndxscn (scn),
 		  elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
@@ -12454,7 +12562,7 @@
 	/* Not what we are looking for.  */
 	continue;
 
-      printf (gettext ("\
+      printf (_("\
 \nNote segment of %" PRIu64 " bytes at offset %#0" PRIx64 ":\n"),
 	      phdr->p_filesz, phdr->p_offset);
 
@@ -12501,7 +12609,7 @@
 dump_data_section (Elf_Scn *scn, const GElf_Shdr *shdr, const char *name)
 {
   if (shdr->sh_size == 0 || shdr->sh_type == SHT_NOBITS)
-    printf (gettext ("\nSection [%zu] '%s' has no data to dump.\n"),
+    printf (_("\nSection [%zu] '%s' has no data to dump.\n"),
 	    elf_ndxscn (scn), name);
   else
     {
@@ -12514,31 +12622,31 @@
 	    {
 	      if (elf_compress (scn, 0, 0) < 0)
 		printf ("WARNING: %s [%zd]\n",
-			gettext ("Couldn't uncompress section"),
+			_("Couldn't uncompress section"),
 			elf_ndxscn (scn));
 	    }
 	  else if (strncmp (name, ".zdebug", strlen (".zdebug")) == 0)
 	    {
 	      if (elf_compress_gnu (scn, 0, 0) < 0)
 		printf ("WARNING: %s [%zd]\n",
-			gettext ("Couldn't uncompress section"),
+			_("Couldn't uncompress section"),
 			elf_ndxscn (scn));
 	    }
 	}
 
       Elf_Data *data = elf_rawdata (scn, NULL);
       if (data == NULL)
-	error (0, 0, gettext ("cannot get data for section [%zu] '%s': %s"),
+	error (0, 0, _("cannot get data for section [%zu] '%s': %s"),
 	       elf_ndxscn (scn), name, elf_errmsg (-1));
       else
 	{
 	  if (data->d_size == shdr->sh_size)
-	    printf (gettext ("\nHex dump of section [%zu] '%s', %" PRIu64
+	    printf (_("\nHex dump of section [%zu] '%s', %" PRIu64
 			     " bytes at offset %#0" PRIx64 ":\n"),
 		    elf_ndxscn (scn), name,
 		    shdr->sh_size, shdr->sh_offset);
 	  else
-	    printf (gettext ("\nHex dump of section [%zu] '%s', %" PRIu64
+	    printf (_("\nHex dump of section [%zu] '%s', %" PRIu64
 			     " bytes (%zd uncompressed) at offset %#0"
 			     PRIx64 ":\n"),
 		    elf_ndxscn (scn), name,
@@ -12552,7 +12660,7 @@
 print_string_section (Elf_Scn *scn, const GElf_Shdr *shdr, const char *name)
 {
   if (shdr->sh_size == 0 || shdr->sh_type == SHT_NOBITS)
-    printf (gettext ("\nSection [%zu] '%s' has no strings to dump.\n"),
+    printf (_("\nSection [%zu] '%s' has no strings to dump.\n"),
 	    elf_ndxscn (scn), name);
   else
     {
@@ -12565,31 +12673,31 @@
 	    {
 	      if (elf_compress (scn, 0, 0) < 0)
 		printf ("WARNING: %s [%zd]\n",
-			gettext ("Couldn't uncompress section"),
+			_("Couldn't uncompress section"),
 			elf_ndxscn (scn));
 	    }
 	  else if (strncmp (name, ".zdebug", strlen (".zdebug")) == 0)
 	    {
 	      if (elf_compress_gnu (scn, 0, 0) < 0)
 		printf ("WARNING: %s [%zd]\n",
-			gettext ("Couldn't uncompress section"),
+			_("Couldn't uncompress section"),
 			elf_ndxscn (scn));
 	    }
 	}
 
       Elf_Data *data = elf_rawdata (scn, NULL);
       if (data == NULL)
-	error (0, 0, gettext ("cannot get data for section [%zu] '%s': %s"),
+	error (0, 0, _("cannot get data for section [%zu] '%s': %s"),
 	       elf_ndxscn (scn), name, elf_errmsg (-1));
       else
 	{
 	  if (data->d_size == shdr->sh_size)
-	    printf (gettext ("\nString section [%zu] '%s' contains %" PRIu64
+	    printf (_("\nString section [%zu] '%s' contains %" PRIu64
 			     " bytes at offset %#0" PRIx64 ":\n"),
 		    elf_ndxscn (scn), name,
 		    shdr->sh_size, shdr->sh_offset);
 	  else
-	    printf (gettext ("\nString section [%zu] '%s' contains %" PRIu64
+	    printf (_("\nString section [%zu] '%s' contains %" PRIu64
 			     " bytes (%zd uncompressed) at offset %#0"
 			     PRIx64 ":\n"),
 		    elf_ndxscn (scn), name,
@@ -12623,7 +12731,7 @@
   size_t shstrndx;
   if (elf_getshdrstrndx (elf, &shstrndx) < 0)
     error (EXIT_FAILURE, 0,
-	   gettext ("cannot get section header string table index"));
+	   _("cannot get section header string table index"));
 
   for (const struct section_argument *a = list; a != NULL; a = a->next)
     {
@@ -12638,12 +12746,12 @@
 	  scn = elf_getscn (elf, shndx);
 	  if (scn == NULL)
 	    {
-	      error (0, 0, gettext ("\nsection [%lu] does not exist"), shndx);
+	      error (0, 0, _("\nsection [%lu] does not exist"), shndx);
 	      continue;
 	    }
 
 	  if (gelf_getshdr (scn, &shdr_mem) == NULL)
-	    error (EXIT_FAILURE, 0, gettext ("cannot get section header: %s"),
+	    error (EXIT_FAILURE, 0, _("cannot get section header: %s"),
 		   elf_errmsg (-1));
 	  name = elf_strptr (elf, shstrndx, shdr_mem.sh_name);
 	  (*dump) (scn, &shdr_mem, name);
@@ -12668,7 +12776,7 @@
 	    }
 
 	  if (unlikely (!found) && !a->implicit)
-	    error (0, 0, gettext ("\nsection '%s' does not exist"), a->arg);
+	    error (0, 0, _("\nsection '%s' does not exist"), a->arg);
 	}
     }
 }
@@ -12692,7 +12800,7 @@
   size_t shstrndx;
   if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
     error (EXIT_FAILURE, 0,
-	   gettext ("cannot get section header string table index"));
+	   _("cannot get section header string table index"));
 
   Elf_Scn *scn;
   GElf_Shdr shdr_mem;
@@ -12725,14 +12833,14 @@
       int result = elf_errno ();
       if (unlikely (result != ELF_E_NO_INDEX))
 	error (EXIT_FAILURE, 0,
-	       gettext ("cannot get symbol index of archive '%s': %s"),
+	       _("cannot get symbol index of archive '%s': %s"),
 	       fname, elf_errmsg (result));
       else
-	printf (gettext ("\nArchive '%s' has no symbol index\n"), fname);
+	printf (_("\nArchive '%s' has no symbol index\n"), fname);
       return;
     }
 
-  printf (gettext ("\nIndex of archive '%s' has %zu entries:\n"),
+  printf (_("\nIndex of archive '%s' has %zu entries:\n"),
 	  fname, narsym);
 
   size_t as_off = 0;
@@ -12750,12 +12858,12 @@
 	    while (1)
 #endif
 	      error (EXIT_FAILURE, 0,
-		     gettext ("cannot extract member at offset %zu in '%s': %s"),
+		     _("cannot extract member at offset %zu in '%s': %s"),
 		     as_off, fname, elf_errmsg (-1));
 
 	  const Elf_Arhdr *h = elf_getarhdr (subelf);
 
-	  printf (gettext ("Archive member '%s' contains:\n"), h->ar_name);
+	  printf (_("Archive member '%s' contains:\n"), h->ar_name);
 
 	  elf_end (subelf);
 	}
diff --git a/src/size.c b/src/size.c
index a25d447..322ff53 100644
--- a/src/size.c
+++ b/src/size.c
@@ -102,7 +102,7 @@
 static void show_bsd_totals (void);
 
 #define INTERNAL_ERROR(fname) \
-  error (EXIT_FAILURE, 0, gettext ("%s: INTERNAL ERROR %d (%s): %s"),      \
+  error (EXIT_FAILURE, 0, _("%s: INTERNAL ERROR %d (%s): %s"),      \
 	 fname, __LINE__, PACKAGE_VERSION, elf_errmsg (-1))
 
 
@@ -145,7 +145,7 @@
 
 /* True if total sizes should be printed.  */
 static bool totals;
-/* To print the total sizes in a reasonable format remember the higest
+/* To print the total sizes in a reasonable format remember the highest
    "class" of ELF binaries processed.  */
 static int totals_class;
 
@@ -237,7 +237,7 @@
       else if (likely (strcmp (arg, "sysv") == 0))
 	format = format_sysv;
       else
-	error (EXIT_FAILURE, 0, gettext ("Invalid format: %s"), arg);
+	error (EXIT_FAILURE, 0, _("Invalid format: %s"), arg);
       break;
 
     case OPT_RADIX:
@@ -248,7 +248,7 @@
       else if (strcmp (arg, "o") == 0 || strcmp (arg, "8") == 0)
 	radix = radix_octal;
       else
-	error (EXIT_FAILURE, 0, gettext ("Invalid radix: %s"), arg);
+	error (EXIT_FAILURE, 0, _("Invalid radix: %s"), arg);
       break;
 
     case 't':
@@ -269,7 +269,7 @@
   int fd = open (fname, O_RDONLY);
   if (unlikely (fd == -1))
     {
-      error (0, errno, gettext ("cannot open '%s'"), fname);
+      error (0, errno, _("cannot open '%s'"), fname);
       return 1;
     }
 
@@ -285,7 +285,7 @@
 	    INTERNAL_ERROR (fname);
 
 	  if (unlikely (close (fd) != 0))
-	    error (EXIT_FAILURE, errno, gettext ("while closing '%s'"), fname);
+	    error (EXIT_FAILURE, errno, _("while closing '%s'"), fname);
 
 	  return 0;
 	}
@@ -294,7 +294,7 @@
 	  int result = handle_ar (fd, elf, NULL, fname);
 
 	  if (unlikely  (close (fd) != 0))
-	    error (EXIT_FAILURE, errno, gettext ("while closing '%s'"), fname);
+	    error (EXIT_FAILURE, errno, _("while closing '%s'"), fname);
 
 	  return result;
 	}
@@ -305,9 +305,9 @@
     }
 
   if (unlikely (close (fd) != 0))
-    error (EXIT_FAILURE, errno, gettext ("while closing '%s'"), fname);
+    error (EXIT_FAILURE, errno, _("while closing '%s'"), fname);
 
-  error (0, 0, gettext ("%s: file format not recognized"), fname);
+  error (0, 0, _("%s: file format not recognized"), fname);
 
   return 1;
 }
@@ -395,7 +395,7 @@
   size_t shstrndx;
   if (unlikely (elf_getshdrstrndx (elf, &shstrndx) < 0))
     error (EXIT_FAILURE, 0,
-	   gettext ("cannot get section header string table index"));
+	   _("cannot get section header string table index"));
 
   /* First round over the sections: determine the longest section name.  */
   Elf_Scn *scn = NULL;
@@ -415,7 +415,7 @@
 
   fputs_unlocked (fname, stdout);
   if (prefix != NULL)
-    printf (gettext (" (ex %s)"), prefix);
+    printf (_(" (ex %s)"), prefix);
   printf (":\n%-*s %*s %*s\n",
 	  maxlen, sgettext ("sysv|section"),
 	  digits - 2, sgettext ("sysv|size"),
@@ -467,7 +467,7 @@
   size_t shstrndx;
   if (unlikely (elf_getshdrstrndx (elf, &shstrndx) < 0))
     error (EXIT_FAILURE, 0,
-	   gettext ("cannot get section header string table index"));
+	   _("cannot get section header string table index"));
 
   /* Iterate over all sections.  */
   GElf_Off total = 0;
@@ -479,7 +479,7 @@
       GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
 
       if (unlikely (shdr == NULL))
-	error (EXIT_FAILURE, 0, gettext ("cannot get section header"));
+	error (EXIT_FAILURE, 0, _("cannot get section header"));
 
       /* Ignore all sections which are not used at runtime.  */
       if ((shdr->sh_flags & SHF_ALLOC) == 0)
@@ -545,8 +545,11 @@
 	datasize += shdr->sh_size;
     }
 
-  printf ("%*" PRId64 " %*" PRId64 " %*" PRId64 " %*" PRId64 " %*"
-	  PRIx64 " %s",
+  printf (radix == radix_decimal
+          ? "%*" PRId64 " %*" PRId64 " %*" PRId64 " %*" PRId64 " %*" PRIx64 " %s"
+	  : radix == radix_hex
+	  ? "%#*" PRIx64 " %#*" PRIx64 " %#*" PRIx64 " %*" PRId64 " %*" PRIx64 " %s"
+	  : "%#*" PRIo64 " %#*" PRIo64 " %#*" PRIo64 " %*" PRId64 " %*" PRIx64 " %s",
 	  ddigits - 2, textsize,
 	  ddigits - 2, datasize,
 	  ddigits - 2, bsssize,
@@ -554,7 +557,7 @@
 	  xdigits - 2, textsize + datasize + bsssize,
 	  fname);
   if (prefix != NULL)
-    printf (gettext (" (ex %s)"), prefix);
+    printf (_(" (ex %s)"), prefix);
   fputs_unlocked ("\n", stdout);
 
   total_textsize += textsize;
@@ -579,7 +582,7 @@
 	  ddigits - 2, total_bsssize,
 	  ddigits - 2, total_textsize + total_datasize + total_bsssize,
 	  xdigits - 2, total_textsize + total_datasize + total_bsssize,
-	  gettext ("(TOTALS)\n"));
+	  _("(TOTALS)\n"));
 }
 
 
diff --git a/src/stack.c b/src/stack.c
index 4daabce..534aa93 100644
--- a/src/stack.c
+++ b/src/stack.c
@@ -143,7 +143,12 @@
   const char *debugfile;
   const char *modname = dwfl_module_info (mod, NULL, NULL, &end, NULL,
                                           NULL, &mainfile, &debugfile);
-  assert (strcmp (modname, name) == 0);
+  if (modname == NULL || strcmp (modname, name) != 0)
+    {
+      end = start + 1;
+      mainfile = NULL;
+      debugfile = NULL;
+    }
 
   int width = get_addr_width (mod);
   printf ("0x%0*" PRIx64 "-0x%0*" PRIx64 " %s\n",
@@ -683,7 +688,7 @@
 any errors.  If some frames were shown, but there were some non-fatal \
 errors, possibly causing an incomplete backtrace, the program exits \
 with return code 1.  If no frames could be shown, or a fatal error \
-occured the program exits with return code 2.  If the program was \
+occurred the program exits with return code 2.  If the program was \
 invoked with bad or missing arguments it will exit with return code 64.")
     };
 
diff --git a/src/strings.c b/src/strings.c
index ef40d5e..eb278f8 100644
--- a/src/strings.c
+++ b/src/strings.c
@@ -67,7 +67,7 @@
   { "bytes", 'n', "MIN-LEN", 0,
     N_("Only NUL-terminated sequences of MIN-LEN characters or more are printed"), 0 },
   { "encoding", 'e', "SELECTOR", 0, N_("\
-Select character size and endianess: s = 7-bit, S = 8-bit, {b,l} = 16-bit, {B,L} = 32-bit"),
+Select character size and endianness: s = 7-bit, S = 8-bit, {b,l} = 16-bit, {B,L} = 32-bit"),
     0},
   { "print-file-name", 'f', NULL, 0,
     N_("Print name of the file before each string."), 0 },
@@ -182,7 +182,7 @@
 		  ? STDIN_FILENO : open (argv[remaining], O_RDONLY));
 	if (unlikely (fd == -1))
 	  {
-	    error (0, errno, gettext ("cannot open '%s'"), argv[remaining]);
+	    error (0, errno, _("cannot open '%s'"), argv[remaining]);
 	    result = 1;
 	  }
 	else
@@ -253,7 +253,7 @@
 	  break;
 
 	default:
-	  error (0, 0, gettext ("invalid value '%s' for %s parameter"),
+	  error (0, 0, _("invalid value '%s' for %s parameter"),
 		 arg, "-e");
 	  argp_help (&argp, stderr, ARGP_HELP_SEE, "strings");
 	  return ARGP_ERR_UNKNOWN;
@@ -288,7 +288,7 @@
 	  break;
 
 	default:
-	  error (0, 0, gettext ("invalid value '%s' for %s parameter"),
+	  error (0, 0, _("invalid value '%s' for %s parameter"),
 		 arg, "-t");
 	  argp_help (&argp, stderr, ARGP_HELP_SEE, "strings");
 	  return ARGP_ERR_UNKNOWN;
@@ -299,7 +299,7 @@
       /* Compute the length in bytes of any match.  */
       if (min_len <= 0 || min_len > INT_MAX / bytes_per_char)
 	error (EXIT_FAILURE, 0,
-	       gettext ("invalid minimum length of matched string size"));
+	       _("invalid minimum length of matched string size"));
       min_len_bytes = min_len * bytes_per_char;
       break;
 
@@ -582,7 +582,7 @@
       // XXX Eventually add flag which avoids this if the position
       // XXX is known to match.
       if (from != 0 && lseek (fd, from, SEEK_SET) != from)
-	error (EXIT_FAILURE, errno, gettext ("lseek failed"));
+	error (EXIT_FAILURE, errno, _("lseek failed"));
 
       return read_block_no_mmap (fd, fname, from, to - from);
     }
@@ -599,7 +599,7 @@
       if (mmap (elfmap, elfmap_size, PROT_READ,
 		MAP_PRIVATE | MAP_POPULATE | MAP_FIXED, fd, from)
 	  == MAP_FAILED)
-	error (EXIT_FAILURE, errno, gettext ("re-mmap failed"));
+	error (EXIT_FAILURE, errno, _("re-mmap failed"));
       elfmap_base = elfmap;
     }
 
@@ -636,7 +636,7 @@
 	     and for this we have to make the data writable.  */
 	  if (unlikely (mprotect (elfmap, keep_area, PROT_READ | PROT_WRITE)
 			!= 0))
-	    error (EXIT_FAILURE, errno, gettext ("mprotect failed"));
+	    error (EXIT_FAILURE, errno, _("mprotect failed"));
 
 	  elfmap_base = elfmap + keep_area;
 	}
@@ -663,7 +663,7 @@
 	  if (mmap (remap_base, read_now, PROT_READ,
 		    MAP_PRIVATE | MAP_POPULATE | MAP_FIXED, fd, handled_to)
 	      == MAP_FAILED)
-	    error (EXIT_FAILURE, errno, gettext ("re-mmap failed"));
+	    error (EXIT_FAILURE, errno, _("re-mmap failed"));
 	  elfmap_off = handled_to;
 
 	  process_chunk (fname, remap_base - to_keep,
@@ -698,7 +698,7 @@
 
   /* We will look at each section separately.  The ELF file is not
      mmapped.  The libelf implementation will load the needed parts on
-     demand.  Since we only interate over the section header table the
+     demand.  Since we only iterate over the section header table the
      memory consumption at this stage is kept minimal.  */
   Elf_Scn *scn = elf_nextscn (elf, NULL);
   if (scn == NULL)
@@ -725,7 +725,7 @@
 	      else
 		sname = elf_strptr (elf, strndx, shdr->sh_name) ?: "<unknown>";
 	      error (0, 0,
-		     gettext ("Skipping section %zd '%s' data outside file"),
+		     _("Skipping section %zd '%s' data outside file"),
 		     elf_ndxscn (scn), sname);
 	      result = 1;
 	    }
diff --git a/src/strip.c b/src/strip.c
index 48792a7..7a5d4e4 100644
--- a/src/strip.c
+++ b/src/strip.c
@@ -82,9 +82,9 @@
   { "preserve-dates", 'p', NULL, 0,
     N_("Copy modified/access timestamps to the output"), 0 },
   { "reloc-debug-sections", OPT_RELOC_DEBUG, NULL, 0,
-    N_("Resolve all trivial relocations between debug sections if the removed sections are placed in a debug file (only relevant for ET_REL files, operation is not reversable, needs -f)"), 0 },
+    N_("Resolve all trivial relocations between debug sections if the removed sections are placed in a debug file (only relevant for ET_REL files, operation is not reversible, needs -f)"), 0 },
   { "reloc-debug-sections-only", OPT_RELOC_DEBUG_ONLY, NULL, 0,
-    N_("Similar to --reloc-debug-sections, but resolve all trivial relocations between debug sections in place.  No other stripping is performed (operation is not reversable, incompatible with -f, -g, --remove-comment and --remove-section)"), 0 },
+    N_("Similar to --reloc-debug-sections, but resolve all trivial relocations between debug sections in place.  No other stripping is performed (operation is not reversible, incompatible with -f, -g, --remove-comment and --remove-section)"), 0 },
   { "remove-comment", OPT_REMOVE_COMMENT, NULL, 0,
     N_("Remove .comment section"), 0 },
   { "remove-section", 'R', "SECTION", 0, N_("Remove the named section.  SECTION is an extended wildcard pattern.  May be given more than once.  Only non-allocated sections can be removed."), 0 },
@@ -130,7 +130,7 @@
 #define INTERNAL_ERROR(fname) \
   do { \
     cleanup_debug (); \
-    error (EXIT_FAILURE, 0, gettext ("%s: INTERNAL ERROR %d (%s): %s"),      \
+    error (EXIT_FAILURE, 0, _("%s: INTERNAL ERROR %d (%s): %s"),      \
 	   fname, __LINE__, PACKAGE_VERSION, elf_errmsg (-1)); \
   } while (0)
 
@@ -244,13 +244,13 @@
 
   if (reloc_debug && debug_fname == NULL)
     error (EXIT_FAILURE, 0,
-	   gettext ("--reloc-debug-sections used without -f"));
+	   _("--reloc-debug-sections used without -f"));
 
   if (reloc_debug_only &&
       (debug_fname != NULL || remove_secs != NULL
        || remove_comment == true || remove_debug == true))
     error (EXIT_FAILURE, 0,
-	   gettext ("--reloc-debug-sections-only incompatible with -f, -g, --remove-comment and --remove-section"));
+	   _("--reloc-debug-sections-only incompatible with -f, -g, --remove-comment and --remove-section"));
 
   /* Tell the library which version we are expecting.  */
   elf_version (EV_CURRENT);
@@ -264,7 +264,7 @@
 	 input file.  */
       if ((output_fname != NULL || debug_fname != NULL)
 	  && remaining + 1 < argc)
-	error (EXIT_FAILURE, 0, gettext ("\
+	error (EXIT_FAILURE, 0, _("\
 Only one input file allowed together with '-o' and '-f'"));
 
       /* Process all the remaining files.  */
@@ -287,7 +287,7 @@
     case 'f':
       if (debug_fname != NULL)
 	{
-	  error (0, 0, gettext ("-f option specified twice"));
+	  error (0, 0, _("-f option specified twice"));
 	  return EINVAL;
 	}
       debug_fname = arg;
@@ -296,7 +296,7 @@
     case 'F':
       if (debug_fname_embed != NULL)
 	{
-	  error (0, 0, gettext ("-F option specified twice"));
+	  error (0, 0, _("-F option specified twice"));
 	  return EINVAL;
 	}
       debug_fname_embed = arg;
@@ -305,7 +305,7 @@
     case 'o':
       if (output_fname != NULL)
 	{
-	  error (0, 0, gettext ("-o option specified twice"));
+	  error (0, 0, _("-o option specified twice"));
 	  return EINVAL;
 	}
       output_fname = arg;
@@ -359,7 +359,7 @@
 	  && section_name_matches (keep_secs, ".comment"))
 	{
 	  argp_error (state,
-		      gettext ("cannot both keep and remove .comment section"));
+		      _("cannot both keep and remove .comment section"));
 	  return EINVAL;
 	}
       break;
@@ -442,6 +442,127 @@
   return 0;
 }
 
+
+/* Apply one relocation.  Returns true when trivial
+   relocation actually done.  */
+static bool
+relocate (Elf *elf, GElf_Addr offset, const GElf_Sxword addend,
+	  Elf_Data *tdata, unsigned int ei_data, const char *fname,
+	  bool is_rela, GElf_Sym *sym, int addsub, Elf_Type type)
+{
+  /* These are the types we can relocate.  */
+#define TYPES   DO_TYPE (BYTE, Byte); DO_TYPE (HALF, Half);		\
+      DO_TYPE (WORD, Word); DO_TYPE (SWORD, Sword);		\
+      DO_TYPE (XWORD, Xword); DO_TYPE (SXWORD, Sxword)
+
+  size_t size;
+
+#define DO_TYPE(NAME, Name) GElf_##Name Name;
+  union { TYPES; } tmpbuf;
+#undef DO_TYPE
+
+  switch (type)
+    {
+#define DO_TYPE(NAME, Name)				\
+      case ELF_T_##NAME:			\
+	size = sizeof (GElf_##Name);	\
+	tmpbuf.Name = 0;			\
+	break;
+      TYPES;
+#undef DO_TYPE
+    default:
+      return false;
+    }
+
+  if (offset > tdata->d_size
+      || tdata->d_size - offset < size)
+    {
+      cleanup_debug ();
+      error (EXIT_FAILURE, 0, _("bad relocation"));
+    }
+
+  /* When the symbol value is zero then for SHT_REL
+     sections this is all that needs to be checked.
+     The addend is contained in the original data at
+     the offset already.  So if the (section) symbol
+     address is zero and the given addend is zero
+     just remove the relocation, it isn't needed
+     anymore.  */
+  if (addend == 0 && sym->st_value == 0)
+    return true;
+
+  Elf_Data tmpdata =
+    {
+      .d_type = type,
+      .d_buf = &tmpbuf,
+      .d_size = size,
+      .d_version = EV_CURRENT,
+    };
+  Elf_Data rdata =
+    {
+      .d_type = type,
+      .d_buf = tdata->d_buf + offset,
+      .d_size = size,
+      .d_version = EV_CURRENT,
+    };
+
+  GElf_Addr value = sym->st_value;
+  if (is_rela)
+    {
+      /* For SHT_RELA sections we just take the
+	 given addend and add it to the value.  */
+      value += addend;
+      /* For ADD/SUB relocations we need to fetch the
+	 current section contents.  */
+      if (addsub != 0)
+	{
+	  Elf_Data *d = gelf_xlatetom (elf, &tmpdata,
+				       &rdata,
+				       ei_data);
+	  if (d == NULL)
+	    INTERNAL_ERROR (fname);
+	  assert (d == &tmpdata);
+	}
+    }
+  else
+    {
+      /* For SHT_REL sections we have to peek at
+	 what is already in the section at the given
+	 offset to get the addend.  */
+      Elf_Data *d = gelf_xlatetom (elf, &tmpdata,
+				   &rdata,
+				   ei_data);
+      if (d == NULL)
+	INTERNAL_ERROR (fname);
+      assert (d == &tmpdata);
+    }
+
+  switch (type)
+    {
+#define DO_TYPE(NAME, Name)					 \
+      case ELF_T_##NAME:				 \
+	if (addsub < 0)				 \
+	  tmpbuf.Name -= (GElf_##Name) value;	 \
+	else					 \
+	  tmpbuf.Name += (GElf_##Name) value;	 \
+	break;
+      TYPES;
+#undef DO_TYPE
+    default:
+      abort ();
+    }
+
+  /* Now finally put in the new value.  */
+  Elf_Data *s = gelf_xlatetof (elf, &rdata,
+			       &tmpdata,
+			       ei_data);
+  if (s == NULL)
+    INTERNAL_ERROR (fname);
+  assert (s == &rdata);
+
+  return true;
+}
+
 /* Remove any relocations between debug sections in ET_REL
    for the debug file when requested.  These relocations are always
    zero based between the unallocated sections.  */
@@ -517,180 +638,80 @@
 	  if (symdata == NULL)
 	    INTERNAL_ERROR (fname);
 
-	  /* Apply one relocation.  Returns true when trivial
-	     relocation actually done.  */
-	  bool relocate (GElf_Addr offset, const GElf_Sxword addend,
-			 bool is_rela, int rtype, int symndx)
-	  {
-	    /* R_*_NONE relocs can always just be removed.  */
-	    if (rtype == 0)
-	      return true;
-
-	    /* We only do simple absolute relocations.  */
-	    int addsub = 0;
-	    Elf_Type type = ebl_reloc_simple_type (ebl, rtype, &addsub);
-	    if (type == ELF_T_NUM)
-	      return false;
-
-	    /* These are the types we can relocate.  */
-#define TYPES   DO_TYPE (BYTE, Byte); DO_TYPE (HALF, Half);		\
-		DO_TYPE (WORD, Word); DO_TYPE (SWORD, Sword);		\
-		DO_TYPE (XWORD, Xword); DO_TYPE (SXWORD, Sxword)
-
-	    /* And only for relocations against other debug sections.  */
-	    GElf_Sym sym_mem;
-	    Elf32_Word xndx;
-	    GElf_Sym *sym = gelf_getsymshndx (symdata, xndxdata,
-					      symndx, &sym_mem,
-					      &xndx);
-	    Elf32_Word sec = (sym->st_shndx == SHN_XINDEX
-			      ? xndx : sym->st_shndx);
-
-	    if (ebl_debugscn_p (ebl, secndx_name (elf, sec)))
-	      {
-		size_t size;
-
-#define DO_TYPE(NAME, Name) GElf_##Name Name;
-		union { TYPES; } tmpbuf;
-#undef DO_TYPE
-
-		switch (type)
-		  {
-#define DO_TYPE(NAME, Name)				\
-		    case ELF_T_##NAME:			\
-		      size = sizeof (GElf_##Name);	\
-		      tmpbuf.Name = 0;			\
-		      break;
-		    TYPES;
-#undef DO_TYPE
-		  default:
-		    return false;
-		  }
-
-		if (offset > tdata->d_size
-		    || tdata->d_size - offset < size)
-		  {
-		    cleanup_debug ();
-		    error (EXIT_FAILURE, 0, gettext ("bad relocation"));
-		  }
-
-		/* When the symbol value is zero then for SHT_REL
-		   sections this is all that needs to be checked.
-		   The addend is contained in the original data at
-		   the offset already.  So if the (section) symbol
-		   address is zero and the given addend is zero
-		   just remove the relocation, it isn't needed
-		   anymore.  */
-		if (addend == 0 && sym->st_value == 0)
-		  return true;
-
-		Elf_Data tmpdata =
-		  {
-		    .d_type = type,
-		    .d_buf = &tmpbuf,
-		    .d_size = size,
-		    .d_version = EV_CURRENT,
-		  };
-		Elf_Data rdata =
-		  {
-		    .d_type = type,
-		    .d_buf = tdata->d_buf + offset,
-		    .d_size = size,
-		    .d_version = EV_CURRENT,
-		  };
-
-		GElf_Addr value = sym->st_value;
-		if (is_rela)
-		  {
-		    /* For SHT_RELA sections we just take the
-		       given addend and add it to the value.  */
-		    value += addend;
-		    /* For ADD/SUB relocations we need to fetch the
-		       current section contents.  */
-		    if (addsub != 0)
-		      {
-			Elf_Data *d = gelf_xlatetom (elf, &tmpdata,
-						     &rdata,
-						     ehdr->e_ident[EI_DATA]);
-			if (d == NULL)
-			  INTERNAL_ERROR (fname);
-			assert (d == &tmpdata);
-		      }
-		  }
-		else
-		  {
-		    /* For SHT_REL sections we have to peek at
-		       what is already in the section at the given
-		       offset to get the addend.  */
-		    Elf_Data *d = gelf_xlatetom (elf, &tmpdata,
-						 &rdata,
-						 ehdr->e_ident[EI_DATA]);
-		    if (d == NULL)
-		      INTERNAL_ERROR (fname);
-		    assert (d == &tmpdata);
-		  }
-
-		switch (type)
-		  {
-#define DO_TYPE(NAME, Name)					 \
-		    case ELF_T_##NAME:				 \
-		      if (addsub < 0)				 \
-			tmpbuf.Name -= (GElf_##Name) value;	 \
-		      else					 \
-			tmpbuf.Name += (GElf_##Name) value;	 \
-		      break;
-		    TYPES;
-#undef DO_TYPE
-		  default:
-		    abort ();
-		  }
-
-		/* Now finally put in the new value.  */
-		Elf_Data *s = gelf_xlatetof (elf, &rdata,
-					     &tmpdata,
-					     ehdr->e_ident[EI_DATA]);
-		if (s == NULL)
-		  INTERNAL_ERROR (fname);
-		assert (s == &rdata);
-
-		return true;
-	      }
-	    return false;
-	  }
-
 	  if (shdr->sh_entsize == 0)
 	    INTERNAL_ERROR (fname);
 
 	  size_t nrels = shdr->sh_size / shdr->sh_entsize;
 	  size_t next = 0;
-	  if (shdr->sh_type == SHT_REL)
-	    for (size_t relidx = 0; relidx < nrels; ++relidx)
-	      {
-		GElf_Rel rel_mem;
-		GElf_Rel *r = gelf_getrel (reldata, relidx, &rel_mem);
-		if (! relocate (r->r_offset, 0, false,
-				GELF_R_TYPE (r->r_info),
-				GELF_R_SYM (r->r_info)))
-		  {
-		    if (relidx != next)
-		      gelf_update_rel (reldata, next, r);
-		    ++next;
-		  }
-	      }
-	  else
-	    for (size_t relidx = 0; relidx < nrels; ++relidx)
-	      {
-		GElf_Rela rela_mem;
-		GElf_Rela *r = gelf_getrela (reldata, relidx, &rela_mem);
-		if (! relocate (r->r_offset, r->r_addend, true,
-				GELF_R_TYPE (r->r_info),
-				GELF_R_SYM (r->r_info)))
-		  {
-		    if (relidx != next)
-		      gelf_update_rela (reldata, next, r);
-		    ++next;
-		  }
-	      }
+	  const bool is_rela = (shdr->sh_type == SHT_RELA);
+	  const unsigned int ei_data = ehdr->e_ident[EI_DATA];
+
+	  for (size_t relidx = 0; relidx < nrels; ++relidx)
+	    {
+	      int rtype, symndx, offset, addend;
+	      union { GElf_Rela rela; GElf_Rel rel; } mem;
+	      void *rel_p; /* Pointer to either rela or rel above */
+
+	      if (is_rela)
+		{
+		  GElf_Rela *r = gelf_getrela (reldata, relidx, &mem.rela);
+		  offset = r->r_offset;
+		  addend = r->r_addend;
+		  rtype = GELF_R_TYPE (r->r_info);
+		  symndx = GELF_R_SYM (r->r_info);
+		  rel_p = r;
+		}
+	      else
+		{
+		  GElf_Rel *r = gelf_getrel (reldata, relidx, &mem.rel);
+		  offset = r->r_offset;
+		  addend = 0;
+		  rtype = GELF_R_TYPE (r->r_info);
+		  symndx = GELF_R_SYM (r->r_info);
+		  rel_p = r;
+		}
+
+	      /* R_*_NONE relocs can always just be removed.  */
+	      if (rtype == 0)
+		continue;
+
+	      /* We only do simple absolute relocations.  */
+	      int addsub = 0;
+	      Elf_Type type = ebl_reloc_simple_type (ebl, rtype, &addsub);
+	      if (type == ELF_T_NUM)
+		goto relocate_failed;
+
+	      /* And only for relocations against other debug sections.  */
+	      GElf_Sym sym_mem;
+	      Elf32_Word xndx;
+	      GElf_Sym *sym = gelf_getsymshndx (symdata, xndxdata,
+						symndx, &sym_mem,
+						  &xndx);
+	      Elf32_Word sec = (sym->st_shndx == SHN_XINDEX
+				? xndx : sym->st_shndx);
+
+	      bool dbg_scn = ebl_debugscn_p (ebl, secndx_name (elf, sec));
+
+	      if (!dbg_scn)
+		goto relocate_failed;
+
+	      if (! relocate (elf, offset, addend,
+			    tdata, ei_data, fname, is_rela,
+			    sym, addsub, type))
+	      goto relocate_failed;
+
+	      continue; /* Next */
+
+relocate_failed:
+	      if (relidx != next)
+		{
+		  if (is_rela)
+		    gelf_update_rela (reldata, next, rel_p);
+		  else
+		    gelf_update_rel (reldata, next, rel_p);
+		}
+	      ++next;
+	    }
 
 	  nrels = next;
 	  shdr->sh_size = reldata->d_size = nrels * shdr->sh_entsize;
@@ -723,7 +744,7 @@
     {
       if (stat (fname, &pre_st) != 0)
 	{
-	  error (0, errno, gettext ("cannot stat input file '%s'"), fname);
+	  error (0, errno, _("cannot stat input file '%s'"), fname);
 	  return 1;
 	}
 
@@ -737,7 +758,7 @@
   int fd = open (fname, output_fname == NULL ? O_RDWR : O_RDONLY);
   if (fd == -1)
     {
-      error (0, errno, gettext ("while opening '%s'"), fname);
+      error (0, errno, _("while opening '%s'"), fname);
       return 1;
     }
 
@@ -747,7 +768,7 @@
   struct stat st;
   if (fstat (fd, &st) != 0)
     {
-      error (0, errno, gettext ("cannot stat input file '%s'"), fname);
+      error (0, errno, _("cannot stat input file '%s'"), fname);
       return 1;
     }
   /* Paranoid mode on.  */
@@ -775,7 +796,7 @@
 	 the output to a specific file.  */
       if (unlikely (output_fname != NULL || debug_fname != NULL))
 	{
-	  error (0, 0, gettext ("%s: cannot use -o or -f when stripping archive"),
+	  error (0, 0, _("%s: cannot use -o or -f when stripping archive"),
 		 fname);
 	  result = 1;
 	}
@@ -787,14 +808,14 @@
 	     result = handle_ar (fd, elf, NULL, fname,
 				 preserve_dates ? tv : NULL);
 	   */
-	  error (0, 0, gettext ("%s: no support for stripping archive"),
+	  error (0, 0, _("%s: no support for stripping archive"),
 		 fname);
 	  result = 1;
 	}
       break;
 
     default:
-      error (0, 0, gettext ("%s: File format not recognized"), fname);
+      error (0, 0, _("%s: File format not recognized"), fname);
       result = 1;
       break;
     }
@@ -918,6 +939,31 @@
   return 0;
 }
 
+/* Update section headers when the data size has changed.
+   We also update the SHT_NOBITS section in the debug
+   file so that the section headers match in sh_size.  */
+static inline void
+update_section_size (Elf_Scn *scn,
+		     const Elf_Data *newdata,
+		     Elf *debugelf,
+		     size_t cnt,
+		     const char *fname)
+{
+  GElf_Shdr shdr_mem;
+  GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
+  shdr->sh_size = newdata->d_size;
+  (void) gelf_update_shdr (scn, shdr);
+  if (debugelf != NULL)
+    {
+      /* libelf will use d_size to set sh_size.  */
+      Elf_Data *debugdata = elf_getdata (elf_getscn (debugelf,
+						     cnt), NULL);
+      if (debugdata == NULL)
+	INTERNAL_ERROR (fname);
+      debugdata->d_size = newdata->d_size;
+    }
+}
+
 /* Maximum size of array allocated on stack.  */
 #define MAX_STACK_ALLOC	(400 * 1024)
 
@@ -981,7 +1027,7 @@
       fd = open (output_fname, O_RDWR | O_CREAT, mode);
       if (unlikely (fd == -1))
 	{
-	  error (0, errno, gettext ("cannot open '%s'"), output_fname);
+	  error (0, errno, _("cannot open '%s'"), output_fname);
 	  return 1;
 	}
     }
@@ -998,7 +1044,7 @@
       ebl = ebl_openbackend (elf);
       if (ebl == NULL)
 	{
-	  error (0, errno, gettext ("cannot open EBL backend"));
+	  error (0, errno, _("cannot open EBL backend"));
 	  result = 1;
 	  goto fail;
 	}
@@ -1018,7 +1064,7 @@
       debug_fd = mkstemp (tmp_debug_fname);
       if (unlikely (debug_fd == -1))
 	{
-	  error (0, errno, gettext ("cannot open '%s'"), debug_fname);
+	  error (0, errno, _("cannot open '%s'"), debug_fname);
 	  result = 1;
 	  goto fail;
 	}
@@ -1035,7 +1081,7 @@
     {
       cleanup_debug ();
       error (EXIT_FAILURE, 0,
-	     gettext ("cannot get section header string table index"));
+	     _("cannot get section header string table index"));
     }
 
   /* Get the number of phdrs in the old file.  */
@@ -1043,7 +1089,7 @@
   if (elf_getphdrnum (elf, &phnum) != 0)
     {
       cleanup_debug ();
-      error (EXIT_FAILURE, 0, gettext ("cannot get number of phdrs"));
+      error (EXIT_FAILURE, 0, _("cannot get number of phdrs"));
     }
 
   /* We now create a new ELF descriptor for the same file.  We
@@ -1057,7 +1103,7 @@
 
   if (unlikely (gelf_newehdr (newelf, gelf_getclass (elf)) == 0))
     {
-      error (0, 0, gettext ("cannot create new ehdr for file '%s': %s"),
+      error (0, 0, _("cannot create new ehdr for file '%s': %s"),
 	     output_fname ?: fname, elf_errmsg (-1));
       goto fail;
     }
@@ -1067,7 +1113,7 @@
     {
       if (unlikely (gelf_newphdr (newelf, phnum) == 0))
 	{
-	  error (0, 0, gettext ("cannot create new phdr for file '%s': %s"),
+	  error (0, 0, _("cannot create new phdr for file '%s': %s"),
 		 output_fname ?: fname, elf_errmsg (-1));
 	  goto fail;
 	}
@@ -1100,7 +1146,7 @@
       debugelf = elf_begin (debug_fd, ELF_C_WRITE, NULL);
       if (unlikely (gelf_newehdr (debugelf, gelf_getclass (elf)) == 0))
 	{
-	  error (0, 0, gettext ("cannot create new ehdr for file '%s': %s"),
+	  error (0, 0, _("cannot create new ehdr for file '%s': %s"),
 		 debug_fname, elf_errmsg (-1));
 	  goto fail_close;
 	}
@@ -1110,7 +1156,7 @@
 	{
 	  if (unlikely (gelf_newphdr (debugelf, phnum) == 0))
 	    {
-	      error (0, 0, gettext ("cannot create new phdr for file '%s': %s"),
+	      error (0, 0, _("cannot create new phdr for file '%s': %s"),
 		     debug_fname, elf_errmsg (-1));
 	      goto fail_close;
 	    }
@@ -1130,7 +1176,7 @@
   size_t shnum;
   if (unlikely (elf_getshdrnum (elf, &shnum) < 0))
     {
-      error (0, 0, gettext ("cannot determine number of sections: %s"),
+      error (0, 0, _("cannot determine number of sections: %s"),
 	     elf_errmsg (-1));
       goto fail_close;
     }
@@ -1191,7 +1237,7 @@
       if (shdr_info[cnt].name == NULL)
 	{
 	illformed:
-	  error (0, 0, gettext ("illformed file '%s'"), fname);
+	  error (0, 0, _("illformed file '%s'"), fname);
 	  goto fail_close;
 	}
 
@@ -1201,7 +1247,7 @@
 	  if ((shdr_info[cnt].shdr.sh_flags & SHF_ALLOC) != 0)
 	    {
 	      error (0, 0,
-		     gettext ("Cannot remove allocated section '%s'"),
+		     _("Cannot remove allocated section '%s'"),
 		     shdr_info[cnt].name);
 	      result = 1;
 	      goto fail_close;
@@ -1210,7 +1256,7 @@
 	  if (section_name_matches (keep_secs, shdr_info[cnt].name))
 	    {
 	      error (0, 0,
-		     gettext ("Cannot both keep and remove section '%s'"),
+		     _("Cannot both keep and remove section '%s'"),
 		     shdr_info[cnt].name);
 	      result = 1;
 	      goto fail_close;
@@ -1535,25 +1581,30 @@
 		 files by setting the .debug_data pointer to the original
 		 file's .data pointer.  Below, we'll copy the section
 		 contents.  */
+	      size_t shdr_indices[2] = { shdr_info[cnt].shdr.sh_link, 0 };
+	      int n = 1;
 
-	      inline void check_preserved (size_t i)
-	      {
-		if (i != 0 && i < shnum + 2 && 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);
-		    if (shdr_info[i].data == NULL)
-		      INTERNAL_ERROR (fname);
-
-		    shdr_info[i].debug_data = shdr_info[i].data;
-		    changes |= i < cnt;
-		  }
-	      }
-
-	      check_preserved (shdr_info[cnt].shdr.sh_link);
 	      if (SH_INFO_LINK_P (&shdr_info[cnt].shdr))
-		check_preserved (shdr_info[cnt].shdr.sh_info);
+		{
+		  shdr_indices[1] = shdr_info[cnt].shdr.sh_info;
+		  n++;
+		}
+
+	      for (int j = 0; j < n; j++)
+		{
+		  size_t i = shdr_indices[j];
+		  if (i != 0 && i < shnum + 2 && 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);
+		      if (shdr_info[i].data == NULL)
+			INTERNAL_ERROR (fname);
+
+		      shdr_info[i].debug_data = shdr_info[i].data;
+		      changes |= i < cnt;
+		    }
+		}
 	    }
 	}
     }
@@ -1570,7 +1621,7 @@
 	    {
 	      cleanup_debug ();
 	      error (EXIT_FAILURE, 0,
-		     gettext ("while generating output file: %s"),
+		     _("while generating output file: %s"),
 		     elf_errmsg (-1));
 	    }
 
@@ -1634,7 +1685,7 @@
 
       if (unlikely (gelf_update_ehdr (debugelf, debugehdr) == 0))
 	{
-	  error (0, 0, gettext ("%s: error while updating ELF header: %s"),
+	  error (0, 0, _("%s: error while updating ELF header: %s"),
 		 debug_fname, elf_errmsg (-1));
 	  result = 1;
 	  goto fail_close;
@@ -1643,7 +1694,7 @@
       size_t shdrstrndx;
       if (elf_getshdrstrndx (elf, &shdrstrndx) < 0)
 	{
-	  error (0, 0, gettext ("%s: error while getting shdrstrndx: %s"),
+	  error (0, 0, _("%s: error while getting shdrstrndx: %s"),
 		 fname, elf_errmsg (-1));
 	  result = 1;
 	  goto fail_close;
@@ -1651,7 +1702,7 @@
 
       if (update_shdrstrndx (debugelf, shdrstrndx) != 0)
 	{
-	  error (0, 0, gettext ("%s: error updating shdrstrndx: %s"),
+	  error (0, 0, _("%s: error updating shdrstrndx: %s"),
 		 debug_fname, elf_errmsg (-1));
 	  result = 1;
 	  goto fail_close;
@@ -1668,7 +1719,7 @@
   if (shst == NULL)
     {
       cleanup_debug ();
-      error (EXIT_FAILURE, errno, gettext ("while preparing output for '%s'"),
+      error (EXIT_FAILURE, errno, _("while preparing output for '%s'"),
 	     output_fname ?: fname);
     }
 
@@ -1685,7 +1736,7 @@
 	  {
 	    cleanup_debug ();
 	    error (EXIT_FAILURE, 0,
-		   gettext ("while generating output file: %s"),
+		   _("while generating output file: %s"),
 		   elf_errmsg (-1));
 	  }
 
@@ -1730,7 +1781,7 @@
 	{
 	  cleanup_debug ();
 	  error (EXIT_FAILURE, 0,
-		 gettext ("while create section header section: %s"),
+		 _("while create section header section: %s"),
 		 elf_errmsg (-1));
 	}
       elf_assert (elf_ndxscn (shdr_info[cnt].newscn) == shdr_info[cnt].idx);
@@ -1739,7 +1790,7 @@
       if (shdr_info[cnt].data == NULL)
 	{
 	  cleanup_debug ();
-	  error (EXIT_FAILURE, 0, gettext ("cannot allocate section data: %s"),
+	  error (EXIT_FAILURE, 0, _("cannot allocate section data: %s"),
 		 elf_errmsg (-1));
 	}
 
@@ -1793,7 +1844,7 @@
     {
       cleanup_debug ();
       error (EXIT_FAILURE, 0,
-	     gettext ("while create section header section: %s"),
+	     _("while create section header section: %s"),
 	     elf_errmsg (-1));
     }
   elf_assert (elf_ndxscn (shdr_info[cnt].newscn) == idx);
@@ -1805,14 +1856,14 @@
     {
       cleanup_debug ();
       error (EXIT_FAILURE, 0,
-	     gettext ("while create section header string table: %s"),
+	     _("while create section header string table: %s"),
 	     elf_errmsg (-1));
     }
   if (dwelf_strtab_finalize (shst, shstrtab_data) == NULL)
     {
       cleanup_debug ();
       error (EXIT_FAILURE, 0,
-	     gettext ("no memory to create section header string table"));
+	     _("no memory to create section header string table"));
     }
 
   /* We have to set the section size.  */
@@ -1832,7 +1883,7 @@
 	shdr_info[cnt].shdr.sh_name = dwelf_strent_off (shdr_info[cnt].se);
 
 	/* Update the section header from the input file.  Some fields
-	   might be section indeces which now have to be adjusted.  Keep
+	   might be section indices which now have to be adjusted.  Keep
 	   the index to the "current" sh_link in case we need it to lookup
 	   symbol table names.  */
 	size_t sh_link = shdr_info[cnt].shdr.sh_link;
@@ -2025,7 +2076,7 @@
 			   sections.  Just warn and set the symbol
 			   section to UNDEF.  */
 			error (0, 0,
-			       gettext ("Cannot remove symbol [%zd] from allocated symbol table [%zd]"), inner, cnt);
+			       _("Cannot remove symbol [%zd] from allocated symbol table [%zd]"), inner, cnt);
 			sym->st_shndx = SHN_UNDEF;
 			if (gelf_update_sym (shdr_info[cnt].data, destidx,
 					     sym) == 0)
@@ -2124,69 +2175,43 @@
     /* Find all relocation sections which use this symbol table.  */
     for (cnt = 1; cnt <= shdridx; ++cnt)
       {
-	/* Update section headers when the data size has changed.
-	   We also update the SHT_NOBITS section in the debug
-	   file so that the section headers match in sh_size.  */
-	inline void update_section_size (const Elf_Data *newdata)
-	{
-	  GElf_Shdr shdr_mem;
-	  GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
-	  shdr->sh_size = newdata->d_size;
-	  (void) gelf_update_shdr (scn, shdr);
-	  if (debugelf != NULL)
-	    {
-	      /* libelf will use d_size to set sh_size.  */
-	      Elf_Data *debugdata = elf_getdata (elf_getscn (debugelf,
-							     cnt), NULL);
-	      if (debugdata == NULL)
-		INTERNAL_ERROR (fname);
-	      debugdata->d_size = newdata->d_size;
-	    }
-	}
-
-	if (shdr_info[cnt].idx == 0 && debug_fname == NULL)
+	struct shdr_info *info = &shdr_info[cnt];
+	if (info->idx == 0 && debug_fname == NULL)
 	  /* Ignore sections which are discarded.  When we are saving a
 	     relocation section in a separate debug file, we must fix up
 	     the symbol table references.  */
 	  continue;
 
-	const Elf32_Word symtabidx = shdr_info[cnt].old_sh_link;
+	const Elf32_Word symtabidx = info->old_sh_link;
 	elf_assert (symtabidx < shnum + 2);
 	const Elf32_Word *const newsymidx = shdr_info[symtabidx].newsymidx;
-	switch (shdr_info[cnt].shdr.sh_type)
+
+	/* If the symbol table hasn't changed, do not do anything.  */
+	if (newsymidx == NULL)
+	  continue;
+
+	/* If the symbol table is not discarded, but additionally
+	   duplicated in the separate debug file and this section
+	   is discarded, don't adjust anything.  */
+	if (info->idx == 0 && shdr_info[symtabidx].debug_data != NULL)
+	  continue;
+
+	switch (info->shdr.sh_type)
 	  {
-	    inline bool no_symtab_updates (void)
-	    {
-	      /* If the symbol table hasn't changed, do not do anything.  */
-	      if (shdr_info[symtabidx].newsymidx == NULL)
-		return true;
-
-	      /* If the symbol table is not discarded, but additionally
-		 duplicated in the separate debug file and this section
-		 is discarded, don't adjust anything.  */
-	      return (shdr_info[cnt].idx == 0
-		      && shdr_info[symtabidx].debug_data != NULL);
-	    }
-
 	  case SHT_REL:
 	  case SHT_RELA:
-	    if (no_symtab_updates ())
-	      break;
-
-	    Elf_Data *d = elf_getdata (shdr_info[cnt].idx == 0
-				       ? elf_getscn (debugelf, cnt)
-				       : elf_getscn (newelf,
-						     shdr_info[cnt].idx),
-				       NULL);
+	    scn = (info->idx == 0
+		   ? elf_getscn (debugelf, cnt)
+		   : elf_getscn (newelf, info->idx));
+	    Elf_Data *d = elf_getdata (scn, NULL);
 	    elf_assert (d != NULL && d->d_buf != NULL
-			&& shdr_info[cnt].shdr.sh_entsize != 0);
-	    size_t nrels = (shdr_info[cnt].shdr.sh_size
-			    / shdr_info[cnt].shdr.sh_entsize);
+			&& info->shdr.sh_entsize != 0);
+	    size_t nrels = (info->shdr.sh_size / info->shdr.sh_entsize);
 
 	    size_t symsize = gelf_fsize (elf, ELF_T_SYM, 1, EV_CURRENT);
 	    const Elf32_Word symidxn = (shdr_info[symtabidx].data->d_size
 					/ symsize);
-	    if (shdr_info[cnt].shdr.sh_type == SHT_REL)
+	    if (info->shdr.sh_type == SHT_REL)
 	      for (size_t relidx = 0; relidx < nrels; ++relidx)
 		{
 		  GElf_Rel rel_mem;
@@ -2227,15 +2252,12 @@
 	    break;
 
 	  case SHT_HASH:
-	    if (no_symtab_updates ())
-	      break;
-
 	    /* We have to recompute the hash table.  */
 
-	    elf_assert (shdr_info[cnt].idx > 0);
+	    elf_assert (info->idx > 0);
 
 	    /* The hash section in the new file.  */
-	    scn = elf_getscn (newelf, shdr_info[cnt].idx);
+	    scn = elf_getscn (newelf, info->idx);
 
 	    /* The symbol table data.  */
 	    Elf_Data *symd = elf_getdata (elf_getscn (newelf,
@@ -2247,7 +2269,7 @@
 	    Elf_Data *hashd = elf_getdata (scn, NULL);
 	    elf_assert (hashd != NULL && hashd->d_buf != NULL);
 
-	    if (shdr_info[cnt].shdr.sh_entsize == sizeof (Elf32_Word))
+	    if (info->shdr.sh_entsize == sizeof (Elf32_Word))
 	      {
 		/* Sane arches first.  */
 		elf_assert (hashd->d_size >= 2 * sizeof (Elf32_Word));
@@ -2273,7 +2295,7 @@
 				 * sizeof (Elf32_Word));
 		elf_assert (n_size <= hashd->d_size);
 		hashd->d_size = n_size;
-		update_section_size (hashd);
+		update_section_size (scn, hashd, debugelf, cnt, fname);
 
 		/* Clear the arrays.  */
 		memset (bucket, '\0',
@@ -2308,8 +2330,7 @@
 	    else
 	      {
 		/* Alpha and S390 64-bit use 64-bit SHT_HASH entries.  */
-		elf_assert (shdr_info[cnt].shdr.sh_entsize
-			    == sizeof (Elf64_Xword));
+		elf_assert (info->shdr.sh_entsize == sizeof (Elf64_Xword));
 
 		Elf64_Xword *bucket = (Elf64_Xword *) hashd->d_buf;
 
@@ -2335,7 +2356,7 @@
 				 * sizeof (Elf64_Xword));
 		elf_assert (n_size <= hashd->d_size);
 		hashd->d_size = n_size;
-		update_section_size (hashd);
+		update_section_size (scn, hashd, debugelf, cnt, fname);
 
 		/* Clear the arrays.  */
 		memset (bucket, '\0',
@@ -2371,13 +2392,10 @@
 
 	  case SHT_GNU_versym:
 	    /* If the symbol table changed we have to adjust the entries.  */
-	    if (no_symtab_updates ())
-	      break;
-
-	    elf_assert (shdr_info[cnt].idx > 0);
+	    elf_assert (info->idx > 0);
 
 	    /* The symbol version section in the new file.  */
-	    scn = elf_getscn (newelf, shdr_info[cnt].idx);
+	    scn = elf_getscn (newelf, info->idx);
 
 	    /* The symbol table data.  */
 	    symd = elf_getdata (elf_getscn (newelf, shdr_info[symtabidx].idx),
@@ -2409,16 +2427,13 @@
 				       / gelf_fsize (elf, symd->d_type, 1,
 						     EV_CURRENT),
 				       EV_CURRENT);
-	    update_section_size (verd);
+	    update_section_size (scn, verd, debugelf, cnt, fname);
 	    break;
 
 	  case SHT_GROUP:
-	    if (no_symtab_updates ())
-	      break;
-
 	    /* Yes, the symbol table changed.
 	       Update the section header of the section group.  */
-	    scn = elf_getscn (newelf, shdr_info[cnt].idx);
+	    scn = elf_getscn (newelf, info->idx);
 	    GElf_Shdr shdr_mem;
 	    GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
 	    elf_assert (shdr != NULL);
@@ -2448,7 +2463,7 @@
       /* Finally write the file.  */
       if (unlikely (elf_update (debugelf, ELF_C_WRITE) == -1))
 	{
-	  error (0, 0, gettext ("while writing '%s': %s"),
+	  error (0, 0, _("while writing '%s': %s"),
 		 tmp_debug_fname, elf_errmsg (-1));
 	  result = 1;
 	  goto fail_close;
@@ -2459,7 +2474,7 @@
       if (rename (tmp_debug_fname, debug_fname) != 0
 	  || fchmod (debug_fd, mode) != 0)
 	{
-	  error (0, errno, gettext ("while creating '%s'"), debug_fname);
+	  error (0, errno, _("while creating '%s'"), debug_fname);
 	  result = 1;
 	  goto fail_close;
 	}
@@ -2482,7 +2497,7 @@
 	  /* Compute the checksum which we will add to the executable.  */
 	  if (crc32_file (debug_fd, &debug_crc) != 0)
 	    {
-	      error (0, errno, gettext ("\
+	      error (0, errno, _("\
 while computing checksum for debug information"));
 	      unlink (debug_fname);
 	      result = 1;
@@ -2523,7 +2538,7 @@
 
   if (gelf_update_ehdr (newelf, newehdr) == 0)
     {
-      error (0, 0, gettext ("%s: error while creating ELF header: %s"),
+      error (0, 0, _("%s: error while creating ELF header: %s"),
 	     output_fname ?: fname, elf_errmsg (-1));
       cleanup_debug ();
       return 1;
@@ -2532,7 +2547,7 @@
   /* The new section header string table index.  */
   if (update_shdrstrndx (newelf, idx) != 0)
     {
-      error (0, 0, gettext ("%s: error updating shdrstrndx: %s"),
+      error (0, 0, _("%s: error updating shdrstrndx: %s"),
 	     output_fname ?: fname, elf_errmsg (-1));
       cleanup_debug ();
       return 1;
@@ -2541,7 +2556,7 @@
   /* We have everything from the old file.  */
   if (elf_cntl (elf, ELF_C_FDDONE) != 0)
     {
-      error (0, 0, gettext ("%s: error while reading the file: %s"),
+      error (0, 0, _("%s: error while reading the file: %s"),
 	     fname, elf_errmsg (-1));
       cleanup_debug ();
       return 1;
@@ -2556,7 +2571,7 @@
   /* Finally write the file.  */
   if (elf_update (newelf, ELF_C_WRITE) == -1)
     {
-      error (0, 0, gettext ("while writing '%s': %s"),
+      error (0, 0, _("while writing '%s': %s"),
 	     output_fname ?: fname, elf_errmsg (-1));
       result = 1;
     }
@@ -2581,7 +2596,7 @@
 		  != sizeof zero)
 	      || ftruncate (fd, lastsec_offset) < 0)
 	    {
-	      error (0, errno, gettext ("while writing '%s'"),
+	      error (0, errno, _("while writing '%s'"),
 		     output_fname ?: fname);
 	      result = 1;
 	    }
@@ -2601,7 +2616,7 @@
 		  != sizeof zero)
 	      || ftruncate (fd, lastsec_offset) < 0)
 	    {
-	      error (0, errno, gettext ("while writing '%s'"),
+	      error (0, errno, _("while writing '%s'"),
 		     output_fname ?: fname);
 	      result = 1;
 	    }
@@ -2638,14 +2653,14 @@
   /* That was it.  Close the descriptors.  */
   if (elf_end (newelf) != 0)
     {
-      error (0, 0, gettext ("error while finishing '%s': %s"),
+      error (0, 0, _("error while finishing '%s': %s"),
 	     output_fname ?: fname, elf_errmsg (-1));
       result = 1;
     }
 
   if (debugelf != NULL && elf_end (debugelf) != 0)
     {
-      error (0, 0, gettext ("error while finishing '%s': %s"), debug_fname,
+      error (0, 0, _("error while finishing '%s': %s"), debug_fname,
 	     elf_errmsg (-1));
       result = 1;
     }
@@ -2662,7 +2677,7 @@
     {
       if (futimens (fd, tvp) != 0)
 	{
-	  error (0, errno, gettext ("\
+	  error (0, errno, _("\
 cannot set access and modification date of '%s'"),
 		 output_fname ?: fname);
 	  result = 1;
@@ -2738,14 +2753,14 @@
     {
       if (unlikely (futimens (fd, tvp) != 0))
 	{
-	  error (0, errno, gettext ("\
+	  error (0, errno, _("\
 cannot set access and modification date of '%s'"), fname);
 	  result = 1;
 	}
     }
 
   if (unlikely (close (fd) != 0))
-    error (EXIT_FAILURE, errno, gettext ("while closing '%s'"), fname);
+    error (EXIT_FAILURE, errno, _("while closing '%s'"), fname);
 
   return result;
 }
diff --git a/src/unstrip.c b/src/unstrip.c
index 9b8c09a..8580329 100644
--- a/src/unstrip.c
+++ b/src/unstrip.c
@@ -52,10 +52,6 @@
 #include "libeu.h"
 #include "printversion.h"
 
-#ifndef _
-# define _(str) gettext (str)
-#endif
-
 /* Name and version of program.  */
 ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
 
@@ -311,12 +307,18 @@
   if (lastslash == path)
     return;
 
-  char *dir = strndupa (path, lastslash - path);
-  while (mkdir (dir, 0777) < 0 && errno != EEXIST)
-    if (errno == ENOENT)
-      make_directories (dir);
-    else
-      error (EXIT_FAILURE, errno, _("cannot create directory '%s'"), dir);
+  char *dir = strndup (path, lastslash - path);
+  if (dir == NULL)
+    error(EXIT_FAILURE, errno, _("memory exhausted"));
+
+  while (mkdir (dir, ACCESSPERMS) < 0 && errno != EEXIST)
+    {
+      if (errno == ENOENT)
+        make_directories (dir);
+      else
+        error (EXIT_FAILURE, errno, _("cannot create directory '%s'"), dir);
+    }
+  free (dir);
 }
 
 /* Keep track of new section data we are creating, so we can free it
@@ -500,7 +502,8 @@
 	  error (EXIT_FAILURE, 0, "Symbol table cannot have zero sh_entsize");
 	const size_t nsym = symshdr->sh_size / symshdr->sh_entsize;
 	const size_t onent = shdr->sh_size / shdr->sh_entsize;
-	assert (data->d_size == shdr->sh_size);
+	if (data->d_size != shdr->sh_size)
+	  error (EXIT_FAILURE, 0, "HASH section has inconsistent size");
 
 #define CONVERT_HASH(Hash_Word)						      \
 	{								      \
@@ -509,7 +512,8 @@
 	  const size_t nchain = old_hash[1];				      \
 	  const Hash_Word *const old_bucket = &old_hash[2];		      \
 	  const Hash_Word *const old_chain = &old_bucket[nbucket];	      \
-	  assert (onent == 2 + nbucket + nchain);			      \
+	  if (onent != 2 + nbucket + nchain)				      \
+	    error (EXIT_FAILURE, 0, "HASH section has inconsistent entsize"); \
 									      \
 	  const size_t nent = 2 + nbucket + nsym;			      \
 	  Hash_Word *const new_hash = xcalloc (nent, sizeof new_hash[0]);     \
@@ -2184,7 +2188,8 @@
 
       /* Copy the unstripped file and then modify it.  */
       int outfd = open (output_file, O_RDWR | O_CREAT,
-			  stripped_ehdr->e_type == ET_REL ? 0666 : 0777);
+			(stripped_ehdr->e_type == ET_REL
+			 ? DEFFILEMODE : ACCESSPERMS));
       if (outfd < 0)
 	error (EXIT_FAILURE, errno, _("cannot open '%s'"), output_file);
       Elf *outelf = elf_begin (outfd, ELF_C_WRITE, NULL);
@@ -2469,8 +2474,7 @@
       const char *file;
       const char *check = dwfl_module_info (mod, NULL, NULL, NULL,
 					    NULL, NULL, &file, NULL);
-      assert (check == name);
-      if (file == NULL)
+      if (check == NULL || strcmp (check, name) != 0 || file == NULL)
 	return DWARF_CB_OK;
 
       name = file;
diff --git a/tests/.gitignore b/tests/.gitignore
new file mode 100644
index 0000000..d0e83da
--- /dev/null
+++ b/tests/.gitignore
@@ -0,0 +1,114 @@
+/*.log
+/*.trs
+/addrcfi
+/addrscopes
+/addsections
+/aggregate_size
+/all-dwarf-ranges
+/alldts
+/allfcts
+/allregs
+/arextract
+/arls
+/arsymtest
+/asm-tst1
+/asm-tst2
+/asm-tst3
+/asm-tst4
+/asm-tst5
+/asm-tst6
+/asm-tst7
+/asm-tst8
+/asm-tst9
+/attr-integrate-skel
+/backtrace
+/backtrace-child
+/backtrace-child-biarch
+/backtrace-data
+/backtrace-dwarf
+/buildid
+/core-dump-backtrace.lock
+/debugaltlink
+/debuginfod_build_id_find
+/debuglink
+/deleted
+/dwarf-die-addr-die
+/dwarf-getmacros
+/dwarf-getstring
+/dwarf-ranges
+/dwarf_default_lower_bound
+/dwarfcfi
+/dwelf_elf_e_machine_string
+/dwelfgnucompressed
+/dwfl-addr-sect
+/dwfl-bug-addr-overflow
+/dwfl-bug-fd-leak
+/dwfl-bug-getmodules
+/dwfl-bug-report
+/dwfl-proc-attach
+/dwfl-report-elf-align
+/dwfl-report-segment-contiguous
+/dwfllines
+/dwflmodtest
+/dwflsyms
+/early-offscn
+/ecp
+/elfcopy
+/elfgetchdr
+/elfgetzdata
+/elfputzdata
+/elfrdwrnop
+/elfshphehdr
+/elfstrmerge
+/elfstrtab
+/emptyfile
+/fillfile
+/find-prologues
+/funcretval
+/funcscopes
+/get-aranges
+/get-files
+/get-lines
+/get-pubnames
+/get-units-invalid
+/get-units-split
+/getphdrnum
+/getsrc_die
+/hash
+/leb128
+/line2addr
+/low_high_pc
+/msg_tst
+/newdata
+/newfile
+/newscn
+/next-files
+/next-lines
+/next_cfi
+/peel_type
+/rdwrmmap
+/read_unaligned
+/rerequest_tag
+/saridx
+/scnnames
+/sectiondump
+/show-abbrev
+/show-die-info
+/showptable
+/strptr
+/system-elf-libelf-test
+/test-elf_cntl_gelf_getshdr
+/test-flag-nobits
+/test-nlist
+/typeiter
+/typeiter2
+/unit-info
+/update1
+/update2
+/update3
+/update4
+/varlocs
+/vdsosyms
+/vendorelf
+/xlate_notes
+/zstrptr
diff --git a/tests/ChangeLog b/tests/ChangeLog
index 6e3923f..907b635 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,440 @@
+2021-02-04  Frank Ch. Eigler <fche@redhat.com>
+
+	* run-debuginfod-find.sh: Smoke test --fdcache-mintmp option handling.
+
+2021-01-31  Sergei Trofimovich  <slyfox@gentoo.org>
+
+	* Makefile.am (TESTS_ENVIRONMENT): export CC variable
+	to tests for use instead of 'gcc'.
+	* run-disasm-x86-64.sh: use ${CC} instead of 'gcc'.
+	* run-disasm-x86.sh: Likewise.
+	* run-strip-g.sh: Likewise.
+	* run-strip-nothing.sh: Likewise.
+	* run-test-includes.sh: Likewise.
+
+2021-01-06  Timm Bäder  <tbaeder@redhat.com>
+
+	* zstrptr.c (main): Lift print_strings function up to ...
+	(print_strings): ... here. New file scope function taking
+	Elf_Scn*, Elf* and ndx as arguments.
+
+2020-12-20  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* .gitignore: New file.
+
+2020-12-12  Mark Wielaard  <mark@klomp.org>
+
+	* testfile-retain.o.bz2: New test file.
+	* run-retain.sh: New test.
+	* Makefile.am (TESTS): Add run-retain.sh.
+	(EXTRA_DIST): Add run-retain.sh and testfile-retain.o.bz2
+
+2020-12-16  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* dwflmodtest.c (N_): Remove.
+
+2020-12-12  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* dwarf-die-addr-die.c (main): Fix spelling typo in error diagnostics.
+	* run-lfs-symbols.sh: Likewise.
+	* elfstrmerge.c (main): Fix spelling typos in comments.
+	* dwfl-bug-fd-leak.c: Likewise.
+	* run-readelf-line.sh: Likewise.
+	* run-stack-demangled-test.sh: Likewise.
+	* sectiondump.c (main): Likewise.
+	* varlocs.c (handle_die): Likewise.
+
+2020-12-11  Dmitry V. Levin  <ldv@altlinux.org>
+
+	* configure.ac: Remove.
+	* Makefile.am [STANDALONE]: Remove.
+	(check_PROGRAMS): Add msg_tst, system-elf-libelf-test, and $(asm_TESTS)
+	unconditionally.
+	(TESTS): Add msg_tst, system-elf-libelf-test, $(asm_TESTS), and
+	run-disasm-bpf.sh unconditionally.
+
+2020-11-23  Frank Ch. Eigler  <fche@redhat.com>
+
+	* run-debuginfod-find.sh: Add sqlite error injection & stats.
+
+2020-11-02  Mark Wielaard  <mark@klomp.org>
+
+	* run-debuginfod-find.sh: Create bogus R/nothing.rpm with cyclic
+	symlink instead of chmod 000.
+
+2020-11-19  Frank Ch. Eigler  <fche@redhat.com>
+
+	* run-debuginfod-find.sh: Look for http-* metrics.
+
+2020-11-01  Érico N. Rolim  <erico.erc@gmail.com>
+	    Mark Wielaard  <mark@klomp.org>
+
+	* alldts.c (main): Use DEFFILEMODE for open with O_CREAT.
+	* arextract.c (main): Likewise.
+	* ecp.c (main): Likewise for creat.
+	* elfstrtab.c (check_elf): Use DEFFILEMODE for open with O_CREAT,
+	remove mode from open calls without O_CREAT.
+	* emptyfile.c (check_elf): Likewise.
+	* fillfile.c (check_elf): Likewise.
+	* vendorelf.c (check_elf): Likewise.
+	* newdata.c (checkelf): Use DEFFILEMODE for open with O_CREAT.
+	* update{1,2,3,4}.c (main): Likewise.
+	*
+
+2020-10-31  Mark Wielaard  <mark@klomp.org>
+
+	* dwfl-proc-attach.c (dlopen): New external function override.
+
+2020-10-31  Mark Wielaard  <mark@klomp.org>
+
+	* test-wrapper.sh: Use =, not == for string compare.
+
+2020-10-29  Mark Wielaard  <mark@klomp.org>
+
+	* test-wrapper.sh: Determine whether the test is a script or not
+	and run binaries directly under valgrind.
+	* dwfl-bug-fd-leak.c (main): Call getrlimit before calling setrlimit.
+	* dwfl-proc-attach.c (main): Call dwfl_end, pthread_cancel and
+	pthread_join.
+	* vdsosyms.c (main): Call dwfl_end.
+
+2020-10-31  Frank Ch. Eigler  <fche@redhat.com>
+
+	* run-debuginfod-find.sh: Modify for tweaked/new metrics.
+
+2020-10-30  Frank Ch. Eigler  <fche@redhat.com>
+
+	PR26775
+	* run-debuginfod-find.sh: Modify test for restored
+	thread_work_total semantics for grooming.
+
+2020-10-29  Frank Ch. Eigler  <fche@redhat.com>
+
+	PR26775
+	* run-debuginfod-find.sh: Modify test for different
+	thread_work_total semantics for grooming.
+
+2020-10-29  Frank Ch. Eigler  <fche@redhat.com>
+
+	PR26810
+	* run-debuginfod-find.sh: Add tests for successful archive fetches across
+	renamed RPMs, even without grooming.
+
+2020-10-25  Mark Wielaard  <mark@klomp.org>
+
+	* read_unaligned.c: New test.
+	* Makefile.am (check_PROGRAMS, TESTS): Add read_unaligned.
+	(read_unaligned_LDADD): New variable.
+
+2020-10-28  Tom Tromey  <tom@tromey.com>
+
+	PR26773
+	* Makefile.am (check_PROGRAMS, TESTS): Add leb128.
+	(leb128_LDADD): New variable.
+	* leb128.c: New file.
+
+2020-10-19  Mark Wielaard  <mark@klomp.org>
+
+	* addrcfi.c (print_register): Make ops_mem 3 elements.
+
+2020-10-19  Mark Wielaard  <mark@klomp.org>
+
+	* testfile60.bz2: Removed.
+	* Makefile.am (EXTRA_DIST): Remove testfile60.bz2.
+	* run-allregs.sh: Remove tilegx testfile60 testcase.
+
+2020-10-20  Frank Ch. Eigler  <fche@redhat.com>
+
+	PR26756: more prometheus metrics
+	* run-debuginfod-find.sh: Trigger some errors with dummy "nothing.rpm"
+	and check for new metrics.
+
+2020-09-18  Mark Wielaard  <mark@klomp.org>
+
+	* run-readelf-compressed-zstd.sh: New test.
+	* Makefile.am (EXTRA_DISTS): Add run-readelf-compressed-zstd.sh.
+	(TESTS): Add run-readelf-compressed-zstd.sh if HAVE_ZSTD.
+
+2020-09-03  Mark Wielaard  <mark@klomp.org>
+
+	* run-readelf-frames.sh: New test.
+	* Makefile.am (TESTS): Add run-readelf-frames.sh.
+	(EXTRA_DIST): Likewise.
+
+2020-09-03  Mark Wielaard  <mark@klomp.org>
+
+	* testfile-gnu-property-note-aarch64.bz2: New file.
+	* run-readelf-n.sh: Handle testfile-gnu-property-note-aarch64.
+	* Makefile.am (EXTRA_DIST): Add
+	testfile-gnu-property-note-aarch64.bz2.
+
+2020-07-19  Mark Wielaard  <mark@klomp.org>
+
+	* asm-tst1.c: Include libebl.h after libasm.h.
+	* asm-tst2.c: Likewise.
+	* asm-tst3.c: Likewise.
+	* asm-tst4.c: Likewise.
+	* asm-tst5.c: Likewise.
+	* asm-tst6.c: Likewise.
+	* asm-tst7.c: Likewise.
+	* asm-tst8.c: Likewise.
+	* asm-tst9.c: Likewise.
+
+2020-07-05  Mark Wielaard  <mark@klomp.org>
+
+	* run-test-includes.sh: New test.
+	* Makefile.am (TESTS): Add run-test-includes.sh.
+	(EXTRA_DIST): Likewise.
+
+2020-07-03  Alice Zhang  <alizhang@redhat.com>
+
+	* run-debuginfod-find.sh: Add scheme free url testcase.
+
+2020-06-19  Mark Wielaard  <mark@klomp.org>
+
+	* Makefile.am (TESTS): Don't add run-debuginfod-find.sh when
+	DUMMY_LIBDEBUGINFOD.
+
+2020-06-16  Mark Wielaard  <mark@klomp.org>
+
+	* coverage.sh: Use /usr/bin/env bash.
+	* run-ar.sh: Likewise.
+	* run-backtrace-core-aarch64.sh: Likewise.
+	* run-backtrace-core-i386.sh: Likewise.
+	* run-backtrace-core-ppc.sh: Likewise.
+	* run-backtrace-core-s390.sh: Likewise.
+	* run-backtrace-core-s390x.sh: Likewise.
+	* run-backtrace-core-sparc.sh: Likewise.
+	* run-backtrace-core-x32.sh: Likewise.
+	* run-backtrace-core-x86_64.sh: Likewise.
+	* run-backtrace-data.sh: Likewise.
+	* run-backtrace-demangle.sh: Likewise.
+	* run-backtrace-dwarf.sh: Likewise.
+	* run-backtrace-fp-core-aarch64.sh: Likewise.
+	* run-backtrace-fp-core-i386.sh: Likewise.
+	* run-backtrace-fp-core-ppc64le.sh: Likewise.
+	* run-backtrace-fp-core-x86_64.sh: Likewise.
+	* run-backtrace-native-biarch.sh: Likewise.
+	* run-backtrace-native-core-biarch.sh: Likewise.
+	* run-backtrace-native-core.sh: Likewise.
+	* run-backtrace-native.sh: Likewise.
+	* run-debuginfod-find.sh: Likewise.
+	* run-deleted.sh: Likewise.
+	* run-dwelf_elf_e_machine_string.sh: Likewise.
+	* run-large-elf-file.sh: Likewise.
+	* run-lfs-symbols.sh: Likewise.
+	* run-linkmap-cut.sh: Likewise.
+
+2020-06-11  Mark Wielaard  <mark@klomp.org>
+
+	* Makefile.am (nlist-test): Add GCOV flags when necessary.
+
+2020-06-06  Mark Wielaard  <mark@klomp.org>
+
+	* testfilesyms32.bz2: New test file.
+	* testfilesyms64.bz2: Likewise.
+	* run-nm-syms.sh: New test.
+	* Makefile.am (TESTS): Add run-nm-syms.sh.
+	(EXTRA_DIST): run-nm-syms.sh, testfilesyms32.bz2 and
+	testfilesyms64.bz2
+
+2020-05-08  Mark Wielaard  <mark@klomp.org>
+
+	* elfputzdata.c (main): Explicitly check orig_buf is not NULL
+	before calling memcmp.
+
+2020-05-05  Mark Wielaard  <mark@klomp.org>
+
+	* testfile-lto-gcc8.bz2: New test file.
+	* testfile-lto-gcc9.bz2: Likewise.
+	* Makefile.am (EXTRA_DIST): Add testfile-lto-gcc8.bz2 and
+	testfile-lto-gcc9.bz2.
+	* run-allfcts.sh: Add testfile-lto-gcc9 and testfile-lto-gcc8
+	tests.
+
+2020-05-05  Mark Wielaard  <mark@klomp.org>
+
+	* testfile-lto-gcc10.bz2: New test file.
+	* Makefile.am (EXTRA_DIST): Add testfile-lto-gcc10.bz2.
+	* run-allfcts.sh: Add testfile-lto-gcc10 test.
+
+2020-04-17  Mark Wielaard  <mark@klomp.org>
+
+	* test-subr.sh (testrun_on_self_obj): New function.
+	* run-varlocs-self.sh: Run testrun_on_self_exe and
+	testrun_on_self_lib with -e, run testrun_on_self_obj with
+	--exprlocs -e.
+
+2020-04-17  Mark Wielaard  <mark@klomp.org>
+
+	* Makefile.am (test-nlist$): New goal with minimal CFLAGS.
+	(test_nlist_CFLAGS): New variable.
+
+2020-03-28  Frank Ch. Eigler  <fche@redhat.com>
+
+	* run-debuginfod-find.sh: Test timestamps of archive-origin files.
+
+2020-03-27  Frank Ch. Eigler  <fche@redhat.com>
+
+	* run-debuginfod-find.sh: Test /path/-based debuginfod-find.
+
+2020-03-24  Frank Ch. Eigler  <fche@redhat.com>
+
+	* run-debuginfod-find.sh: Test relay of UA and XFF headers across
+	federating debuginfods.
+
+2020-03-26  Frank Ch. Eigler <fche@redhat.com>
+
+	* run-debuginfod-find.sh: Look for debuginfod's new
+	http_responses_* metrics.
+
+2020-03-26  Frank Ch. Eigler <fche@redhat.com>
+
+	* run-debuginfod-find.sh: Look for bsdtar instead of dpkg.
+
+2020-03-26  Frank Ch. Eigler  <fche@redhat.com>
+
+	* run-debuginfod-find.sh: Check for bsdtar zstd capability
+	for running tests against zstd-compressed fedora31 rpms.
+
+2020-03-26  Mark Wielaard  <mark@klomp.org>
+
+	* Makefile.am (EXTRA_DIST): Add
+	debuginfod-rpms/fedora31/hello3-1.0-2.src.rpm,
+	debuginfod-rpms/fedora31/hello3-1.0-2.x86_64.rpm,
+	debuginfod-rpms/fedora31/hello3-debuginfo-1.0-2.x86_64.rpm,
+	debuginfod-rpms/fedora31/hello3-debugsource-1.0-2.x86_64.rpm,
+	debuginfod-rpms/fedora31/hello3-two-1.0-2.x86_64.rpm,
+	debuginfod-rpms/fedora31/hello3-two-debuginfo-1.0-2.x86_64.rpm
+
+2020-03-24  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod-rpms/hello3.spec., /fedora31/*: New files with
+	uncanonicalized source paths.
+	* run-debuginfod-find.sh: Test them.
+
+2020-03-24  Frank Ch. Eigler  <fche@redhat.com>
+
+	* run-debuginfod-find.sh: Test the more detailed debuginfod
+	webapi log format.
+
+2020-03-23  Mark Wielaard  <mark@klomp.org>
+
+	* getphdrnum.c: Include config.h.
+	* run-lfs-symbols.sh: Also check that file exists. Add more logs.
+	Remove ebl modules check.
+
+2020-03-22  Omar Sandoval  <osandov@fb.com>
+	    Mark Wielaard  <mark@klomp.org>
+
+	* getphdrnum.c: New file.
+	* run-getphdrnum.sh: New test.
+	* testfile-phdrs.elf.bz2: New test file.
+	* Makefile.am (check_PROGRAMS): Add getphdrnum.
+	(TESTS): Add run-getphdrnum.sh.
+	(EXTRA_DIST): Add run-getphdrnum.sh and testfile-phdrs.elf.bz2.
+	(getphdrnum_LDADD): New variable.
+
+2020-03-22  Frank Ch. Eigler  <fche@redhat.com>
+
+	* run-debuginfod-find.sh: Look for URL in default progressfn
+	and from debuginfod-find -v.
+
+2020-02-19  Aaron Merey  <amerey@redhat.com>
+
+	* run-debuginfod-find.sh: Run tests for	verifying default
+	client cache locations.
+
+2020-02-26  Konrad Kleine <kkleine@redhat.com>
+
+	* run-debuginfod-find.sh: added tests for DEBUGINFOD_URLS beginning
+	with "file://"
+
+2020-02-21  Mark Wielaard  <mark@klomp.org>
+
+	* Makefile.am (TESTS_ENVIRONMENT): Explicitly unset DEBUGINFOD_URLS.
+	(installed_TESTS_ENVIRONMENT): Likewise.
+
+2020-02-19  Aaron Merey  <amerey@redhat.com>
+
+	* run-debuginfod-find.sh: Test that files unrelated to debuginfod
+	survive cache cleaning.
+
+2020-02-08  Mark Wielaard  <mark@klomp.org>
+
+	* run-pt_gnu_prop-tests.sh: New test.
+	* testfile_pt_gnu_prop.bz2: New test file.
+	* testfile_pt_gnu_prop32.bz2: Likewise.
+	* Makefile.am (TESTS): Add run-pt_gnu_prop-tests.sh
+	(EXTRA_DISTS): Likewise. Add testfile_pt_gnu_prop.bz2 and
+	testfile_pt_gnu_prop32.bz2.
+
+2020-02-05  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfo-tars/*: New test files from Eli Schwartz of ArchLinux.
+	* Makefile.am (EXTRA_DIST): Package them.
+	* run-debuginfod-find.sh: Run basic archive extraction tests.
+
+2020-02-03  Frank Ch. Eigler  <fche@redhat.com>
+
+	* run-debuginfod-find.sh: Protect against missing curl & rpm2cpio.
+
+2020-01-19  Frank Ch. Eigler  <fche@redhat.com>
+
+	* run-debuginfod-find.sh: Check for proper groom completion count.
+
+2020-01-18  Frank Ch. Eigler  <fche@redhat.com>
+
+	* run-debuginfod-find.sh: Test empty source_paths[].
+
+2020-01-08  Mark Wielaard  <mark@klomp.org>
+
+	* asm-test?.c: include libebl.h.
+
+2020-01-11  Frank Ch. Eigler  <fche@redhat.com>
+
+	* run-debuginfod-find.sh: Test --fdcache* options.
+
+2020-01-11  Frank Ch. Eigler  <fche@redhat.com>
+
+	* run-debuginfod-find.sh: Adjust to new work-queue metrics.
+
+2020-01-02  Mark Wielaard  <mark@klomp.org>
+
+	* run-debuginfod-find.sh: Set DEBUGINFOD_TIMEOUT to 10.
+
+2019-12-22  Frank Ch. Eigler  <fche@redhat.com>
+
+	* debuginfod-debs/*: New test files, based on
+	https://wiki.debian.org/Packaging/Intro.
+	* run-debuginfod-find.sh: Test deb file processing (if dpkg
+	installed).
+
+2019-12-04  Frank Ch. Eigler  <fche@redhat.com>
+
+	* run-debuinfod-find.sh: Test $DEBUGINFOD_PROGRESS.
+
+2019-12-11  Omar Sandoval  <osandov@fb.com>
+
+	* dwfl-report-segment-coalesce.c: New test.
+	* Makefile.am: Add dwfl-report-segment-coalesce
+
+2019-12-06  Mark Wielaard  <mark@klomp.org>
+
+	* run-debuginfod-find.sh: Force -Wl,--build-id.
+
+2019-12-05  Mark Wielaard  <mark@klomp.org>
+
+	* run-findinfod-find.sh: Run strip under testrun.
+
+2019-12-06  Mark Wielaard  <mark@klomp.org>
+
+	* backtrace-data.c (main): Add break after assert.
+
+2019-12-05  Mark Wielaard  <mark@klomp.org>
+
+	* run-elfclassify.sh: Run elfcompress under testrun.
+
 2019-11-26  Mark Wielaard  <mark@klomp.org>
 
 	* Makefile.am (BUILD_STATIC): Add libraries needed for libdw.
diff --git a/tests/Makefile.am b/tests/Makefile.am
index eab4ae6..c145720 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -19,15 +19,11 @@
 include $(top_srcdir)/config/eu.am
 BUILD_RPATH = \$$ORIGIN/../libasm:\$$ORIGIN/../libdw:\$$ORIGIN/../backends:\$$ORIGIN/../libelf
 
-AM_LDFLAGS =
-
-if !STANDALONE
 AM_CPPFLAGS += -I$(top_srcdir)/libasm -I$(top_srcdir)/libdw \
 	    -I$(top_srcdir)/libdwfl -I$(top_srcdir)/libdwelf \
 	    -I$(top_srcdir)/libebl -I$(top_srcdir)/libelf \
 	    -I$(top_srcdir)/lib -I..
-AM_LDFLAGS += -Wl,-rpath-link,../libasm:../libdw:../libelf
-endif
+AM_LDFLAGS = -Wl,-rpath-link,../libasm:../libdw:../libelf
 
 if TESTS_RPATH
 AM_LDFLAGS += -Wl,-rpath,$(BUILD_RPATH)
@@ -50,7 +46,8 @@
 		  test-flag-nobits dwarf-getstring rerequest_tag \
 		  alldts typeiter typeiter2 low_high_pc \
 		  test-elf_cntl_gelf_getshdr dwflsyms dwfllines \
-		  dwfl-report-elf-align varlocs backtrace backtrace-child \
+		  dwfl-report-elf-align dwfl-report-segment-contiguous \
+		  varlocs backtrace backtrace-child \
 		  backtrace-data backtrace-dwarf debuglink debugaltlink \
 		  buildid deleted deleted-lib.so aggregate_size peel_type \
 		  vdsosyms \
@@ -61,7 +58,10 @@
 		  get-units-invalid get-units-split attr-integrate-skel \
 		  all-dwarf-ranges unit-info next_cfi \
 		  elfcopy addsections xlate_notes elfrdwrnop \
-		  dwelf_elf_e_machine_string
+		  dwelf_elf_e_machine_string \
+		  getphdrnum leb128 read_unaligned \
+		  msg_tst system-elf-libelf-test \
+		  $(asm_TESTS)
 
 asm_TESTS = asm-tst1 asm-tst2 asm-tst3 asm-tst4 asm-tst5 \
 	    asm-tst6 asm-tst7 asm-tst8 asm-tst9
@@ -78,6 +78,20 @@
 		     $(AM_LDFLAGS) $(LDFLAGS) $(backtrace_child_LDFLAGS) \
 		     -o $@ $<
 
+if GCOV
+GCOV_FLAGS=-fprofile-arcs -ftest-coverage
+else
+GCOV_FLAGS=
+endif
+
+# test_nlist checks its own symbol table, and expects various symbols
+# to be in the order as specified in the source file. Explicitly set
+# minimal CFLAGS
+test-nlist$(EXEEXT): test-nlist.c
+	$(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+	  $(AM_CPPFLAGS) $(CPPFLAGS) \
+	  $(test_nlist_CFLAGS) $(GCOV_FLAGS) -o $@ $< $(test_nlist_LDADD)
+
 TESTS = run-arextract.sh run-arsymtest.sh run-ar.sh newfile test-nlist \
 	update1 update2 update3 update4 \
 	run-show-die-info.sh run-get-files.sh run-get-lines.sh \
@@ -100,7 +114,7 @@
 	run-ranlib-test2.sh run-ranlib-test3.sh run-ranlib-test4.sh \
 	run-addrscopes.sh run-strings-test.sh run-funcscopes.sh \
 	run-find-prologues.sh run-allregs.sh run-addrcfi.sh \
-	run-dwarfcfi.sh \
+	run-dwarfcfi.sh run-nm-syms.sh \
 	run-nm-self.sh run-readelf-self.sh run-readelf-info-plus.sh \
 	run-readelf-compressed.sh \
 	run-readelf-const-values.sh \
@@ -109,11 +123,13 @@
 	run-readelf-test4.sh run-readelf-twofiles.sh \
 	run-readelf-macro.sh run-readelf-loc.sh run-readelf-ranges.sh \
 	run-readelf-aranges.sh run-readelf-line.sh run-readelf-z.sh \
+	run-readelf-frames.sh \
 	run-readelf-n.sh \
+	run-retain.sh \
 	run-native-test.sh run-bug1-test.sh \
 	run-debuglink.sh run-debugaltlink.sh run-buildid.sh \
 	dwfl-bug-addr-overflow run-addrname-test.sh \
-	dwfl-bug-fd-leak dwfl-bug-report \
+	dwfl-bug-fd-leak dwfl-bug-report dwfl-report-segment-contiguous \
 	run-dwfl-bug-offline-rel.sh run-dwfl-addr-sect.sh \
 	run-disasm-x86.sh run-disasm-x86-64.sh \
 	run-early-offscn.sh run-dwarf-getmacros.sh run-dwarf-ranges.sh \
@@ -166,7 +182,12 @@
 	run-readelf-discr.sh \
 	run-dwelf_elf_e_machine_string.sh \
 	run-elfclassify.sh run-elfclassify-self.sh \
-	run-disasm-riscv64.sh
+	run-disasm-riscv64.sh \
+	run-pt_gnu_prop-tests.sh \
+	run-getphdrnum.sh run-test-includes.sh \
+	leb128 read_unaligned \
+	msg_tst system-elf-libelf-test \
+	$(asm_TESTS) run-disasm-bpf.sh
 
 if !BIARCH
 export ELFUTILS_DISABLE_BIARCH = 1
@@ -176,24 +197,21 @@
 export ELFUTILS_DISABLE_DEMANGLE = 1
 endif
 
-if !STANDALONE
-check_PROGRAMS += msg_tst system-elf-libelf-test
-TESTS += msg_tst system-elf-libelf-test
-endif
-
 if LZMA
 TESTS += run-readelf-s.sh run-dwflsyms.sh
 endif
 
-if HAVE_LIBASM
-check_PROGRAMS += $(asm_TESTS)
-TESTS += $(asm_TESTS) run-disasm-bpf.sh
+if HAVE_ZSTD
+TESTS += run-readelf-compressed-zstd.sh
 endif
 
 if DEBUGINFOD
 check_PROGRAMS += debuginfod_build_id_find
+# With the dummy delegation doesn't work
+if !DUMMY_LIBDEBUGINFOD
 TESTS += run-debuginfod-find.sh
 endif
+endif
 
 EXTRA_DIST = run-arextract.sh run-arsymtest.sh run-ar.sh \
 	     run-show-die-info.sh run-get-files.sh run-get-lines.sh \
@@ -206,6 +224,8 @@
 	     testfile9.bz2 testfile10.bz2 testfile11.bz2 testfile12.bz2 \
 	     testfile13.bz2 run-strip-test3.sh run-allfcts.sh \
 	     testfile_class_func.bz2 testfile_nested_funcs.bz2 \
+	     testfile-lto-gcc10.bz2 \
+	     testfile-lto-gcc9.bz2 testfile-lto-gcc8.bz2 \
 	     run-line2addr.sh run-elflint-test.sh testfile14.bz2 \
 	     run-strip-test4.sh run-strip-test5.sh run-strip-test6.sh \
 	     run-strip-test7.sh run-strip-test8.sh run-strip-groups.sh \
@@ -229,8 +249,10 @@
 	     run-elflint-self.sh run-ranlib-test.sh run-ranlib-test2.sh \
 	     run-ranlib-test3.sh run-ranlib-test4.sh \
 	     run-addrscopes.sh run-strings-test.sh run-funcscopes.sh \
+	     run-nm-syms.sh testfilesyms32.bz2 testfilesyms64.bz2 \
 	     run-nm-self.sh run-readelf-self.sh run-readelf-info-plus.sh \
 	     run-readelf-compressed.sh \
+	     run-readelf-compressed-zstd.sh \
 	     run-readelf-const-values.sh testfile-const-values.debug.bz2 \
 	     run-addrcfi.sh run-dwarfcfi.sh \
 	     testfile11-debugframe.bz2 testfile12-debugframe.bz2 \
@@ -289,12 +311,15 @@
 	     testfile-dwzstr.bz2 testfile-dwzstr.multi.bz2 \
 	     run-readelf-addr.sh run-readelf-str.sh \
 	     run-readelf-types.sh \
+	     run-readelf-frames.sh \
 	     run-readelf-n.sh \
 	     testfile-gnu-property-note.bz2 testfile-gnu-property-note.o.bz2 \
 	     testfile_gnu_props.32le.o.bz2 \
 	     testfile_gnu_props.64le.o.bz2 \
 	     testfile_gnu_props.32be.o.bz2 \
 	     testfile_gnu_props.64be.o.bz2 \
+	     testfile-gnu-property-note-aarch64.bz2 \
+	     run-retain.sh testfile-retain.o.bz2 \
 	     run-allfcts-multi.sh \
 	     test-offset-loop.bz2 test-offset-loop.alt.bz2 \
 	     run-prelink-addr-test.sh \
@@ -335,7 +360,7 @@
 	     run-macro-test.sh testfile-macinfo.bz2 testfile-macros.bz2 \
 	     run-elf_cntl_gelf_getshdr.sh \
 	     run-test-archive64.sh testarchive64.a.bz2 \
-	     testfile60.bz2 testfile61.bz2 \
+	     testfile61.bz2 \
 	     run-readelf-vmcoreinfo.sh testfile62.bz2 \
 	     run-readelf-mixed-corenote.sh testfile63.bz2 testfile64.bz2 \
 	     testfile65.bz2 testfile67.bz2 testfile68.bz2 \
@@ -453,6 +478,12 @@
 	     debuginfod-rpms/fedora30/hello2-debugsource-1.0-2.x86_64.rpm \
 	     debuginfod-rpms/fedora30/hello2-two-1.0-2.x86_64.rpm \
 	     debuginfod-rpms/fedora30/hello2-two-debuginfo-1.0-2.x86_64.rpm \
+	     debuginfod-rpms/fedora31/hello3-1.0-2.src.rpm \
+	     debuginfod-rpms/fedora31/hello3-1.0-2.x86_64.rpm \
+	     debuginfod-rpms/fedora31/hello3-debuginfo-1.0-2.x86_64.rpm \
+	     debuginfod-rpms/fedora31/hello3-debugsource-1.0-2.x86_64.rpm \
+	     debuginfod-rpms/fedora31/hello3-two-1.0-2.x86_64.rpm \
+	     debuginfod-rpms/fedora31/hello3-two-debuginfo-1.0-2.x86_64.rpm \
 	     debuginfod-rpms/hello2.spec. \
 	     debuginfod-rpms/rhel6/hello2-1.0-2.i686.rpm \
 	     debuginfod-rpms/rhel6/hello2-1.0-2.src.rpm \
@@ -461,8 +492,22 @@
 	     debuginfod-rpms/rhel7/hello2-1.0-2.src.rpm \
 	     debuginfod-rpms/rhel7/hello2-1.0-2.x86_64.rpm \
 	     debuginfod-rpms/rhel7/hello2-debuginfo-1.0-2.x86_64.rpm \
-	     debuginfod-rpms/rhel7/hello2-two-1.0-2.x86_64.rpm
-
+	     debuginfod-rpms/rhel7/hello2-two-1.0-2.x86_64.rpm \
+	     debuginfod-rpms/rhel7/hello2-two-1.0-2.x86_64.rpm \
+	     debuginfod-debs/hithere-dbgsym_1.0-1_amd64.ddeb \
+	     debuginfod-debs/hithere_1.0-1.debian.tar.xz \
+	     debuginfod-debs/hithere_1.0-1.dsc \
+	     debuginfod-debs/hithere_1.0-1_amd64.deb \
+	     debuginfod-debs/hithere_1.0.orig.tar.gz \
+	     debuginfod-tars/hello-1-1-x86_64.pkg.tar.xz \
+	     debuginfod-tars/hello-debug-1-1-x86_64.pkg.tar.bz2 \
+	     debuginfod-tars/pacman-sources/PKGBUILD \
+	     debuginfod-tars/pacman-sources/README.md \
+	     debuginfod-tars/pacman-sources/hello.c \
+	     run-pt_gnu_prop-tests.sh \
+	     testfile_pt_gnu_prop.bz2 testfile_pt_gnu_prop32.bz2 \
+	     run-getphdrnum.sh testfile-phdrs.elf.bz2 \
+	     run-test-includes.sh
 
 
 if USE_VALGRIND
@@ -481,21 +526,21 @@
 			      export abs_top_builddir; \
 			      export libdir; export bindir; \
 			      export LC_ALL; export LANG; export VALGRIND_CMD; \
-			      NM=$(NM); export NM;
+			      unset DEBUGINFOD_URLS; \
+			      NM=$(NM); export NM; \
+			      CC=$(CC); export CC;
 installed_LOG_COMPILER = $(abs_srcdir)/test-wrapper.sh \
 			 installed $(tests_rpath) \
 			 '$(program_transform_name)'
-if STANDALONE
-TESTS_ENVIRONMENT = $(installed_TESTS_ENVIRONMENT)
-LOG_COMPILER = $(installed_LOG_COMPILER)
-else !STANDALONE
 TESTS_ENVIRONMENT = LC_ALL=C; LANG=C; VALGRIND_CMD=$(valgrind_cmd); \
 		    abs_srcdir=$(abs_srcdir);  abs_builddir=$(abs_builddir); \
 		    abs_top_builddir=$(abs_top_builddir); \
 		    export abs_srcdir; export abs_builddir; \
 		    export abs_top_builddir; \
 		    export LC_ALL; export LANG; export VALGRIND_CMD; \
-		    NM=$(NM); export NM;
+		    unset DEBUGINFOD_URLS; \
+		    NM=$(NM); export NM; \
+		    CC=$(CC); export CC;
 LOG_COMPILER = $(abs_srcdir)/test-wrapper.sh \
 	       $(abs_top_builddir)/libdw:$(abs_top_builddir)/backends:$(abs_top_builddir)/libelf:$(abs_top_builddir)/libasm:$(abs_top_builddir)/debuginfod
 
@@ -503,14 +548,7 @@
 	$(MAKE) $(AM_MAKEFLAGS) \
 		TESTS_ENVIRONMENT="$(installed_TESTS_ENVIRONMENT)" \
 		LOG_COMPILER="$(installed_LOG_COMPILER)" check-TESTS
-endif !STANDALONE
 
-if STANDALONE
-libdw = -ldw
-libelf = -lelf
-libasm = -lasm
-libebl = -lebl
-else !STANDALONE
 if BUILD_STATIC
 libdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) $(libebl) -ldl -lpthread
 libelf = ../libelf/libelf.a -lz
@@ -522,7 +560,6 @@
 endif
 libebl = ../libebl/libebl.a ../backends/libebl_backends.a ../libcpu/libcpu.a
 libeu = ../lib/libeu.a
-endif !STANDALONE
 
 arextract_LDADD = $(libelf)
 arsymtest_LDADD = $(libelf)
@@ -532,6 +569,7 @@
 sectiondump_LDADD = $(libelf)
 showptable_LDADD = $(libelf)
 hash_LDADD = $(libelf)
+test_nlist_CFLAGS =-g -O0
 test_nlist_LDADD = $(libelf)
 msg_tst_LDADD = $(libelf)
 newscn_LDADD = $(libelf)
@@ -589,6 +627,7 @@
 dwflsyms_LDADD = $(libdw) $(libelf) $(argp_LDADD)
 dwfllines_LDADD = $(libdw) $(libelf) $(argp_LDADD)
 dwfl_report_elf_align_LDADD = $(libdw)
+dwfl_report_segment_contiguous_LDADD = $(libdw) $(libebl) $(libelf)
 varlocs_LDADD = $(libdw) $(libelf) $(argp_LDADD)
 backtrace_LDADD = $(libdw) $(libelf) $(argp_LDADD)
 # backtrace-child-biarch also uses those *_CFLAGS and *_LDLAGS variables:
@@ -637,6 +676,9 @@
 xlate_notes_LDADD = $(libelf)
 elfrdwrnop_LDADD = $(libelf)
 dwelf_elf_e_machine_string_LDADD = $(libelf) $(libdw)
+getphdrnum_LDADD = $(libelf) $(libdw)
+leb128_LDADD = $(libelf) $(libdw)
+read_unaligned_LDADD = $(libelf) $(libdw)
 
 # We want to test the libelf header against the system elf.h header.
 # Don't include any -I CPPFLAGS. Except when we install our own elf.h.
diff --git a/tests/addrcfi.c b/tests/addrcfi.c
index 589b851..2b7d7bd 100644
--- a/tests/addrcfi.c
+++ b/tests/addrcfi.c
@@ -92,7 +92,7 @@
 
   printf ("\t%s reg%u (%s%s): ", setname, regno, prefix, regname);
 
-  Dwarf_Op ops_mem[2];
+  Dwarf_Op ops_mem[3];
   Dwarf_Op *ops;
   size_t nops;
   int result = dwarf_frame_register (stuff->frame, regno, ops_mem, &ops, &nops);
diff --git a/tests/alldts.c b/tests/alldts.c
index 28b3063..3e9f9fe 100644
--- a/tests/alldts.c
+++ b/tests/alldts.c
@@ -32,6 +32,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
+#include "system.h"
 
 
 int
@@ -68,7 +69,7 @@
   (void) __fsetlocking (stdout, FSETLOCKING_BYCALLER);
 
   /* Open the file.  */
-  int fd = open (fname, O_RDWR | O_CREAT | O_TRUNC, 0666);
+  int fd = open (fname, O_RDWR | O_CREAT | O_TRUNC, DEFFILEMODE);
   if (fd == -1)
     {
       printf ("cannot open `%s': %m\n", fname);
diff --git a/tests/arextract.c b/tests/arextract.c
index 2c4dc75..936d7f5 100644
--- a/tests/arextract.c
+++ b/tests/arextract.c
@@ -95,7 +95,7 @@
 	    }
 
 	  /* Open the output file.  */
-	  outfd = open (argv[3], O_CREAT | O_TRUNC | O_RDWR, 0666);
+	  outfd = open (argv[3], O_CREAT | O_TRUNC | O_RDWR, DEFFILEMODE);
 	  if (outfd == -1)
 	    {
 	      printf ("cannot open output file: %m");
diff --git a/tests/asm-tst1.c b/tests/asm-tst1.c
index 9afc676..d03a436 100644
--- a/tests/asm-tst1.c
+++ b/tests/asm-tst1.c
@@ -21,6 +21,7 @@
 
 #include <fcntl.h>
 #include ELFUTILS_HEADER(asm)
+#include ELFUTILS_HEADER(ebl)
 #include <libelf.h>
 #include <stdio.h>
 #include <string.h>
diff --git a/tests/asm-tst2.c b/tests/asm-tst2.c
index 2556d0c..e65a9d2 100644
--- a/tests/asm-tst2.c
+++ b/tests/asm-tst2.c
@@ -21,6 +21,7 @@
 
 #include <fcntl.h>
 #include ELFUTILS_HEADER(asm)
+#include ELFUTILS_HEADER(ebl)
 #include <libelf.h>
 #include <stdio.h>
 #include <string.h>
diff --git a/tests/asm-tst3.c b/tests/asm-tst3.c
index e52cfbe..e45fa16 100644
--- a/tests/asm-tst3.c
+++ b/tests/asm-tst3.c
@@ -21,6 +21,7 @@
 
 #include <fcntl.h>
 #include ELFUTILS_HEADER(asm)
+#include ELFUTILS_HEADER(ebl)
 #include <libelf.h>
 #include <stdio.h>
 #include <string.h>
diff --git a/tests/asm-tst4.c b/tests/asm-tst4.c
index 52e9e20..1a05bfc 100644
--- a/tests/asm-tst4.c
+++ b/tests/asm-tst4.c
@@ -21,6 +21,7 @@
 
 #include <fcntl.h>
 #include ELFUTILS_HEADER(asm)
+#include ELFUTILS_HEADER(ebl)
 #include <libelf.h>
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/tests/asm-tst5.c b/tests/asm-tst5.c
index 5a29b01..256873f 100644
--- a/tests/asm-tst5.c
+++ b/tests/asm-tst5.c
@@ -21,6 +21,7 @@
 
 #include <fcntl.h>
 #include ELFUTILS_HEADER(asm)
+#include ELFUTILS_HEADER(ebl)
 #include <libelf.h>
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/tests/asm-tst6.c b/tests/asm-tst6.c
index bd9b362..4a665ed 100644
--- a/tests/asm-tst6.c
+++ b/tests/asm-tst6.c
@@ -20,6 +20,7 @@
 #endif
 
 #include ELFUTILS_HEADER(asm)
+#include ELFUTILS_HEADER(ebl)
 #include <libelf.h>
 #include <stdio.h>
 #include <stdlib.h>
diff --git a/tests/asm-tst7.c b/tests/asm-tst7.c
index 00cb2bf..87c2148 100644
--- a/tests/asm-tst7.c
+++ b/tests/asm-tst7.c
@@ -22,6 +22,7 @@
 #include <fcntl.h>
 #include <inttypes.h>
 #include ELFUTILS_HEADER(asm)
+#include ELFUTILS_HEADER(ebl)
 #include <libelf.h>
 #include <stdio.h>
 #include <unistd.h>
diff --git a/tests/asm-tst8.c b/tests/asm-tst8.c
index 4fb0d99..7dbac10 100644
--- a/tests/asm-tst8.c
+++ b/tests/asm-tst8.c
@@ -22,6 +22,7 @@
 #include <fcntl.h>
 #include <inttypes.h>
 #include ELFUTILS_HEADER(asm)
+#include ELFUTILS_HEADER(ebl)
 #include <libelf.h>
 #include <stdio.h>
 #include <unistd.h>
diff --git a/tests/asm-tst9.c b/tests/asm-tst9.c
index b6d0e43..6bec3f6 100644
--- a/tests/asm-tst9.c
+++ b/tests/asm-tst9.c
@@ -22,6 +22,7 @@
 #include <fcntl.h>
 #include <inttypes.h>
 #include ELFUTILS_HEADER(asm)
+#include ELFUTILS_HEADER(ebl)
 #include <libelf.h>
 #include <stdio.h>
 #include <string.h>
diff --git a/tests/backtrace-data.c b/tests/backtrace-data.c
index 907b478..c81880d 100644
--- a/tests/backtrace-data.c
+++ b/tests/backtrace-data.c
@@ -280,6 +280,7 @@
   {
     case -1:
       assert (0);
+      break;
     case 0:;
       long l = ptrace (PTRACE_TRACEME, 0, NULL, NULL);
       assert (l == 0);
diff --git a/tests/configure.ac b/tests/configure.ac
deleted file mode 100644
index ed51920..0000000
--- a/tests/configure.ac
+++ /dev/null
@@ -1,58 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-dnl Configure input file for elfutils test suite.		-*-autoconf-*-
-dnl
-dnl Copyright (C) 2005 Red Hat, Inc.
-dnl
-dnl This program is free software; you can redistribute it and/or modify
-dnl it under the terms of the GNU General Public License as published by
-dnl the Free Software Foundation, version 2.
-dnl
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY; without even the implied warranty of
-dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-dnl GNU General Public License for more details.
-dnl
-dnl You should have received a copy of the GNU General Public License
-dnl along with this program; if not, write to the Free Software Foundation,
-dnl Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
-dnl
-AC_INIT([elfutils tests],[0.117],
-	[http://bugzilla.redhat.com/bugzilla/],
-	[elfutils-tests])
-
-AC_COPYRIGHT([Copyright (C) 2005 Red Hat, Inc.])
-AC_PREREQ(2.59)			dnl Minimum Autoconf version required.
-
-AM_INIT_AUTOMAKE([foreign 1.7])
-
-AC_CONFIG_SRCDIR([allfcts.c])
-AC_CONFIG_FILES([Makefile])
-AC_CONFIG_HEADERS([config.h])
-
-AC_PROG_CC
-
-AC_CACHE_CHECK([for gcc with C99 support], ac_cv_c99, [dnl
-old_CFLAGS="$CFLAGS"
-CFLAGS="$CFLAGS -std=gnu99"
-AC_COMPILE_IFELSE([dnl
-int foo (int a) { for (int i = 0; i < a; ++i) if (i % 4) break; int s = a; }],
-		  ac_cv_c99=yes, ac_cv_c99=no)
-CFLAGS="$old_CFLAGS"])
-AS_IF([test "x$ac_cv_c99" != xyes],
-      AC_MSG_ERROR([gcc with C99 support required]))
-
-AC_CHECK_HEADERS([libelf.h elfutils/libdw.h],,
-[AC_MSG_ERROR([elfutils-devel package not installed])])
-
-AC_CHECK_LIB([asm], [asm_begin], [have_libasm=yes], [have_libasm=no])
-AM_CONDITIONAL(HAVE_LIBASM, [test $have_libasm = yes])
-
-AM_CONDITIONAL(STANDALONE, true)
-AM_CONDITIONAL(BUILD_STATIC, false)
-AM_CONDITIONAL(TESTS_RPATH, false)
-AM_CONDITIONAL(GCOV, false)
-
-dnl Text of the config.h file.
-AH_BOTTOM([#define ELFUTILS_HEADER(name) <elfutils/lib##name.h>])
-
-AC_OUTPUT
diff --git a/tests/coverage.sh b/tests/coverage.sh
index 01d292c..448d43b 100755
--- a/tests/coverage.sh
+++ b/tests/coverage.sh
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /usr/bin/env bash
 
 if [ "x$1" = "x-v" ]; then
   verbose=yes
diff --git a/tests/debuginfod-debs/hithere-dbgsym_1.0-1_amd64.ddeb b/tests/debuginfod-debs/hithere-dbgsym_1.0-1_amd64.ddeb
new file mode 100644
index 0000000..f9879eb
--- /dev/null
+++ b/tests/debuginfod-debs/hithere-dbgsym_1.0-1_amd64.ddeb
Binary files differ
diff --git a/tests/debuginfod-debs/hithere_1.0-1.debian.tar.xz b/tests/debuginfod-debs/hithere_1.0-1.debian.tar.xz
new file mode 100644
index 0000000..9f0ce68
--- /dev/null
+++ b/tests/debuginfod-debs/hithere_1.0-1.debian.tar.xz
Binary files differ
diff --git a/tests/debuginfod-debs/hithere_1.0-1.dsc b/tests/debuginfod-debs/hithere_1.0-1.dsc
new file mode 100644
index 0000000..d5f72b9
--- /dev/null
+++ b/tests/debuginfod-debs/hithere_1.0-1.dsc
@@ -0,0 +1,19 @@
+Format: 3.0 (quilt)
+Source: hithere
+Binary: hithere
+Architecture: any
+Version: 1.0-1
+Maintainer: Lars Wirzenius <liw@liw.fi>
+Standards-Version: 3.9.2
+Build-Depends: debhelper (>= 9)
+Package-List:
+ hithere deb misc optional arch=any
+Checksums-Sha1:
+ 2dcd65497a12a3ea03223f52186447bd5733dce9 617 hithere_1.0.orig.tar.gz
+ 0b71331ef1c714c5bac67878551864b7356c56ce 764 hithere_1.0-1.debian.tar.xz
+Checksums-Sha256:
+ 63062b582a712f169f37a5f52a41aa3ca9a405aafb8aa837bc906fa413b62cdb 617 hithere_1.0.orig.tar.gz
+ 9afa907e360e626639ccb86b86e799429bea27149034aec5d5c7e500971d651e 764 hithere_1.0-1.debian.tar.xz
+Files:
+ 5b2830fa1fcd44ce489774771625526e 617 hithere_1.0.orig.tar.gz
+ 70106164d9397c70c2c1a4594e9897e4 764 hithere_1.0-1.debian.tar.xz
diff --git a/tests/debuginfod-debs/hithere_1.0-1_amd64.deb b/tests/debuginfod-debs/hithere_1.0-1_amd64.deb
new file mode 100644
index 0000000..11d1e95
--- /dev/null
+++ b/tests/debuginfod-debs/hithere_1.0-1_amd64.deb
Binary files differ
diff --git a/tests/debuginfod-debs/hithere_1.0.orig.tar.gz b/tests/debuginfod-debs/hithere_1.0.orig.tar.gz
new file mode 100644
index 0000000..23abea7
--- /dev/null
+++ b/tests/debuginfod-debs/hithere_1.0.orig.tar.gz
Binary files differ
diff --git a/tests/debuginfod-rpms/fedora31/hello3-1.0-2.src.rpm b/tests/debuginfod-rpms/fedora31/hello3-1.0-2.src.rpm
new file mode 100644
index 0000000..d0b3454
--- /dev/null
+++ b/tests/debuginfod-rpms/fedora31/hello3-1.0-2.src.rpm
Binary files differ
diff --git a/tests/debuginfod-rpms/fedora31/hello3-1.0-2.x86_64.rpm b/tests/debuginfod-rpms/fedora31/hello3-1.0-2.x86_64.rpm
new file mode 100644
index 0000000..8b2fe9b
--- /dev/null
+++ b/tests/debuginfod-rpms/fedora31/hello3-1.0-2.x86_64.rpm
Binary files differ
diff --git a/tests/debuginfod-rpms/fedora31/hello3-debuginfo-1.0-2.x86_64.rpm b/tests/debuginfod-rpms/fedora31/hello3-debuginfo-1.0-2.x86_64.rpm
new file mode 100644
index 0000000..ee479ec
--- /dev/null
+++ b/tests/debuginfod-rpms/fedora31/hello3-debuginfo-1.0-2.x86_64.rpm
Binary files differ
diff --git a/tests/debuginfod-rpms/fedora31/hello3-debugsource-1.0-2.x86_64.rpm b/tests/debuginfod-rpms/fedora31/hello3-debugsource-1.0-2.x86_64.rpm
new file mode 100644
index 0000000..890478e
--- /dev/null
+++ b/tests/debuginfod-rpms/fedora31/hello3-debugsource-1.0-2.x86_64.rpm
Binary files differ
diff --git a/tests/debuginfod-rpms/fedora31/hello3-two-1.0-2.x86_64.rpm b/tests/debuginfod-rpms/fedora31/hello3-two-1.0-2.x86_64.rpm
new file mode 100644
index 0000000..73fd939
--- /dev/null
+++ b/tests/debuginfod-rpms/fedora31/hello3-two-1.0-2.x86_64.rpm
Binary files differ
diff --git a/tests/debuginfod-rpms/fedora31/hello3-two-debuginfo-1.0-2.x86_64.rpm b/tests/debuginfod-rpms/fedora31/hello3-two-debuginfo-1.0-2.x86_64.rpm
new file mode 100644
index 0000000..0cc2407
--- /dev/null
+++ b/tests/debuginfod-rpms/fedora31/hello3-two-debuginfo-1.0-2.x86_64.rpm
Binary files differ
diff --git a/tests/debuginfod-rpms/hello3.spec. b/tests/debuginfod-rpms/hello3.spec.
new file mode 100644
index 0000000..ffb9513
--- /dev/null
+++ b/tests/debuginfod-rpms/hello3.spec.
@@ -0,0 +1,60 @@
+Summary: hello3 -- double hello, world rpm
+Name: hello3
+Version: 1.0
+Release: 2
+Group: Utilities
+License: GPL
+Distribution: RPM ^W Elfutils test suite.
+Vendor: Red Hat Software
+Packager: Red Hat Software <bugs@redhat.com>
+URL: http://www.redhat.com
+BuildRequires: gcc make
+Source0: hello-1.0.tar.gz
+
+%description
+Simple rpm demonstration with an eye to consumption by debuginfod.
+
+%package two
+Summary: hello3two
+License: GPL
+
+%description two
+Dittoish.
+
+%prep
+%setup -q -n hello-1.0
+
+%build
+mkdir foobar
+gcc -g -O1 foobar///./../hello.c -o hello
+gcc -g -O2 -D_FORTIFY_SOURCE=2 foobar///./../hello.c -o hello3
+
+%install
+rm -rf $RPM_BUILD_ROOT
+mkdir -p $RPM_BUILD_ROOT/usr/local/bin
+cp hello $RPM_BUILD_ROOT/usr/local/bin/
+cp hello3 $RPM_BUILD_ROOT/usr/local/bin/
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files 
+%defattr(-,root,root)
+%attr(0751,root,root)   /usr/local/bin/hello
+
+%files two
+%defattr(-,root,root)
+%attr(0751,root,root)   /usr/local/bin/hello3
+
+%changelog
+* Tue Mar 24 2020 Frank Ch. Eigler <fche@redhat.com>
+- New variant of hello2, with crazy source file paths
+
+* Thu Nov 14 2019 Frank Ch. Eigler <fche@redhat.com>
+- Dropped misc files not relevant to debuginfod testing.
+
+* Wed May 18 2016 Mark Wielaard <mjw@redhat.com>
+- Add hello2 for dwz testing support.
+
+* Tue Oct 20 1998 Jeff Johnson <jbj@redhat.com>
+- create.
diff --git a/tests/debuginfod-tars/hello-1-1-x86_64.pkg.tar.xz b/tests/debuginfod-tars/hello-1-1-x86_64.pkg.tar.xz
new file mode 100644
index 0000000..fd78433
--- /dev/null
+++ b/tests/debuginfod-tars/hello-1-1-x86_64.pkg.tar.xz
Binary files differ
diff --git a/tests/debuginfod-tars/hello-debug-1-1-x86_64.pkg.tar.bz2 b/tests/debuginfod-tars/hello-debug-1-1-x86_64.pkg.tar.bz2
new file mode 100644
index 0000000..8701861
--- /dev/null
+++ b/tests/debuginfod-tars/hello-debug-1-1-x86_64.pkg.tar.bz2
Binary files differ
diff --git a/tests/debuginfod-tars/pacman-sources/PKGBUILD b/tests/debuginfod-tars/pacman-sources/PKGBUILD
new file mode 100644
index 0000000..0cac170
--- /dev/null
+++ b/tests/debuginfod-tars/pacman-sources/PKGBUILD
@@ -0,0 +1,19 @@
+pkgname=hello
+pkgver=1
+pkgrel=1
+pkgdesc="Simple hello world program to exercise debuginfod"
+arch=('x86_64')
+source=('hello.c')
+sha256sums=('f85badd2007451bbda4791e7fe820b41be0a424172a567573511688bff975235')
+
+# guarantee that split debug packages are turned on
+options=('strip' 'debug')
+
+build() {
+    # implicit Makefile
+    make hello
+}
+
+package() {
+    install -Dm755 hello "${pkgdir}"/usr/bin/hello
+}
diff --git a/tests/debuginfod-tars/pacman-sources/README.md b/tests/debuginfod-tars/pacman-sources/README.md
new file mode 100644
index 0000000..17f59bc
--- /dev/null
+++ b/tests/debuginfod-tars/pacman-sources/README.md
@@ -0,0 +1,19 @@
+# Creating sample pacman packages
+
+You will need:
+- an archlinux installation
+- `pacman -S base-devel` for basic build requirements (like debian "build-essential")
+
+Run `makepkg` inside this directory to produce *.pkg.tar.* archives. This may
+be .xz, .zst, .gz etc. depending on the current defaults, see makepkg.conf(5)
+"PKGEXT" for details. The archives will appear in the current directory, or the
+"PKGDEST" defined by makepkg.conf(5).
+
+# Byte-for-byte reproduction
+
+You will need:
+- an archlinux installation
+- `pacman -S devtools` for the clean chroot builder/reproducer
+
+Run `makerepropkg /path/to/hello-debug-1-1-x86_64.pkg.tar.xz` (or whichever the
+archive filename is) inside this directory.
diff --git a/tests/debuginfod-tars/pacman-sources/hello.c b/tests/debuginfod-tars/pacman-sources/hello.c
new file mode 100644
index 0000000..c1ef155
--- /dev/null
+++ b/tests/debuginfod-tars/pacman-sources/hello.c
@@ -0,0 +1,6 @@
+#include <stdio.h>
+
+int main() {
+    printf("hello\n");
+    return 0;
+}
diff --git a/tests/dwarf-die-addr-die.c b/tests/dwarf-die-addr-die.c
index 7899988..24bfbeb 100644
--- a/tests/dwarf-die-addr-die.c
+++ b/tests/dwarf-die-addr-die.c
@@ -164,7 +164,7 @@
   int fd = open (name, O_RDONLY);
   if (fd < 0)
     {
-      printf ("Cannnot open '%s': %s\n", name, strerror (errno));
+      printf ("Cannot open '%s': %s\n", name, strerror (errno));
       return -1;
     }
 
diff --git a/tests/dwfl-bug-fd-leak.c b/tests/dwfl-bug-fd-leak.c
index ee3a916..7554d6e 100644
--- a/tests/dwfl-bug-fd-leak.c
+++ b/tests/dwfl-bug-fd-leak.c
@@ -1,4 +1,4 @@
-/* Test program for libdwfl file decriptors leakage.
+/* Test program for libdwfl file descriptors leakage.
    Copyright (C) 2007, 2008 Red Hat, Inc.
    This file is part of elfutils.
 
@@ -101,7 +101,14 @@
   /* Set locale.  */
   (void) setlocale (LC_ALL, "");
 
-  struct rlimit fd_limit = { .rlim_cur = 32, .rlim_max = 32 };
+  /* Get both the soft and hard limits first. The soft limit is what
+     will be enforced against the process.  The hard limit is the max
+     that can be set for the soft limit.  We don't want to lower it
+     because we might not be able to (under valgrind).  */
+  struct rlimit fd_limit;
+  if (getrlimit (RLIMIT_NOFILE, &fd_limit) < 0)
+    error (2, errno, "getrlimit");
+  fd_limit.rlim_cur = 32;
   if (setrlimit (RLIMIT_NOFILE, &fd_limit) < 0)
     error (2, errno, "setrlimit");
 
diff --git a/tests/dwfl-proc-attach.c b/tests/dwfl-proc-attach.c
index 102ba18..d02e9fc 100644
--- a/tests/dwfl-proc-attach.c
+++ b/tests/dwfl-proc-attach.c
@@ -97,7 +97,26 @@
   if (dwfl_getthreads (dwfl, thread_callback, &threads) != DWARF_CB_OK)
     error (-1, 0, "dwfl_getthreads failed: %s", dwfl_errmsg (-1));
 
+  dwfl_end (dwfl);
+
+  pthread_cancel (thread1);
+  pthread_cancel (thread2);
+  pthread_join (thread1, NULL);
+  pthread_join (thread2, NULL);
+
   return (threads == 3) ? 0 : -1;
 }
 
+/* HACK. This is a simple workaround for a combination of old glibc
+   and valgrind. libdw will try to dlopen libdebuginfod this causes
+   some unsuppressable memory leak warnings when the process is
+   multi-threaded under valgrind because of some bad backtraces.
+   So simply override dlopen and always return NULL so libdebuginfod
+   (and libcurl) are never loaded.  This test doesn't rely on
+   libdebuginfod anyway.  */
+void *dlopen (void)
+{
+  return NULL;
+}
+
 #endif /* __linux__ */
diff --git a/tests/dwfl-report-segment-contiguous.c b/tests/dwfl-report-segment-contiguous.c
new file mode 100644
index 0000000..61e6bfe
--- /dev/null
+++ b/tests/dwfl-report-segment-contiguous.c
@@ -0,0 +1,82 @@
+/* Test bug in dwfl_report_segment() coalescing.
+   Copyright (C) 2019 Facebook
+   This file is part of elfutils.
+
+   This file is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   elfutils is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+#include <assert.h>
+#include <inttypes.h>
+#include <stdio.h>
+#include <stdio_ext.h>
+#include <locale.h>
+#include ELFUTILS_HEADER(dwfl)
+
+
+static const Dwfl_Callbacks offline_callbacks =
+  {
+    .find_debuginfo = INTUSE(dwfl_standard_find_debuginfo),
+    .section_address = INTUSE(dwfl_offline_section_address),
+  };
+
+
+int
+main (void)
+{
+  /* We use no threads here which can interfere with handling a stream.  */
+  (void) __fsetlocking (stdout, FSETLOCKING_BYCALLER);
+
+  /* Set locale.  */
+  (void) setlocale (LC_ALL, "");
+
+  Dwfl *dwfl = dwfl_begin (&offline_callbacks);
+  assert (dwfl != NULL);
+
+  GElf_Phdr phdr1 =
+    {
+      .p_type = PT_LOAD,
+      .p_flags = PF_R,
+      .p_offset = 0xf00,
+      .p_vaddr = 0xf00,
+      .p_filesz = 0x100,
+      .p_memsz = 0x100,
+      .p_align = 4,
+    };
+
+  int ndx = dwfl_report_segment (dwfl, 1, &phdr1, 0, dwfl);
+  assert(ndx == 1);
+
+  ndx = dwfl_addrsegment (dwfl, 0xf00, NULL);
+  assert(ndx == 1);
+
+  GElf_Phdr phdr2 =
+    {
+      .p_type = PT_LOAD,
+      .p_flags = PF_R | PF_W,
+      .p_offset = 0x1000,
+      .p_vaddr = 0x1000,
+      .p_filesz = 0x100,
+      .p_memsz = 0x100,
+      .p_align = 4,
+    };
+  ndx = dwfl_report_segment (dwfl, 2, &phdr2, 0, dwfl);
+  assert(ndx == 2);
+
+  ndx = dwfl_addrsegment (dwfl, 0x1000, NULL);
+  assert(ndx == 1 || ndx == 2);
+
+  dwfl_end (dwfl);
+
+  return 0;
+}
diff --git a/tests/dwflmodtest.c b/tests/dwflmodtest.c
index 9251d15..bec8a07 100644
--- a/tests/dwflmodtest.c
+++ b/tests/dwflmodtest.c
@@ -204,10 +204,6 @@
 
 static bool show_functions;
 
-/* gettext helper macro.  */
-#undef	N_
-#define N_(Str) Str
-
 static const struct argp_option options[] =
   {
     { "functions", 'f', NULL, 0, N_("Additionally show function names"), 0 },
diff --git a/tests/ecp.c b/tests/ecp.c
index 1df40a3..44a7bda 100644
--- a/tests/ecp.c
+++ b/tests/ecp.c
@@ -43,7 +43,7 @@
     error (EXIT_FAILURE, 0, "problems opening '%s' as ELF file: %s",
 	   argv[1], elf_errmsg (-1));
 
-  int outfd = creat (argv[2], 0666);
+  int outfd = creat (argv[2], DEFFILEMODE);
   if (outfd == -1)
     error (EXIT_FAILURE, errno, "cannot open output file '%s'", argv[2]);
 
diff --git a/tests/elfputzdata.c b/tests/elfputzdata.c
index 66ab77b..0d9c020 100644
--- a/tests/elfputzdata.c
+++ b/tests/elfputzdata.c
@@ -105,14 +105,17 @@
 		  printf ("Unexpected data size for orig section %zd\n", idx);
 		  return -1;
 		}
-	      char *orig_buf = malloc (d->d_size);
-	      if (orig_size > 0 && orig_buf == NULL)
-		{
-		  printf ("No memory to copy section %zd data\n", idx);
-		  return -1;
-		}
+	      char *orig_buf = NULL;
 	      if (orig_size > 0)
-		memcpy (orig_buf, d->d_buf, orig_size);
+		{
+		  orig_buf = malloc (d->d_size);
+		  if (orig_buf == NULL)
+		    {
+		      printf ("No memory to copy section %zd data\n", idx);
+		      return -1;
+		    }
+		  memcpy (orig_buf, d->d_buf, orig_size);
+		}
 
 	      bool forced = false;
 	      if (gnu)
@@ -175,7 +178,8 @@
 		}
 
 	      if (new_size == orig_size
-		  && memcmp (orig_buf, d->d_buf, orig_size) == 0)
+		  && (orig_buf == NULL
+		      || memcmp (orig_buf, d->d_buf, orig_size) == 0))
 		{
 		  printf ("section %zd didn't compress\n", idx);
 		  return -1;
@@ -211,7 +215,8 @@
 		  return -1;
 		}
 	      if (newer_size != orig_size
-		  && memcmp (orig_buf, d->d_buf, orig_size) != 0)
+		  && (orig_buf == NULL
+		      || memcmp (orig_buf, d->d_buf, orig_size) != 0))
 		{
 		  printf ("section %zd didn't correctly uncompress\n", idx);
 		  return -1;
diff --git a/tests/elfstrmerge.c b/tests/elfstrmerge.c
index ba0d68d..abbdf3f 100644
--- a/tests/elfstrmerge.c
+++ b/tests/elfstrmerge.c
@@ -332,7 +332,7 @@
     if (unlikely (secndx == 0 || secndx == shdrstrndx || secndx >= shdrnum))
       {
 	/* Don't use fail... too specialized messages.  Call release
-	   outselves and then error.  Ignores midx if widx is
+	   ourselves and then error.  Ignores midx if widx is
 	   zero.  */
 	release ();
 	if (widx == 0)
@@ -543,7 +543,7 @@
 	      {
 		new_data_buf (newdata);
 		/* A section group contains Elf32_Words. The first
-		   word is a falg value, the rest of the words are
+		   word is a flag value, the rest of the words are
 		   indexes of the sections belonging to the group.  */
 		Elf32_Word *group = (Elf32_Word *) data->d_buf;
 		Elf32_Word *newgroup = (Elf32_Word *) newdata->d_buf;
diff --git a/tests/elfstrtab.c b/tests/elfstrtab.c
index c27d6cf..5fae37e 100644
--- a/tests/elfstrtab.c
+++ b/tests/elfstrtab.c
@@ -26,6 +26,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
+#include "system.h"
 
 #include ELFUTILS_HEADER(elf)
 #include <gelf.h>
@@ -134,7 +135,7 @@
   printf ("\nfname: %s\n", fname);
   stridx = 0;
 
-  int fd = open (fname, O_RDWR | O_CREAT | O_TRUNC, 0666);
+  int fd = open (fname, O_RDWR | O_CREAT | O_TRUNC, DEFFILEMODE);
   if (fd == -1)
     {
       printf ("cannot open `%s': %s\n", fname, strerror (errno));
@@ -280,7 +281,7 @@
   close (fd);
 
   /* Read the ELF from disk now.  */
-  fd = open (fname, O_RDWR, 0666);
+  fd = open (fname, O_RDWR);
   if (fd == -1)
     {
       printf ("cannot open `%s' read-only: %s\n", fname, strerror (errno));
@@ -349,7 +350,7 @@
   close (fd);
 
   // And read it in one last time.
-  fd = open (fname, O_RDONLY, 0666);
+  fd = open (fname, O_RDONLY);
   if (fd == -1)
     {
       printf ("cannot open `%s' read-only: %s\n", fname, strerror (errno));
diff --git a/tests/emptyfile.c b/tests/emptyfile.c
index 6d08624..9124c39 100644
--- a/tests/emptyfile.c
+++ b/tests/emptyfile.c
@@ -27,6 +27,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
+#include "system.h"
 
 #include ELFUTILS_HEADER(elf)
 #include <gelf.h>
@@ -67,7 +68,7 @@
   printf ("\nfname: %s\n", fname);
   stridx = 0; // Reset strtab strings index
 
-  int fd = open (fname, O_RDWR | O_CREAT | O_TRUNC, 0666);
+  int fd = open (fname, O_RDWR | O_CREAT | O_TRUNC, DEFFILEMODE);
   if (fd == -1)
     {
       printf ("cannot open `%s': %s\n", fname, strerror (errno));
@@ -125,7 +126,7 @@
   close (fd);
 
   /* Reread the ELF from disk now.  */
-  fd = open (fname, O_RDWR, 0666);
+  fd = open (fname, O_RDWR);
   if (fd == -1)
     {
       printf ("cannot (re)open `%s': %s\n", fname, strerror (errno));
@@ -208,7 +209,7 @@
   close (fd);
 
   // And read it in one last time.
-  fd = open (fname, O_RDONLY, 0666);
+  fd = open (fname, O_RDONLY);
   if (fd == -1)
     {
       printf ("cannot open `%s' read-only: %s\n", fname, strerror (errno));
diff --git a/tests/fillfile.c b/tests/fillfile.c
index 915e249..7f62253 100644
--- a/tests/fillfile.c
+++ b/tests/fillfile.c
@@ -27,6 +27,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
+#include "system.h"
 
 #include ELFUTILS_HEADER(elf)
 #include <gelf.h>
@@ -201,7 +202,7 @@
   printf ("\nfname: %s\n", fname);
   stridx = 0; // Reset strtab strings index
 
-  int fd = open (fname, O_RDWR | O_CREAT | O_TRUNC, 0666);
+  int fd = open (fname, O_RDWR | O_CREAT | O_TRUNC, DEFFILEMODE);
   if (fd == -1)
     {
       printf ("cannot open `%s': %s\n", fname, strerror (errno));
@@ -266,7 +267,7 @@
 
   /* Reread the ELF from disk now.  */
   printf ("Rereading %s\n", fname);
-  fd = open (fname, O_RDWR, 0666);
+  fd = open (fname, O_RDWR);
   if (fd == -1)
     {
       printf ("cannot (re)open `%s': %s\n", fname, strerror (errno));
@@ -347,7 +348,7 @@
 
   // And read it in one last time.
   printf ("Rereading %s again\n", fname);
-  fd = open (fname, O_RDONLY, 0666);
+  fd = open (fname, O_RDONLY);
   if (fd == -1)
     {
       printf ("cannot open `%s' read-only: %s\n", fname, strerror (errno));
diff --git a/tests/getphdrnum.c b/tests/getphdrnum.c
new file mode 100644
index 0000000..07f75db
--- /dev/null
+++ b/tests/getphdrnum.c
@@ -0,0 +1,48 @@
+#include "config.h"
+
+#include <fcntl.h>
+#include <libelf.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <unistd.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+
+int main (int argc, const char **argv)
+{
+  int fd;
+  Elf *elf;
+  size_t phnum;
+
+  if (argc != 2)
+    {
+      fprintf (stderr, "usage: %s FILE\n", argv[0]);
+      return EXIT_FAILURE;
+    }
+
+  fd = open (argv[1], O_RDONLY);
+  if (fd == -1)
+    {
+      perror ("open");
+      return EXIT_FAILURE;
+    }
+  elf_version (EV_CURRENT);
+  elf = elf_begin (fd, ELF_C_READ, NULL);
+  if (!elf)
+    {
+      fprintf (stderr, "elf_begin: %s\n", elf_errmsg (-1));
+      return EXIT_FAILURE;
+    }
+  if (elf_getphdrnum (elf, &phnum))
+    {
+      fprintf(stderr, "elf_getphdrnum: %s\n", elf_errmsg (-1));
+      return EXIT_FAILURE;
+    }
+
+  printf("%zu\n", phnum);
+
+  elf_end (elf);
+  close (fd);
+
+  return EXIT_SUCCESS;
+}
diff --git a/tests/leb128.c b/tests/leb128.c
new file mode 100644
index 0000000..47b57c0
--- /dev/null
+++ b/tests/leb128.c
@@ -0,0 +1,173 @@
+/* Test program for leb128
+   Copyright (C) 2020 Tom Tromey
+   This file is part of elfutils.
+
+   This file is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   elfutils is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <config.h>
+#include <stddef.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <libdw.h>
+#include "../libdw/libdwP.h"
+#include "../libdw/memory-access.h"
+
+#define OK 0
+#define FAIL 1
+
+static const unsigned char v0[] = { 0x0 };
+static const unsigned char v1[] = { 0x1 };
+static const unsigned char v23[] = { 23 };
+static const unsigned char vm_1[] = { 0x7f };
+static const unsigned char vm_2[] = { 0x7e };
+static const unsigned char s127[] = { 0xff, 0x00 };
+static const unsigned char v128[] = { 0x80, 0x01 };
+static const unsigned char v129[] = { 0x81, 0x01 };
+static const unsigned char vm_127[] = { 0x81, 0x7f };
+static const unsigned char vm_128[] = { 0x80, 0x7f };
+static const unsigned char vm_129[] = { 0xff, 0x7e };
+static const unsigned char vhuge[] =
+  {
+    0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0x0
+  };
+static const unsigned char most_positive[] =
+  {
+    0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0x3f
+  };
+static const unsigned char most_negative[] =
+  {
+    0x80, 0x80, 0x80, 0x80, 0x80,
+    0x80, 0x80, 0x80, 0x40
+  };
+static const unsigned char minus_one[] =
+  {
+    0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0x7f
+  };
+static const unsigned char int64_max_m1[] =
+  {
+    0xfe, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0x00
+  };
+static const unsigned char int64_min_p1[] =
+  {
+    0x81, 0x80, 0x80, 0x80, 0x80,
+    0x80, 0x80, 0x80, 0x80, 0x7f
+  };
+
+static int
+test_one_sleb (const unsigned char *data, size_t len, int64_t expect)
+{
+  int64_t value;
+  const unsigned char *p;
+
+  p = data;
+  get_sleb128 (value, p, p + len);
+  if (value != expect || p != data + len)
+    return FAIL;
+
+  p = data;
+  get_sleb128_unchecked (value, p);
+  if (value != expect || p != data + len)
+    return FAIL;
+
+  return OK;
+}
+
+static int
+test_sleb (void)
+{
+#define TEST(ARRAY, V)				      \
+  if (test_one_sleb (ARRAY, sizeof (ARRAY), V) != OK) \
+    return FAIL;
+
+  TEST (v0, 0);
+  TEST (v1, 1);
+  TEST (v23, 23);
+  TEST (vm_1, -1);
+  TEST (vm_2, -2);
+  TEST (s127, 127);
+  TEST (v128, 128);
+  TEST (v129, 129);
+  TEST (vm_127, -127);
+  TEST (vm_128, -128);
+  TEST (vm_129, -129);
+  TEST (vhuge, 9223372036854775807ll);
+  TEST (most_positive, 4611686018427387903ll);
+  TEST (most_negative, -4611686018427387904ll);
+  TEST (minus_one, -1);
+  TEST (int64_max_m1, INT64_MAX - 1);
+  TEST (int64_min_p1, INT64_MIN + 1);
+
+#undef TEST
+
+  return OK;
+}
+
+static int
+test_one_uleb (const unsigned char *data, size_t len, uint64_t expect)
+{
+  uint64_t value;
+  const unsigned char *p;
+
+  p = data;
+  get_uleb128 (value, p, p + len);
+  if (value != expect || p != data + len)
+    return FAIL;
+
+  p = data;
+  get_uleb128_unchecked (value, p);
+  if (value != expect || p != data + len)
+    return FAIL;
+
+  return OK;
+}
+
+static int
+test_uleb (void)
+{
+#define TEST(ARRAY, V)				      \
+  if (test_one_uleb (ARRAY, sizeof (ARRAY), V) != OK) \
+    return FAIL;
+
+  TEST (v0, 0);
+  TEST (v1, 1);
+  TEST (v23, 23);
+  TEST (vm_1, 127);
+  TEST (vm_2, 126);
+  TEST (s127, 127);
+  TEST (v128, 128);
+  TEST (v129, 129);
+  TEST (vm_127, 16257);
+  TEST (vm_128, 16256);
+  TEST (vm_129, 16255);
+  TEST (vhuge, 9223372036854775807ull);
+  TEST (most_positive, 4611686018427387903ull);
+  TEST (most_negative, 4611686018427387904ull);
+  TEST (minus_one, 9223372036854775807ull);
+  TEST (int64_max_m1, INT64_MAX - 1);
+  TEST (int64_min_p1, INT64_MIN + 1);
+
+#undef TEST
+
+  return OK;
+}
+
+int
+main (void)
+{
+  return test_sleb () || test_uleb ();
+}
diff --git a/tests/newdata.c b/tests/newdata.c
index 9af9956..fcf26ac 100644
--- a/tests/newdata.c
+++ b/tests/newdata.c
@@ -26,6 +26,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
+#include "system.h"
 
 #include ELFUTILS_HEADER(elf)
 #include <gelf.h>
@@ -243,7 +244,7 @@
 
   printf ("\ncheck_elf: %s\n", fname);
 
-  int fd = open (fname, O_RDWR|O_CREAT|O_TRUNC, 00666);
+  int fd = open (fname, O_RDWR|O_CREAT|O_TRUNC, DEFFILEMODE);
   if (fd == -1)
     {
       printf ("cannot create `%s': %s\n", fname, strerror (errno));
diff --git a/tests/read_unaligned.c b/tests/read_unaligned.c
new file mode 100644
index 0000000..15e0c00
--- /dev/null
+++ b/tests/read_unaligned.c
@@ -0,0 +1,564 @@
+/* Test program for read_[type]_unaligned.
+   Copyright (C) 2020, Red Hat Inc.
+   This file is part of elfutils.
+
+   This file is free software; you can redistribute it and/or modify
+   it under the terms of the GNU General Public License as published by
+   the Free Software Foundation; either version 3 of the License, or
+   (at your option) any later version.
+
+   elfutils is distributed in the hope that it will be useful, but
+   WITHOUT ANY WARRANTY; without even the implied warranty of
+   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+   GNU General Public License for more details.
+
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+#include <assert.h>
+#include <endian.h>
+#include <inttypes.h>
+#include <stdbool.h>
+#include <stdint.h>
+#include <stdio.h>
+
+#include "../libdw/libdwP.h"
+#include "../libdw/memory-access.h"
+
+union u8
+{
+  uint8_t v;
+  unsigned char c[1];
+};
+
+union s8
+{
+  int8_t v;
+  unsigned char c[1];
+};
+
+union u16
+{
+  uint16_t v;
+  unsigned char c[2];
+};
+
+union s16
+{
+  int16_t v;
+  unsigned char c[2];
+};
+
+union u24
+{
+  uint32_t v:24;
+  unsigned char c[3];
+} __attribute__((packed));
+
+union u32
+{
+  uint32_t v;
+  unsigned char c[4];
+};
+
+union s32
+{
+  int32_t v;
+  unsigned char c[4];
+};
+
+union u64
+{
+  uint64_t v;
+  unsigned char c[8];
+};
+
+union s64
+{
+  uint64_t v;
+  unsigned char c[8];
+};
+
+uint8_t u8_nums[] =
+  {
+   0,
+   1,
+   UINT8_MAX / 2 - 1,
+   UINT8_MAX / 2,
+   UINT8_MAX / 2 + 1,
+   UINT8_MAX,
+   UINT8_MAX -1
+  };
+
+int8_t s8_nums[] =
+  {
+   INT8_MIN,
+   INT8_MIN + 1,
+   -1,
+   0,
+   1,
+   INT8_MAX,
+   INT8_MAX - 1
+  };
+
+uint16_t u16_nums[] =
+  {
+   0,
+   1,
+   UINT16_MAX / 2 - 1,
+   UINT16_MAX / 2,
+   UINT16_MAX / 2 + 1,
+   UINT16_MAX,
+   UINT16_MAX -1
+  };
+
+int16_t s16_nums[] =
+  {
+   INT16_MIN,
+   INT16_MIN + 1,
+   -1,
+   0,
+   1,
+   INT16_MAX,
+   INT16_MAX - 1
+  };
+
+#define UINT24_MAX 0xffffff
+
+uint32_t u24_nums[] =
+  {
+   0,
+   1,
+   UINT24_MAX / 2 - 1,
+   UINT24_MAX / 2,
+   UINT24_MAX / 2 + 1,
+   UINT24_MAX,
+   UINT24_MAX -1
+  };
+
+uint32_t u32_nums[] =
+  {
+   0,
+   1,
+   UINT32_MAX / 2 - 1,
+   UINT32_MAX / 2,
+   UINT32_MAX / 2 + 1,
+   UINT32_MAX,
+   UINT32_MAX -1
+  };
+
+int32_t s32_nums[] =
+  {
+   INT32_MIN,
+   INT32_MIN + 1,
+   -1,
+   0,
+   1,
+   INT32_MAX,
+   INT32_MAX - 1
+  };
+
+uint64_t u64_nums[] =
+  {
+   0,
+   1,
+   UINT64_MAX / 2 - 1,
+   UINT64_MAX / 2,
+   UINT64_MAX / 2 + 1,
+   UINT64_MAX,
+   UINT64_MAX -1
+  };
+
+int64_t s64_nums[] =
+  {
+   INT64_MIN,
+   INT64_MIN + 1,
+   -1,
+   0,
+   1,
+   INT64_MAX,
+   INT64_MAX - 1
+  };
+
+static unsigned char le_mem[] =
+  {
+    /* u8 */
+    0x00,
+    0x01,
+    0x7e,
+    0x7f,
+    0x80,
+    0xff,
+    0xfe,
+    /* s8 */
+    0x80,
+    0x81,
+    0xff,
+    0x00,
+    0x01,
+    0x7f,
+    0x7e,
+    /* u16 */
+    0x00, 0x00,
+    0x01, 0x00,
+    0xfe, 0x7f,
+    0xff, 0x7f,
+    0x00, 0x80,
+    0xff, 0xff,
+    0xfe, 0xff,
+    /* s16 */
+    0x00, 0x80,
+    0x01, 0x80,
+    0xff, 0xff,
+    0x00, 0x00,
+    0x01, 0x00,
+    0xff, 0x7f,
+    0xfe, 0x7f,
+    /* u24 */
+    0x00, 0x00, 0x00,
+    0x01, 0x00, 0x00,
+    0xfe, 0xff, 0x7f,
+    0xff, 0xff, 0x7f,
+    0x00, 0x00, 0x80,
+    0xff, 0xff, 0xff,
+    0xfe, 0xff, 0xff,
+    /* u32 */
+    0x00, 0x00, 0x00, 0x00,
+    0x01, 0x00, 0x00, 0x00,
+    0xfe, 0xff, 0xff, 0x7f,
+    0xff, 0xff, 0xff, 0x7f,
+    0x00, 0x00, 0x00, 0x80,
+    0xff, 0xff, 0xff, 0xff,
+    0xfe, 0xff, 0xff, 0xff,
+    /* s32 */
+    0x00, 0x00, 0x00, 0x80,
+    0x01, 0x00, 0x00, 0x80,
+    0xff, 0xff, 0xff, 0xff,
+    0x00, 0x00, 0x00, 0x00,
+    0x01, 0x00, 0x00, 0x00,
+    0xff, 0xff, 0xff, 0x7f,
+    0xfe, 0xff, 0xff, 0x7f,
+    /* u64 */
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    /* s64 */
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f,
+    0xfe, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0x7f,
+  };
+
+static unsigned char be_mem[] =
+  {
+    /* u8 */
+    0x00,
+    0x01,
+    0x7e,
+    0x7f,
+    0x80,
+    0xff,
+    0xfe,
+    /* s8 */
+    0x80,
+    0x81,
+    0xff,
+    0x00,
+    0x01,
+    0x7f,
+    0x7e,
+    /* u16 */
+    0x00, 0x00,
+    0x00, 0x01,
+    0x7f, 0xfe,
+    0x7f, 0xff,
+    0x80, 0x00,
+    0xff, 0xff,
+    0xff, 0xfe,
+    /* s16 */
+    0x80, 0x00,
+    0x80, 0x01,
+    0xff, 0xff,
+    0x00, 0x00,
+    0x00, 0x01,
+    0x7f, 0xff,
+    0x7f, 0xfe,
+    /* u24 */
+    0x00, 0x00, 0x00,
+    0x00, 0x00, 0x01,
+    0x7f, 0xff, 0xfe,
+    0x7f, 0xff, 0xff,
+    0x80, 0x00, 0x00,
+    0xff, 0xff, 0xff,
+    0xff, 0xff, 0xfe,
+    /* u32 */
+    0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x01,
+    0x7f, 0xff, 0xff, 0xfe,
+    0x7f, 0xff, 0xff, 0xff,
+    0x80, 0x00, 0x00, 0x00,
+    0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xfe,
+    /* s32 */
+    0x80, 0x00, 0x00, 0x00,
+    0x80, 0x00, 0x00, 0x01,
+    0xff, 0xff, 0xff, 0xff,
+    0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x01,
+    0x7f, 0xff, 0xff, 0xff,
+    0x7f, 0xff, 0xff, 0xfe,
+    /* u64 */
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+    0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe,
+    0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe,
+    /* s64 */
+    0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+    0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
+    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
+    0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
+    0x7f, 0xff, 0xff, 0xff, 0xff, 0xff, 0xff, 0xfe,
+  };
+
+int
+main (int argc, char **argv __attribute__((unused)))
+{
+  /* No arguments means check, otherwise Write out the memory array.  */
+  bool write = false;
+  if (argc > 1)
+    write = true;
+
+  bool is_le = (BYTE_ORDER == LITTLE_ENDIAN);
+
+  if (write)
+    {
+      if (is_le)
+	printf ("static unsigned char le_mem[] =\n");
+      else
+	printf ("static unsigned char be_mem[] =\n");
+      printf ("  {\n");
+    }
+
+  Dwarf dbg_le = { .other_byte_order = !is_le };
+  Dwarf dbg_be = { .other_byte_order = is_le };
+
+  unsigned char *p_le = le_mem;
+  unsigned char *p_be = be_mem;
+
+  union u8 u8;
+  if (write)
+    printf ("    /* u8 */\n");
+  for (size_t i = 0; i < sizeof (u8_nums) / sizeof (u8); i++)
+    {
+      if (write)
+	{
+	  u8.v = u8_nums[i];
+	  printf ("    0x%02" PRIx8 ",\n", u8.c[0]);
+	}
+      else
+	{
+	  uint8_t v = *p_le++;
+	  assert (v == u8_nums[i]);
+	  v = *p_be++;
+	  assert (v == u8_nums[i]);
+	}
+    }
+
+  union s8 s8;
+  if (write)
+    printf ("    /* s8 */\n");
+  for (size_t i = 0; i < sizeof (s8_nums) / sizeof (s8); i++)
+    {
+      if (write)
+	{
+	  s8.v = s8_nums[i];
+	  printf ("    0x%02" PRIx8 ",\n", s8.c[0]);
+	}
+      else
+	{
+	  int8_t v = *p_le++;
+	  assert (v == s8_nums[i]);
+	  v = *p_be++;
+	  assert (v == s8_nums[i]);
+	}
+    }
+
+  union u16 u16;
+  if (write)
+    printf ("    /* u16 */\n");
+  for (size_t i = 0; i < sizeof (u16_nums) / sizeof (u16); i++)
+    {
+      if (write)
+	{
+	  u16.v = u16_nums[i];
+	  printf ("    0x%02" PRIx8 ", ", u16.c[0]);
+	  printf ("0x%02" PRIx8 ",\n", u16.c[1]);
+	}
+      else
+	{
+	  uint16_t v = read_2ubyte_unaligned_inc (&dbg_le, p_le);
+	  assert (v == u16_nums[i]);
+	  v = read_2ubyte_unaligned_inc (&dbg_be, p_be);
+	  assert (v == u16_nums[i]);
+	}
+    }
+
+  union s16 s16;
+  if (write)
+    printf ("    /* s16 */\n");
+  for (size_t i = 0; i < sizeof (s16_nums) / sizeof (s16); i++)
+    {
+      if (write)
+	{
+	  s16.v = s16_nums[i];
+	  printf ("    0x%02" PRIx8 ", ", s16.c[0]);
+	  printf ("0x%02" PRIx8 ",\n", s16.c[1]);
+	}
+      else
+	{
+	  int16_t v = read_2sbyte_unaligned_inc (&dbg_le, p_le);
+	  assert (v == s16_nums[i]);
+	  v = read_2sbyte_unaligned_inc (&dbg_be, p_be);
+	  assert (v == s16_nums[i]);
+	}
+    }
+
+  union u24 u24;
+  if (write)
+    printf ("    /* u24 */\n");
+  for (size_t i = 0; i < sizeof (u24_nums) / sizeof (uint32_t); i++)
+    {
+      if (write)
+	{
+	  u24.v = u24_nums[i];
+	  printf ("    0x%02" PRIx8 ", ", u24.c[0]);
+	  printf ("0x%02" PRIx8 ", ", u24.c[1]);
+	  printf ("0x%02" PRIx8 ",\n", u24.c[2]);
+	}
+      else
+	{
+	  uint32_t v = read_3ubyte_unaligned_inc (&dbg_le, p_le);
+	  assert (v == u24_nums[i]);
+	  v = read_3ubyte_unaligned_inc (&dbg_be, p_be);
+	  assert (v == u24_nums[i]);
+	}
+    }
+
+  union u32 u32;
+  if (write)
+    printf ("    /* u32 */\n");
+  for (size_t i = 0; i < sizeof (u32_nums) / sizeof (u32); i++)
+    {
+      if (write)
+	{
+	  u32.v = u32_nums[i];
+	  printf ("    0x%02" PRIx8 ", ", u32.c[0]);
+	  printf ("0x%02" PRIx8 ", ", u32.c[1]);
+	  printf ("0x%02" PRIx8 ", ", u32.c[2]);
+	  printf ("0x%02" PRIx8 ",\n", u32.c[3]);
+	}
+      else
+	{
+	  uint32_t v = read_4ubyte_unaligned_inc (&dbg_le, p_le);
+	  assert (v == u32_nums[i]);
+	  v = read_4ubyte_unaligned_inc (&dbg_be, p_be);
+	  assert (v == u32_nums[i]);
+	}
+    }
+
+  union s32 s32;
+  if (write)
+    printf ("    /* s32 */\n");
+  for (size_t i = 0; i < sizeof (s32_nums) / sizeof (s32); i++)
+    {
+      if (write)
+	{
+	  s32.v = s32_nums[i];
+	  printf ("    0x%02" PRIx8 ", ", s32.c[0]);
+	  printf ("0x%02" PRIx8 ", ", s32.c[1]);
+	  printf ("0x%02" PRIx8 ", ", s32.c[2]);
+	  printf ("0x%02" PRIx8 ",\n", s32.c[3]);
+	}
+      else
+	{
+	  int32_t v = read_4sbyte_unaligned_inc (&dbg_le, p_le);
+	  assert (v == s32_nums[i]);
+	  v = read_4sbyte_unaligned_inc (&dbg_be, p_be);
+	  assert (v == s32_nums[i]);
+	}
+    }
+
+  union u64 u64;
+  if (write)
+    printf ("    /* u64 */\n");
+  for (size_t i = 0; i < sizeof (u64_nums) / sizeof (u64); i++)
+    {
+      if (write)
+	{
+	  u64.v = u64_nums[i];
+	  printf ("    0x%02" PRIx8 ", ", u64.c[0]);
+	  printf ("0x%02" PRIx8 ", ", u64.c[1]);
+	  printf ("0x%02" PRIx8 ", ", u64.c[2]);
+	  printf ("0x%02" PRIx8 ", ", u64.c[3]);
+	  printf ("0x%02" PRIx8 ", ", u64.c[4]);
+	  printf ("0x%02" PRIx8 ", ", u64.c[5]);
+	  printf ("0x%02" PRIx8 ", ", u64.c[6]);
+	  printf ("0x%02" PRIx8 ",\n", u64.c[7]);
+	}
+      else
+	{
+	  uint64_t v = read_8ubyte_unaligned_inc (&dbg_le, p_le);
+	  assert (v == u64_nums[i]);
+	  v = read_8ubyte_unaligned_inc (&dbg_be, p_be);
+	  assert (v == u64_nums[i]);
+	}
+    }
+
+  union s64 s64;
+  if (write)
+    printf ("    /* s64 */\n");
+  for (size_t i = 0; i < sizeof (s64_nums) / sizeof (s64); i++)
+    {
+      if (write)
+	{
+	  s64.v = s64_nums[i];
+	  printf ("    0x%02" PRIx8 ", ", s64.c[0]);
+	  printf ("0x%02" PRIx8 ", ", s64.c[1]);
+	  printf ("0x%02" PRIx8 ", ", s64.c[2]);
+	  printf ("0x%02" PRIx8 ", ", s64.c[3]);
+	  printf ("0x%02" PRIx8 ", ", s64.c[4]);
+	  printf ("0x%02" PRIx8 ", ", s64.c[5]);
+	  printf ("0x%02" PRIx8 ", ", s64.c[6]);
+	  printf ("0x%02" PRIx8 ",\n", s64.c[7]);
+	}
+      else
+	{
+	  int64_t v = read_8sbyte_unaligned_inc (&dbg_le, p_le);
+	  assert (v == s64_nums[i]);
+	  v = read_8sbyte_unaligned_inc (&dbg_be, p_be);
+	  assert (v == s64_nums[i]);
+	}
+    }
+
+  if (write)
+    printf ("  };\n");
+  else
+    {
+      assert (p_le == le_mem + sizeof (le_mem));
+      assert (p_be == be_mem + sizeof (be_mem));
+    }
+
+  return 0;
+}
diff --git a/tests/run-allfcts.sh b/tests/run-allfcts.sh
index 6eaf13c..9c0a55d 100755
--- a/tests/run-allfcts.sh
+++ b/tests/run-allfcts.sh
@@ -91,4 +91,83 @@
 /home/mark/src/tests/nested/class_func.cxx:13:main
 EOF
 
+# = testfile-lto.h =
+# struct t
+# {
+#   int *p;
+#   int c;
+# };
+#
+# extern int foo (int i, struct t *t);
+
+# = testfile-lto-func.c =
+# #include "testfile-lto.h"
+#
+# int
+# foo (int i, struct t *t)
+# {
+#   int j, res = 0;
+#   for (j = 0; j < i && j < t->c; j++)
+#     res += t->p[j];
+#
+#   return res;
+# }
+
+# = testfile-lto-main.c =
+# #include "testfile-lto.h"
+#
+# static struct t g;
+#
+# int
+# main (int argc, char **argv)
+# {
+#   int i;
+#   int j[argc];
+#   g.c = argc;
+#   g.p = j;
+#   for (i = 0; i < argc; i++)
+#     j[i] = (int) argv[i][0];
+#   return foo (3, &g);
+# }
+
+# Using gcc (GCC) 10.0.1 20200430 (Red Hat 10.0.1-0.13)
+# gcc -g -O2 -flto -c testfile-lto-func.c
+# gcc -g -O2 -flto -c testfile-lto-main.c
+# gcc -g -O2 -flto -o testfile-lto-gcc10 testfile-lto-func.o testfile-lto-main.o
+
+testfiles testfile-lto-gcc10
+
+testrun_compare ${abs_builddir}/allfcts testfile-lto-gcc10 <<\EOF
+/home/mark/src/tests/testfile-lto-main.c:6:main
+/home/mark/src/tests/testfile-lto-func.c:4:foo
+/home/mark/src/tests/testfile-lto-main.c:6:main
+EOF
+
+# Using gcc (GCC) 8.3.1 20190311 (Red Hat 8.3.1-3)
+# gcc -g -O2 -flto -c testfile-lto-func.c
+# gcc -g -O2 -flto -c testfile-lto-main.c
+# gcc -g -O2 -flto -o testfile-lto-gcc8 testfile-lto-func.o testfile-lto-main.o
+
+testfiles testfile-lto-gcc8
+
+testrun_compare ${abs_builddir}/allfcts testfile-lto-gcc8 <<\EOF
+/home/mark/src/tests/testfile-lto-func.c:4:foo
+/home/mark/src/tests/testfile-lto-main.c:6:main
+/home/mark/src/tests/testfile-lto-main.c:6:main
+/home/mark/src/tests/testfile-lto-func.c:4:foo
+EOF
+
+# gcc (GCC) 9.1.1 20190605 (Red Hat 9.1.1-2)
+# gcc -g -O2 -flto -c testfile-lto-func.c
+# gcc -g -O2 -flto -c testfile-lto-main.c
+# gcc -g -O2 -flto -o testfile-lto-gcc9 testfile-lto-func.o testfile-lto-main.o
+
+testfiles testfile-lto-gcc9
+
+testrun_compare ${abs_builddir}/allfcts testfile-lto-gcc9 <<\EOF
+/home/mark/src/tests/testfile-lto-main.c:6:main
+/home/mark/src/tests/testfile-lto-func.c:4:foo
+/home/mark/src/tests/testfile-lto-main.c:6:main
+EOF
+
 exit 0
diff --git a/tests/run-allregs.sh b/tests/run-allregs.sh
index 1422bd6..87b16c9 100755
--- a/tests/run-allregs.sh
+++ b/tests/run-allregs.sh
@@ -2585,75 +2585,6 @@
 	 63: $fpcr (fpcr), unsigned 64 bits
 EOF
 
-regs_test testfile60 <<\EOF
-integer registers:
-	  0: r0 (r0), signed 64 bits
-	  1: r1 (r1), signed 64 bits
-	  2: r2 (r2), signed 64 bits
-	  3: r3 (r3), signed 64 bits
-	  4: r4 (r4), signed 64 bits
-	  5: r5 (r5), signed 64 bits
-	  6: r6 (r6), signed 64 bits
-	  7: r7 (r7), signed 64 bits
-	  8: r8 (r8), signed 64 bits
-	  9: r9 (r9), signed 64 bits
-	 10: r10 (r10), signed 64 bits
-	 11: r11 (r11), signed 64 bits
-	 12: r12 (r12), signed 64 bits
-	 13: r13 (r13), signed 64 bits
-	 14: r14 (r14), signed 64 bits
-	 15: r15 (r15), signed 64 bits
-	 16: r16 (r16), signed 64 bits
-	 17: r17 (r17), signed 64 bits
-	 18: r18 (r18), signed 64 bits
-	 19: r19 (r19), signed 64 bits
-	 20: r20 (r20), signed 64 bits
-	 21: r21 (r21), signed 64 bits
-	 22: r22 (r22), signed 64 bits
-	 23: r23 (r23), signed 64 bits
-	 24: r24 (r24), signed 64 bits
-	 25: r25 (r25), signed 64 bits
-	 26: r26 (r26), signed 64 bits
-	 27: r27 (r27), signed 64 bits
-	 28: r28 (r28), signed 64 bits
-	 29: r29 (r29), signed 64 bits
-	 30: r30 (r30), signed 64 bits
-	 31: r31 (r31), signed 64 bits
-	 32: r32 (r32), signed 64 bits
-	 33: r33 (r33), signed 64 bits
-	 34: r34 (r34), signed 64 bits
-	 35: r35 (r35), signed 64 bits
-	 36: r36 (r36), signed 64 bits
-	 37: r37 (r37), signed 64 bits
-	 38: r38 (r38), signed 64 bits
-	 39: r39 (r39), signed 64 bits
-	 40: r40 (r40), signed 64 bits
-	 41: r41 (r41), signed 64 bits
-	 42: r42 (r42), signed 64 bits
-	 43: r43 (r43), signed 64 bits
-	 44: r44 (r44), signed 64 bits
-	 45: r45 (r45), signed 64 bits
-	 46: r46 (r46), signed 64 bits
-	 47: r47 (r47), signed 64 bits
-	 48: r48 (r48), signed 64 bits
-	 49: r49 (r49), signed 64 bits
-	 50: r50 (r50), signed 64 bits
-	 51: r51 (r51), signed 64 bits
-	 52: r52 (r52), signed 64 bits
-	 53: tp (tp), address 64 bits
-	 54: sp (sp), address 64 bits
-	 55: lr (lr), address 64 bits
-	 56: sn (sn), unsigned 64 bits
-	 57: idn0 (idn0), unsigned 64 bits
-	 58: idn1 (idn1), unsigned 64 bits
-	 59: udn0 (udn0), unsigned 64 bits
-	 60: udn1 (udn1), unsigned 64 bits
-	 61: udn2 (udn2), unsigned 64 bits
-	 62: udn3 (udn3), unsigned 64 bits
-	 63: zero (zero), unsigned 64 bits
-	 64: pc (pc), address 64 bits
-EOF
-
 regs_test testfile61 <<\EOF
 integer registers:
 	  0: r0 (r0), signed 32 bits
diff --git a/tests/run-ar.sh b/tests/run-ar.sh
index fb9394d..656f1d1 100755
--- a/tests/run-ar.sh
+++ b/tests/run-ar.sh
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /usr/bin/env bash
 # Copyright (C) 2017 Red Hat, Inc.
 # This file is part of elfutils.
 #
diff --git a/tests/run-backtrace-core-aarch64.sh b/tests/run-backtrace-core-aarch64.sh
index a29a661..41221d3 100755
--- a/tests/run-backtrace-core-aarch64.sh
+++ b/tests/run-backtrace-core-aarch64.sh
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /usr/bin/env bash
 # Copyright (C) 2013 Red Hat, Inc.
 # This file is part of elfutils.
 #
diff --git a/tests/run-backtrace-core-i386.sh b/tests/run-backtrace-core-i386.sh
index 7294ec3..c497f4a 100755
--- a/tests/run-backtrace-core-i386.sh
+++ b/tests/run-backtrace-core-i386.sh
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /usr/bin/env bash
 # Copyright (C) 2013 Red Hat, Inc.
 # This file is part of elfutils.
 #
diff --git a/tests/run-backtrace-core-ppc.sh b/tests/run-backtrace-core-ppc.sh
index 555ac35..1a51046 100755
--- a/tests/run-backtrace-core-ppc.sh
+++ b/tests/run-backtrace-core-ppc.sh
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /usr/bin/env bash
 # Copyright (C) 2013 Red Hat, Inc.
 # This file is part of elfutils.
 #
diff --git a/tests/run-backtrace-core-s390.sh b/tests/run-backtrace-core-s390.sh
index d3b6dc9..ce3afb9 100755
--- a/tests/run-backtrace-core-s390.sh
+++ b/tests/run-backtrace-core-s390.sh
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /usr/bin/env bash
 # Copyright (C) 2013 Red Hat, Inc.
 # This file is part of elfutils.
 #
diff --git a/tests/run-backtrace-core-s390x.sh b/tests/run-backtrace-core-s390x.sh
index c3e236d..39450c1 100755
--- a/tests/run-backtrace-core-s390x.sh
+++ b/tests/run-backtrace-core-s390x.sh
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /usr/bin/env bash
 # Copyright (C) 2013 Red Hat, Inc.
 # This file is part of elfutils.
 #
diff --git a/tests/run-backtrace-core-sparc.sh b/tests/run-backtrace-core-sparc.sh
index 60399ba..2f39e74 100755
--- a/tests/run-backtrace-core-sparc.sh
+++ b/tests/run-backtrace-core-sparc.sh
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /usr/bin/env bash
 # Copyright (C) 2015 Oracle, Inc.
 # This file is part of elfutils.
 #
diff --git a/tests/run-backtrace-core-x32.sh b/tests/run-backtrace-core-x32.sh
index 2ad76bc..e6144b3 100755
--- a/tests/run-backtrace-core-x32.sh
+++ b/tests/run-backtrace-core-x32.sh
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /usr/bin/env bash
 # Copyright (C) H.J. Lu <hjl.tools@gmail.com>, 2015.
 # This file is part of elfutils.
 #
diff --git a/tests/run-backtrace-core-x86_64.sh b/tests/run-backtrace-core-x86_64.sh
index d00cd6d..4924801 100755
--- a/tests/run-backtrace-core-x86_64.sh
+++ b/tests/run-backtrace-core-x86_64.sh
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /usr/bin/env bash
 # Copyright (C) 2013 Red Hat, Inc.
 # This file is part of elfutils.
 #
diff --git a/tests/run-backtrace-data.sh b/tests/run-backtrace-data.sh
index 3062c30..f67a43e 100755
--- a/tests/run-backtrace-data.sh
+++ b/tests/run-backtrace-data.sh
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /usr/bin/env bash
 # Copyright (C) 2013 Red Hat, Inc.
 # This file is part of elfutils.
 #
diff --git a/tests/run-backtrace-demangle.sh b/tests/run-backtrace-demangle.sh
index 2d25324..403a485 100755
--- a/tests/run-backtrace-demangle.sh
+++ b/tests/run-backtrace-demangle.sh
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /usr/bin/env bash
 # Copyright (C) 2014, 2015 Red Hat, Inc.
 # This file is part of elfutils.
 #
diff --git a/tests/run-backtrace-dwarf.sh b/tests/run-backtrace-dwarf.sh
index 8834048..7ed795d 100755
--- a/tests/run-backtrace-dwarf.sh
+++ b/tests/run-backtrace-dwarf.sh
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /usr/bin/env bash
 # Copyright (C) 2013 Red Hat, Inc.
 # This file is part of elfutils.
 #
diff --git a/tests/run-backtrace-fp-core-aarch64.sh b/tests/run-backtrace-fp-core-aarch64.sh
index fda88d3..397e3c3 100755
--- a/tests/run-backtrace-fp-core-aarch64.sh
+++ b/tests/run-backtrace-fp-core-aarch64.sh
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /usr/bin/env bash
 # Copyright (C) 2017 The Qt Company
 # This file is part of elfutils.
 #
diff --git a/tests/run-backtrace-fp-core-i386.sh b/tests/run-backtrace-fp-core-i386.sh
index c58ff53..43f859f 100755
--- a/tests/run-backtrace-fp-core-i386.sh
+++ b/tests/run-backtrace-fp-core-i386.sh
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /usr/bin/env bash
 # Copyright (C) 2017 Red Hat, Inc.
 # This file is part of elfutils.
 #
diff --git a/tests/run-backtrace-fp-core-ppc64le.sh b/tests/run-backtrace-fp-core-ppc64le.sh
index 326ca34..345b8db 100755
--- a/tests/run-backtrace-fp-core-ppc64le.sh
+++ b/tests/run-backtrace-fp-core-ppc64le.sh
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /usr/bin/env bash
 # Copyright (C) 2017 Red Hat, Inc.
 # This file is part of elfutils.
 #
diff --git a/tests/run-backtrace-fp-core-x86_64.sh b/tests/run-backtrace-fp-core-x86_64.sh
index 348eb18..12f44c4 100755
--- a/tests/run-backtrace-fp-core-x86_64.sh
+++ b/tests/run-backtrace-fp-core-x86_64.sh
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /usr/bin/env bash
 # Copyright (C) 2017 The Qt Company
 # This file is part of elfutils.
 #
diff --git a/tests/run-backtrace-native-biarch.sh b/tests/run-backtrace-native-biarch.sh
index 2afe38a..9286983 100755
--- a/tests/run-backtrace-native-biarch.sh
+++ b/tests/run-backtrace-native-biarch.sh
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /usr/bin/env bash
 # Copyright (C) 2013, 2015 Red Hat, Inc.
 # This file is part of elfutils.
 #
diff --git a/tests/run-backtrace-native-core-biarch.sh b/tests/run-backtrace-native-core-biarch.sh
index 02552ce..2327425 100755
--- a/tests/run-backtrace-native-core-biarch.sh
+++ b/tests/run-backtrace-native-core-biarch.sh
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /usr/bin/env bash
 # Copyright (C) 2013, 2015 Red Hat, Inc.
 # This file is part of elfutils.
 #
diff --git a/tests/run-backtrace-native-core.sh b/tests/run-backtrace-native-core.sh
index cb025a5..db95895 100755
--- a/tests/run-backtrace-native-core.sh
+++ b/tests/run-backtrace-native-core.sh
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /usr/bin/env bash
 # Copyright (C) 2013 Red Hat, Inc.
 # This file is part of elfutils.
 #
diff --git a/tests/run-backtrace-native.sh b/tests/run-backtrace-native.sh
index ddae345..823c411 100755
--- a/tests/run-backtrace-native.sh
+++ b/tests/run-backtrace-native.sh
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /usr/bin/env bash
 # Copyright (C) 2013 Red Hat, Inc.
 # This file is part of elfutils.
 #
diff --git a/tests/run-debuginfod-find.sh b/tests/run-debuginfod-find.sh
index 0ade03b..6340f60 100755
--- a/tests/run-debuginfod-find.sh
+++ b/tests/run-debuginfod-find.sh
@@ -1,6 +1,6 @@
-#!/bin/bash
+#!/usr/bin/env bash
 #
-# Copyright (C) 2019 Red Hat, Inc.
+# Copyright (C) 2019-2020 Red Hat, Inc.
 # This file is part of elfutils.
 #
 # This file is free software; you can redistribute it and/or modify
@@ -18,19 +18,31 @@
 
 . $srcdir/test-subr.sh  # includes set -e
 
+type curl 2>/dev/null || (echo "need curl"; exit 77)
+type rpm2cpio 2>/dev/null || (echo "need rpm2cpio"; exit 77)
+type bzcat 2>/dev/null || (echo "need bzcat"; exit 77)
+bsdtar --version | grep -q zstd && zstd=true || zstd=false
+echo "zstd=$zstd bsdtar=`bsdtar --version`"
+
+# for test case debugging, uncomment:
+#set -x
+#VERBOSE=-vvvv
+
 DB=${PWD}/.debuginfod_tmp.sqlite
 tempfiles $DB
 export DEBUGINFOD_CACHE_PATH=${PWD}/.client_cache
 
 PID1=0
 PID2=0
+PID3=0
 
 cleanup()
 {
   if [ $PID1 -ne 0 ]; then kill $PID1; wait $PID1; fi
   if [ $PID2 -ne 0 ]; then kill $PID2; wait $PID2; fi
+  if [ $PID3 -ne 0 ]; then kill $PID3; wait $PID3; fi
 
-  rm -rf F R L ${PWD}/.client_cache*
+  rm -rf F R D L Z ${PWD}/foobar ${PWD}/mocktree ${PWD}/.client_cache* ${PWD}/tmp*
   exit_cleanup
 }
 
@@ -52,8 +64,8 @@
 # So we gather the LD_LIBRARY_PATH with this cunning trick:
 ldpath=`testrun sh -c 'echo $LD_LIBRARY_PATH'`
 
-mkdir F R L
-# not tempfiles F R L - they are directories which we clean up manually
+mkdir F R L D Z
+# not tempfiles F R L D Z - they are directories which we clean up manually
 ln -s ${abs_builddir}/dwfllines L/foo   # any program not used elsewhere in this test
 
 wait_ready()
@@ -77,13 +89,20 @@
   done;
 
   if [ $timeout -eq 0 ]; then
-    echo "metric $what never changed to $value on port $port"
+      echo "metric $what never changed to $value on port $port"
+      curl -s http://127.0.0.1:$port/metrics
     exit 1;
   fi
 }
 
-env LD_LIBRARY_PATH=$ldpath DEBUGINFOD_URLS= ${abs_builddir}/../debuginfod/debuginfod -F -R -d $DB -p $PORT1 -t0 -g0 R F L &
+# create a bogus .rpm file to evoke a metric-visible error
+# Use a cyclic symlink instead of chmod 000 to make sure even root
+# would see an error (running the testsuite under root is NOT encouraged).
+ln -s R/nothing.rpm R/nothing.rpm
+
+env LD_LIBRARY_PATH=$ldpath DEBUGINFOD_URLS= ${abs_builddir}/../debuginfod/debuginfod $VERBOSE -F -R -d $DB -p $PORT1 -t0 -g0 --fdcache-fds 1 --fdcache-mbs 2 --fdcache-mintmp 0 -Z .tar.xz -Z .tar.bz2=bzcat -v R F Z L > vlog4 2>&1 &
 PID1=$!
+tempfiles vlog4
 # Server must become ready
 wait_ready $PORT1 'ready' 1
 export DEBUGINFOD_URLS=http://127.0.0.1:$PORT1/   # or without trailing /
@@ -101,16 +120,21 @@
 # cannot find it without debuginfod.
 echo "int main() { return 0; }" > ${PWD}/prog.c
 tempfiles prog.c
-gcc -g -o prog ${PWD}/prog.c
- ${abs_top_builddir}/src/strip -g -f prog.debug ${PWD}/prog
+# Create a subdirectory to confound source path names
+mkdir foobar
+gcc -Wl,--build-id -g -o prog ${PWD}/foobar///./../prog.c
+testrun ${abs_top_builddir}/src/strip -g -f prog.debug ${PWD}/prog
 BUILDID=`env LD_LIBRARY_PATH=$ldpath ${abs_builddir}/../src/readelf \
           -a prog | grep 'Build ID' | cut -d ' ' -f 7`
 
+wait_ready $PORT1 'thread_work_total{role="traverse"}' 1
 mv prog F
 mv prog.debug F
 kill -USR1 $PID1
 # Wait till both files are in the index.
-wait_ready $PORT1 'thread_work_total{file="F"}' 2
+wait_ready $PORT1 'thread_work_total{role="traverse"}' 2
+wait_ready $PORT1 'thread_work_pending{role="scan"}' 0
+wait_ready $PORT1 'thread_busy{role="scan"}' 0
 
 ########################################################################
 
@@ -125,12 +149,62 @@
 filename=`testrun ${abs_top_builddir}/debuginfod/debuginfod-find debuginfo $BUILDID`
 cmp $filename F/prog.debug
 
-filename=`testrun ${abs_top_builddir}/debuginfod/debuginfod-find executable $BUILDID`
+filename=`testrun ${abs_top_builddir}/debuginfod/debuginfod-find executable F/prog`
 cmp $filename F/prog
 
+# raw source filename
+filename=`testrun ${abs_top_builddir}/debuginfod/debuginfod-find source $BUILDID ${PWD}/foobar///./../prog.c`
+cmp $filename  ${PWD}/prog.c
+
+# and also the canonicalized one
 filename=`testrun ${abs_top_builddir}/debuginfod/debuginfod-find source $BUILDID ${PWD}/prog.c`
 cmp $filename  ${PWD}/prog.c
 
+
+########################################################################
+
+# Test whether the cache default locations are correct
+
+mkdir tmphome
+
+# $HOME/.cache should be created.
+testrun env HOME=$PWD/tmphome XDG_CACHE_HOME= DEBUGINFOD_CACHE_PATH= ${abs_top_builddir}/debuginfod/debuginfod-find debuginfo $BUILDID
+if [ ! -f $PWD/tmphome/.cache/debuginfod_client/$BUILDID/debuginfo ]; then
+  echo "could not find cache in $PWD/tmphome/.cache"
+  exit 1
+fi
+
+# $HOME/.cache should be found.
+testrun env HOME=$PWD/tmphome XDG_CACHE_HOME= DEBUGINFOD_CACHE_PATH= ${abs_top_builddir}/debuginfod/debuginfod-find executable $BUILDID
+if [ ! -f $PWD/tmphome/.cache/debuginfod_client/$BUILDID/executable ]; then
+  echo "could not find cache in $PWD/tmphome/.cache"
+  exit 1
+fi
+
+# $XDG_CACHE_HOME should take priority over $HOME.cache.
+testrun env HOME=$PWD/tmphome XDG_CACHE_HOME=$PWD/tmpxdg DEBUGINFOD_CACHE_PATH= ${abs_top_builddir}/debuginfod/debuginfod-find debuginfo $BUILDID
+if [ ! -f $PWD/tmpxdg/debuginfod_client/$BUILDID/debuginfo ]; then
+  echo "could not find cache in $PWD/tmpxdg/"
+  exit 1
+fi
+
+# A cache at the old default location ($HOME/.debuginfod_client_cache) should take
+# priority over $HOME/.cache, $XDG_CACHE_HOME.
+cp -r $DEBUGINFOD_CACHE_PATH tmphome/.debuginfod_client_cache
+
+# Add a file that doesn't exist in $HOME/.cache, $XDG_CACHE_HOME.
+mkdir tmphome/.debuginfod_client_cache/deadbeef
+echo ELF... > tmphome/.debuginfod_client_cache/deadbeef/debuginfo
+filename=`testrun env HOME=$PWD/tmphome XDG_CACHE_HOME=$PWD/tmpxdg DEBUGINFOD_CACHE_PATH= ${abs_top_builddir}/debuginfod/debuginfod-find debuginfo deadbeef`
+cmp $filename tmphome/.debuginfod_client_cache/deadbeef/debuginfo
+
+# $DEBUGINFO_CACHE_PATH should take priority over all else.
+testrun env HOME=$PWD/tmphome XDG_CACHE_HOME=$PWD/tmpxdg DEBUGINFOD_CACHE_PATH=$PWD/tmpcache ${abs_top_builddir}/debuginfod/debuginfod-find debuginfo $BUILDID
+if [ ! -f $PWD/tmpcache/$BUILDID/debuginfo ]; then
+  echo "could not find cache in $PWD/tmpcache/"
+  exit 1
+fi
+
 ########################################################################
 
 # Add artifacts to the search paths and test whether debuginfod finds them while already running.
@@ -138,31 +212,46 @@
 # Build another, non-stripped binary
 echo "int main() { return 0; }" > ${PWD}/prog2.c
 tempfiles prog2.c
-gcc -g -o prog2 ${PWD}/prog2.c
+gcc -Wl,--build-id -g -o prog2 ${PWD}/prog2.c
 BUILDID2=`env LD_LIBRARY_PATH=$ldpath ${abs_builddir}/../src/readelf \
           -a prog2 | grep 'Build ID' | cut -d ' ' -f 7`
 
 mv prog2 F
 kill -USR1 $PID1
 # Now there should be 3 files in the index
-wait_ready $PORT1 'thread_work_total{file="F"}' 3
+wait_ready $PORT1 'thread_work_total{role="traverse"}' 3
+wait_ready $PORT1 'thread_work_pending{role="scan"}' 0
+wait_ready $PORT1 'thread_busy{role="scan"}' 0
 
 # Rerun same tests for the prog2 binary
 filename=`testrun ${abs_top_builddir}/debuginfod/debuginfod-find -v debuginfo $BUILDID2 2>vlog`
 cmp $filename F/prog2
 cat vlog
 grep -q Progress vlog
+grep -q Downloaded.from vlog
 tempfiles vlog
-filename=`testrun ${abs_top_builddir}/debuginfod/debuginfod-find executable $BUILDID2`
+filename=`testrun env DEBUGINFOD_PROGRESS=1 ${abs_top_builddir}/debuginfod/debuginfod-find executable $BUILDID2 2>vlog2`
 cmp $filename F/prog2
+cat vlog2
+grep -q 'Downloading.*http' vlog2
+tempfiles vlog2
 filename=`testrun ${abs_top_builddir}/debuginfod/debuginfod-find source $BUILDID2 ${PWD}/prog2.c`
 cmp $filename ${PWD}/prog2.c
 
-cp -rp ${abs_srcdir}/debuginfod-rpms R
+cp -rvp ${abs_srcdir}/debuginfod-rpms R
+if [ "$zstd" = "false" ]; then  # nuke the zstd fedora 31 ones
+    rm -vrf R/debuginfod-rpms/fedora31
+fi
+
+cp -rvp ${abs_srcdir}/debuginfod-tars Z
 kill -USR1 $PID1
-# All rpms need to be in the index
-rpms=$(find R -name \*rpm | wc -l)
-wait_ready $PORT1 'scanned_total{source="rpm"}' $rpms
+# All rpms need to be in the index, except the dummy permission-000 one
+rpms=$(find R -name \*rpm | grep -v nothing | wc -l)
+wait_ready $PORT1 'scanned_files_total{source=".rpm archive"}' $rpms
+txz=$(find Z -name \*tar.xz | wc -l)
+wait_ready $PORT1 'scanned_files_total{source=".tar.xz archive"}' $txz
+tb2=$(find Z -name \*tar.bz2 | wc -l)
+wait_ready $PORT1 'scanned_files_total{source=".tar.bz2 archive"}' $tb2
 
 kill -USR1 $PID1  # two hits of SIGUSR1 may be needed to resolve .debug->dwz->srefs
 # Expect all source files found in the rpms (they are all called hello.c :)
@@ -171,13 +260,13 @@
 mkdir extracted
 cd extracted
 subdir=0;
-newrpms=$(find ../R -name \*\.rpm)
+newrpms=$(find ../R -name \*\.rpm | grep -v nothing)
 for i in $newrpms; do
     subdir=$[$subdir+1];
     mkdir $subdir;
     cd $subdir;
     ls -lah ../$i
-    rpm2cpio ../$i | cpio -id;
+    rpm2cpio ../$i | cpio -ivd;
     cd ..;
 done
 sourcefiles=$(find -name \*\\.debug \
@@ -187,11 +276,11 @@
 cd ..
 rm -rf extracted
 
-wait_ready $PORT1 'found_sourcerefs_total{source="rpm"}' $sourcefiles
+wait_ready $PORT1 'found_sourcerefs_total{source=".rpm archive"}' $sourcefiles
 
-# Run a bank of queries against the debuginfod-rpms test cases
+# Run a bank of queries against the debuginfod-rpms / debuginfod-debs test cases
 
-rpm_test() {
+archive_test() {
     __BUILDID=$1
     __SOURCEPATH=$2
     __SOURCESHA1=$3
@@ -200,29 +289,51 @@
     buildid=`env LD_LIBRARY_PATH=$ldpath ${abs_builddir}/../src/readelf \
              -a $filename | grep 'Build ID' | cut -d ' ' -f 7`
     test $__BUILDID = $buildid
+    # check that timestamps are plausible - older than the near-present (tmpdir mtime)
+    test $filename -ot `pwd`
+
+    # run again to assure that fdcache is being enjoyed
+    filename=`testrun ${abs_top_builddir}/debuginfod/debuginfod-find executable $__BUILDID`
+    buildid=`env LD_LIBRARY_PATH=$ldpath ${abs_builddir}/../src/readelf \
+             -a $filename | grep 'Build ID' | cut -d ' ' -f 7`
+    test $__BUILDID = $buildid
+    test $filename -ot `pwd`
 
     filename=`testrun ${abs_top_builddir}/debuginfod/debuginfod-find debuginfo $__BUILDID`
     buildid=`env LD_LIBRARY_PATH=$ldpath ${abs_builddir}/../src/readelf \
              -a $filename | grep 'Build ID' | cut -d ' ' -f 7`
     test $__BUILDID = $buildid
-    
-    filename=`testrun ${abs_top_builddir}/debuginfod/debuginfod-find source $__BUILDID $__SOURCEPATH`
-    hash=`cat $filename | sha1sum | awk '{print $1}'`
-    test $__SOURCESHA1 = $hash
+    test $filename -ot `pwd`
+
+    if test "x$__SOURCEPATH" != "x"; then
+        filename=`testrun ${abs_top_builddir}/debuginfod/debuginfod-find source $__BUILDID $__SOURCEPATH`
+        hash=`cat $filename | sha1sum | awk '{print $1}'`
+        test $__SOURCESHA1 = $hash
+        test $filename -ot `pwd`
+    fi
 }
 
 
 # common source file sha1
 SHA=f4a1a8062be998ae93b8f1cd744a398c6de6dbb1
+# fedora31
+if [ $zstd = true ]; then
+    # fedora31 uses zstd compression on rpms, older rpm2cpio/libarchive can't handle it
+    # and we're not using the fancy -Z '.rpm=(rpm2cpio|zstdcat)<' workaround in this testsuite
+    archive_test 420e9e3308971f4b817cc5bf83928b41a6909d88 /usr/src/debug/hello3-1.0-2.x86_64/foobar////./../hello.c $SHA
+    archive_test 87c08d12c78174f1082b7c888b3238219b0eb265 /usr/src/debug/hello3-1.0-2.x86_64///foobar/./..//hello.c $SHA
+fi
 # fedora30
-rpm_test c36708a78618d597dee15d0dc989f093ca5f9120 /usr/src/debug/hello2-1.0-2.x86_64/hello.c $SHA
-rpm_test 41a236eb667c362a1c4196018cc4581e09722b1b /usr/src/debug/hello2-1.0-2.x86_64/hello.c $SHA
+archive_test c36708a78618d597dee15d0dc989f093ca5f9120 /usr/src/debug/hello2-1.0-2.x86_64/hello.c $SHA
+archive_test 41a236eb667c362a1c4196018cc4581e09722b1b /usr/src/debug/hello2-1.0-2.x86_64/hello.c $SHA
 # rhel7
-rpm_test bc1febfd03ca05e030f0d205f7659db29f8a4b30 /usr/src/debug/hello-1.0/hello.c $SHA
-rpm_test f0aa15b8aba4f3c28cac3c2a73801fefa644a9f2 /usr/src/debug/hello-1.0/hello.c $SHA
+archive_test bc1febfd03ca05e030f0d205f7659db29f8a4b30 /usr/src/debug/hello-1.0/hello.c $SHA
+archive_test f0aa15b8aba4f3c28cac3c2a73801fefa644a9f2 /usr/src/debug/hello-1.0/hello.c $SHA
 # rhel6
-rpm_test bbbf92ebee5228310e398609c23c2d7d53f6e2f9 /usr/src/debug/hello-1.0/hello.c $SHA
-rpm_test d44d42cbd7d915bc938c81333a21e355a6022fb7 /usr/src/debug/hello-1.0/hello.c $SHA
+archive_test bbbf92ebee5228310e398609c23c2d7d53f6e2f9 /usr/src/debug/hello-1.0/hello.c $SHA
+archive_test d44d42cbd7d915bc938c81333a21e355a6022fb7 /usr/src/debug/hello-1.0/hello.c $SHA
+# arch
+archive_test cee13b2ea505a7f37bd20d271c6bc7e5f8d2dfcb /usr/src/debug/hello.c 7a1334e086b97e5f124003a6cfb3ed792d10cdf4
 
 RPM_BUILDID=d44d42cbd7d915bc938c81333a21e355a6022fb7 # in rhel6/ subdir, for a later test
 
@@ -235,6 +346,8 @@
 rm -r R/debuginfod-rpms/rhel6/*
 kill -USR2 $PID1  # groom cycle
 # Expect 3 rpms to be deleted by the groom
+# 1 groom cycle already took place at/soon-after startup, so -USR2 makes 2
+wait_ready $PORT1 'thread_work_total{role="groom"}' 2
 wait_ready $PORT1 'groom{statistic="file d/e"}' 3
 
 rm -rf $DEBUGINFOD_CACHE_PATH # clean it from previous tests
@@ -245,6 +358,38 @@
 
 ########################################################################
 
+# PR26810: Now rename some files in the R directory, then rescan, so
+# there are two copies of the same buildid in the index, one for the
+# no-longer-existing file name, and one under the new name.
+
+# run a groom cycle to force server to drop its fdcache
+kill -USR2 $PID1  # groom cycle
+wait_ready $PORT1 'thread_work_total{role="groom"}' 3
+# move it around a couple of times to make it likely to hit a nonexistent entry during iteration
+mv R/debuginfod-rpms/rhel7 R/debuginfod-rpms/rhel7renamed
+kill -USR1 $PID1  # scan cycle
+wait_ready $PORT1 'thread_work_total{role="traverse"}' 6
+wait_ready $PORT1 'thread_work_pending{role="scan"}' 0
+wait_ready $PORT1 'thread_busy{role="scan"}' 0
+mv R/debuginfod-rpms/rhel7renamed R/debuginfod-rpms/rhel7renamed2
+kill -USR1 $PID1  # scan cycle
+wait_ready $PORT1 'thread_work_total{role="traverse"}' 7
+wait_ready $PORT1 'thread_work_pending{role="scan"}' 0
+wait_ready $PORT1 'thread_busy{role="scan"}' 0
+mv R/debuginfod-rpms/rhel7renamed2 R/debuginfod-rpms/rhel7renamed3
+kill -USR1 $PID1  # scan cycle
+wait_ready $PORT1 'thread_work_total{role="traverse"}' 8
+wait_ready $PORT1 'thread_work_pending{role="scan"}' 0
+wait_ready $PORT1 'thread_busy{role="scan"}' 0
+
+# retest rhel7
+archive_test bc1febfd03ca05e030f0d205f7659db29f8a4b30 /usr/src/debug/hello-1.0/hello.c $SHA
+archive_test f0aa15b8aba4f3c28cac3c2a73801fefa644a9f2 /usr/src/debug/hello-1.0/hello.c $SHA
+
+egrep '(libc.error.*rhel7)|(bc1febfd03ca)|(f0aa15b8aba)' vlog4
+
+########################################################################
+
 # Federation mode
 
 # find another unused port
@@ -257,16 +402,46 @@
 mkdir -p $DEBUGINFOD_CACHE_PATH
 # NB: inherits the DEBUGINFOD_URLS to the first server
 # NB: run in -L symlink-following mode for the L subdir
-env LD_LIBRARY_PATH=$ldpath ${abs_builddir}/../debuginfod/debuginfod -F -d ${DB}_2 -p $PORT2 -L L &
+env LD_LIBRARY_PATH=$ldpath ${abs_builddir}/../debuginfod/debuginfod $VERBOSE -F -U -d ${DB}_2 -p $PORT2 -L L D > vlog3 2>&1 &
 PID2=$!
+tempfiles vlog3
 tempfiles ${DB}_2
 wait_ready $PORT2 'ready' 1
+wait_ready $PORT2 'thread_work_total{role="traverse"}' 1
+wait_ready $PORT2 'thread_work_pending{role="scan"}' 0
+wait_ready $PORT2 'thread_busy{role="scan"}' 0
+
+wait_ready $PORT2 'thread_busy{role="http-buildid"}' 0
+wait_ready $PORT2 'thread_busy{role="http-metrics"}' 1
 
 # have clients contact the new server
 export DEBUGINFOD_URLS=http://127.0.0.1:$PORT2
+
+if type bsdtar 2>/dev/null; then
+    # copy in the deb files
+    cp -rvp ${abs_srcdir}/debuginfod-debs/*deb D
+    kill -USR1 $PID2
+    # All debs need to be in the index
+    debs=$(find D -name \*.deb | wc -l)
+    wait_ready $PORT2 'scanned_files_total{source=".deb archive"}' `expr $debs`
+    ddebs=$(find D -name \*.ddeb | wc -l)
+    wait_ready $PORT2 'scanned_files_total{source=".ddeb archive"}' `expr $ddebs`
+
+    # ubuntu
+    archive_test f17a29b5a25bd4960531d82aa6b07c8abe84fa66 "" ""
+fi
+
 rm -rf $DEBUGINFOD_CACHE_PATH
 testrun ${abs_top_builddir}/debuginfod/debuginfod-find debuginfo $BUILDID
 
+# send a request to stress XFF and User-Agent federation relay;
+# we'll grep for the two patterns in vlog4
+curl -s -H 'User-Agent: TESTCURL' -H 'X-Forwarded-For: TESTXFF' $DEBUGINFOD_URLS/buildid/deaddeadbeef00000000/debuginfo -o /dev/null || true
+
+grep UA:TESTCURL vlog4
+grep XFF:TESTXFF vlog4
+
+
 # confirm that first server can't resolve symlinked info in L/ but second can
 BUILDID=`env LD_LIBRARY_PATH=$ldpath ${abs_builddir}/../src/readelf \
          -a L/foo | grep 'Build ID' | cut -d ' ' -f 7`
@@ -278,6 +453,12 @@
 export DEBUGINFOD_URLS=http://127.0.0.1:$PORT2
 testrun ${abs_top_builddir}/debuginfod/debuginfod-find debuginfo $BUILDID
 
+# test again with scheme free url
+export DEBUGINFOD_URLS=127.0.0.1:$PORT1
+rm -rf $DEBUGINFOD_CACHE_PATH
+testrun ${abs_top_builddir}/debuginfod/debuginfod-find debuginfo $BUILDID && false || true
+export DEBUGINFOD_URLS=127.0.0.1:$PORT2
+testrun ${abs_top_builddir}/debuginfod/debuginfod-find debuginfo $BUILDID
 
 # test parallel queries in client
 export DEBUGINFOD_CACHE_PATH=${PWD}/.client_cache3
@@ -288,14 +469,42 @@
 
 ########################################################################
 
-# Fetch some metrics, if curl program is installed
-if type curl 2>/dev/null; then
-    curl http://127.0.0.1:$PORT1/badapi
-    curl http://127.0.0.1:$PORT1/metrics
-    curl http://127.0.0.1:$PORT2/metrics
-    curl http://127.0.0.1:$PORT1/metrics | grep -q 'http_responses_total.*result.*error'
-    curl http://127.0.0.1:$PORT2/metrics | grep -q 'http_responses_total.*result.*upstream'
-fi
+# Fetch some metrics
+curl -s http://127.0.0.1:$PORT1/badapi
+curl -s http://127.0.0.1:$PORT1/metrics
+curl -s http://127.0.0.1:$PORT2/metrics
+curl -s http://127.0.0.1:$PORT1/metrics | grep -q 'http_responses_total.*result.*error'
+curl -s http://127.0.0.1:$PORT1/metrics | grep -q 'http_responses_total.*result.*fdcache'
+curl -s http://127.0.0.1:$PORT2/metrics | grep -q 'http_responses_total.*result.*upstream'
+curl -s http://127.0.0.1:$PORT1/metrics | grep 'http_responses_duration_milliseconds_count'
+curl -s http://127.0.0.1:$PORT1/metrics | grep 'http_responses_duration_milliseconds_sum'
+curl -s http://127.0.0.1:$PORT1/metrics | grep 'http_responses_transfer_bytes_count'
+curl -s http://127.0.0.1:$PORT1/metrics | grep 'http_responses_transfer_bytes_sum'
+curl -s http://127.0.0.1:$PORT1/metrics | grep 'fdcache_'
+curl -s http://127.0.0.1:$PORT1/metrics | grep 'error_count'
+curl -s http://127.0.0.1:$PORT1/metrics | grep 'traversed_total'
+curl -s http://127.0.0.1:$PORT1/metrics | grep 'scanned_bytes_total'
+
+# And generate a few errors into the second debuginfod's logs, for analysis just below
+curl -s http://127.0.0.1:$PORT2/badapi > /dev/null || true
+curl -s http://127.0.0.1:$PORT2/buildid/deadbeef/debuginfo > /dev/null || true
+
+
+########################################################################
+# Corrupt the sqlite database and get debuginfod to trip across its errors
+curl -s http://127.0.0.1:$PORT1/metrics | grep 'sqlite3.*reset'
+ls -al $DB
+dd if=/dev/zero of=$DB bs=1 count=1
+ls -al $DB
+# trigger some random activity that's Sure to get sqlite3 upset
+kill -USR1 $PID1
+wait_ready $PORT1 'thread_work_total{role="traverse"}' 9
+wait_ready $PORT1 'thread_work_pending{role="scan"}' 0
+wait_ready $PORT1 'thread_busy{role="scan"}' 0
+kill -USR2 $PID1
+wait_ready $PORT1 'thread_work_total{role="groom"}' 4
+curl -s http://127.0.0.1:$PORT1/buildid/beefbeefbeefd00dd00d/debuginfo > /dev/null || true
+curl -s http://127.0.0.1:$PORT1/metrics | grep 'error_count.*sqlite'
 
 ########################################################################
 
@@ -310,8 +519,21 @@
 
 testrun ${abs_builddir}/debuginfod_build_id_find -e F/prog2 1
 
+# check out the debuginfod logs for the new style status lines
+# cat vlog3
+grep -q 'UA:.*XFF:.*GET /buildid/.* 200 ' vlog3
+grep -q 'UA:.*XFF:.*GET /metrics 200 ' vlog3
+grep -q 'UA:.*XFF:.*GET /badapi 503 ' vlog3
+grep -q 'UA:.*XFF:.*GET /buildid/deadbeef.* 404 ' vlog3
+
 ########################################################################
 
+# Add some files to the cache that do not fit its naming format.
+# They should survive cache cleaning.
+mkdir $DEBUGINFOD_CACHE_PATH/malformed
+touch $DEBUGINFOD_CACHE_PATH/malformed0
+touch $DEBUGINFOD_CACHE_PATH/malformed/malformed1
+
 # Trigger a cache clean and run the tests again. The clients should be unable to
 # find the target.
 echo 0 > $DEBUGINFOD_CACHE_PATH/cache_clean_interval_s
@@ -321,4 +543,36 @@
 
 testrun ${abs_top_builddir}/debuginfod/debuginfod-find debuginfo $BUILDID2 && false || true
 
+if [ ! -f $DEBUGINFOD_CACHE_PATH/malformed0 ] \
+    || [ ! -f $DEBUGINFOD_CACHE_PATH/malformed/malformed1 ]; then
+  echo "unrelated files did not survive cache cleaning"
+  exit 1
+fi
+
+# Test debuginfod without a path list; reuse $PORT1
+env LD_LIBRARY_PATH=$ldpath ${abs_builddir}/../debuginfod/debuginfod $VERBOSE -F -U -d :memory: -p $PORT1 -L -F &
+PID3=$!
+wait_ready $PORT1 'thread_work_total{role="traverse"}' 1
+wait_ready $PORT1 'thread_work_pending{role="scan"}' 0
+wait_ready $PORT1 'thread_busy{role="scan"}' 0
+kill -int $PID3
+wait $PID3
+PID3=0
+
+########################################################################
+# Test fetching a file using file:// . No debuginfod server needs to be run for
+# this test.
+local_dir=${PWD}/mocktree/buildid/aaaaaaaaaabbbbbbbbbbccccccccccdddddddddd/source/my/path
+mkdir -p ${local_dir}
+echo "int main() { return 0; }" > ${local_dir}/main.c
+
+# first test that is doesn't work, when no DEBUGINFOD_URLS is set
+DEBUGINFOD_URLS=""
+testrun ${abs_top_builddir}/debuginfod/debuginfod-find source aaaaaaaaaabbbbbbbbbbccccccccccdddddddddd /my/path/main.c && false || true
+
+# Now test is with proper DEBUGINFOD_URLS
+DEBUGINFOD_URLS="file://${PWD}/mocktree/"
+filename=`testrun ${abs_top_builddir}/debuginfod/debuginfod-find source aaaaaaaaaabbbbbbbbbbccccccccccdddddddddd /my/path/main.c`
+cmp $filename ${local_dir}/main.c
+
 exit 0
diff --git a/tests/run-deleted.sh b/tests/run-deleted.sh
index 0f64762..a1ec1ec 100755
--- a/tests/run-deleted.sh
+++ b/tests/run-deleted.sh
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /usr/bin/env bash
 # Copyright (C) 2014 Red Hat, Inc.
 # This file is part of elfutils.
 #
diff --git a/tests/run-disasm-x86-64.sh b/tests/run-disasm-x86-64.sh
index a6be62b..07b612b 100755
--- a/tests/run-disasm-x86-64.sh
+++ b/tests/run-disasm-x86-64.sh
@@ -22,7 +22,7 @@
   x86_64)
     tempfiles testfile45.o
     testfiles testfile45.S testfile45.expect
-    gcc -m64 -c -o testfile45.o testfile45.S
+    ${CC} -m64 -c -o testfile45.o testfile45.S
     testrun_compare ${abs_top_builddir}/src/objdump -d testfile45.o < testfile45.expect
     ;;
 esac
diff --git a/tests/run-disasm-x86.sh b/tests/run-disasm-x86.sh
index 28a3df7..7ac73ad 100755
--- a/tests/run-disasm-x86.sh
+++ b/tests/run-disasm-x86.sh
@@ -22,7 +22,7 @@
   x86_64 | i?86 )
     tempfiles testfile44.o
     testfiles testfile44.S testfile44.expect
-    gcc -m32 -c -o testfile44.o testfile44.S
+    ${CC} -m32 -c -o testfile44.o testfile44.S
     testrun_compare ${abs_top_builddir}/src/objdump -d testfile44.o < testfile44.expect
     ;;
 esac
diff --git a/tests/run-dwelf_elf_e_machine_string.sh b/tests/run-dwelf_elf_e_machine_string.sh
index ba6d0e6..658f229 100755
--- a/tests/run-dwelf_elf_e_machine_string.sh
+++ b/tests/run-dwelf_elf_e_machine_string.sh
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /usr/bin/env bash
 # Test to make sure all EM values in elf.h are recognized
 # Copyright (C) 2019 Red Hat, Inc.
 # This file is part of elfutils.
diff --git a/tests/run-elfclassify.sh b/tests/run-elfclassify.sh
index 5a849bb..fb14139 100755
--- a/tests/run-elfclassify.sh
+++ b/tests/run-elfclassify.sh
@@ -267,7 +267,7 @@
 EOF
 
 echo "gnu compressed kmods are unstripped"
-${abs_top_builddir}/src/elfcompress -t gnu --force $kmod_files
+testrun ${abs_top_builddir}/src/elfcompress -t gnu --force $kmod_files
 testrun ${abs_top_builddir}/src/elfclassify --unstripped $kmod_files
 testrun_compare ${abs_top_builddir}/src/elfclassify --unstripped --print $kmod_files <<EOF
 $(echo $kmod_files | sed -e "s/ /\n/g")
@@ -312,7 +312,7 @@
 EOF
 
 echo "compress the debug sections and try again"
-${abs_top_builddir}/src/elfcompress -t gnu --force $debug_files
+testrun ${abs_top_builddir}/src/elfcompress -t gnu --force $debug_files
 
 echo "again unstripped"
 testrun ${abs_top_builddir}/src/elfclassify --unstripped $debug_files
diff --git a/tests/run-getphdrnum.sh b/tests/run-getphdrnum.sh
new file mode 100755
index 0000000..889cdaf
--- /dev/null
+++ b/tests/run-getphdrnum.sh
@@ -0,0 +1,137 @@
+#! /bin/sh
+
+# testfile-phdrs.elf generated with python3 script
+# import struct
+# import sys
+# 
+# phnum = 66000
+# 
+# sys.stdout.buffer.write(
+#     struct.pack(
+#         "<16BHHIQQQIHHHHHH",
+#         # EI_MAG
+#         *b"\x7fELF",
+#         # EI_CLASS = ELFCLASS64
+#         2,
+#         # EI_DATA = ELFDATA2LSB
+#         1,
+#         # EI_VERSION
+#         1,
+#         # EI_OSABI = ELFOSABI_SYSV
+#         0,
+#         # EI_ABIVERSION
+#         0,
+#         # EI_PAD
+#         *bytes(7),
+#         # e_type = ET_CORE
+#         4,
+#         # e_machine = EM_X86_64
+#         62,
+#         # e_version
+#         1,
+#         # e_entry
+#         0,
+#         # e_phoff = sizeof(Elf64_Ehdr) + sizeof(Elf64_Shdr)
+#         128,
+#         # e_shoff = sizeof(Elf64_Ehdr)
+#         64,
+#         # e_flags
+#         0,
+#         # e_ehsize
+#         64,
+#         # e_phentsize
+#         56,
+#         # e_phnum = PN_XNUM
+#         0xFFFF,
+#         # e_shentsize
+#         64,
+#         # e_shnum
+#         1,
+#         # e_shstrndx
+#         0,
+#     )
+# )
+# 
+# sys.stdout.buffer.write(
+#     struct.pack(
+#         "<IIQQQQIIQQ",
+#         # sh_name
+#         0,
+#         # sh_type = SHT_NULL
+#         0,
+#         # sh_flags
+#         0,
+#         # sh_addr
+#         0,
+#         # sh_offset
+#         0,
+#         # sh_size
+#         0,
+#         # sh_link
+#         0,
+#         # sh_info
+#         phnum,
+#         # sh_addralign
+#         0,
+#         # sh_entsize
+#         0,
+#     )
+# )
+# 
+# for i in range(phnum):
+#     sys.stdout.buffer.write(
+#         struct.pack(
+#             "<IIQQQQQQ",
+#             # p_type = PT_LOAD
+#             1,
+#             # p_flags = PF_X|PF_W|PF_R
+#             0x7,
+#             # p_offset
+#             0,
+#             # p_vaddr
+#             # i * 4096,
+#             4096,
+#             # p_paddr
+#             0,
+#             # p_filesz
+#             0,
+#             # p_memsz
+#             4096,
+#             # p_align
+#             0,
+#         )
+#     )
+
+. $srcdir/test-subr.sh
+
+testfiles testfile-phdrs.elf
+
+testrun_compare ${abs_top_builddir}/src/readelf -h testfile-phdrs.elf<<\EOF
+ELF Header:
+  Magic:   7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
+  Class:                             ELF64
+  Data:                              2's complement, little endian
+  Ident Version:                     1 (current)
+  OS/ABI:                            UNIX - System V
+  ABI Version:                       0
+  Type:                              CORE (Core file)
+  Machine:                           AMD x86-64
+  Version:                           1 (current)
+  Entry point address:               0
+  Start of program headers:          128 (bytes into file)
+  Start of section headers:          64 (bytes into file)
+  Flags:                             
+  Size of this header:               64 (bytes)
+  Size of program header entries:    56 (bytes)
+  Number of program headers entries: 65535 (66000 in [0].sh_info)
+  Size of section header entries:    64 (bytes)
+  Number of section headers entries: 1
+  Section header string table index: 0
+
+EOF
+
+testrun_compare ${abs_builddir}/getphdrnum testfile-phdrs.elf<<\EOF
+66000
+EOF
+
+exit 0
diff --git a/tests/run-large-elf-file.sh b/tests/run-large-elf-file.sh
index cbe3061..667d24d 100755
--- a/tests/run-large-elf-file.sh
+++ b/tests/run-large-elf-file.sh
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /usr/bin/env bash
 # Copyright (C) 2019 Red Hat, Inc.
 # This file is part of elfutils.
 #
diff --git a/tests/run-lfs-symbols.sh b/tests/run-lfs-symbols.sh
index f089440..762a5d9 100755
--- a/tests/run-lfs-symbols.sh
+++ b/tests/run-lfs-symbols.sh
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /usr/bin/env bash
 # Copyright (C) 2015 Red Hat, Inc.
 # This file is part of elfutils.
 #
@@ -18,7 +18,7 @@
 . $srcdir/test-subr.sh
 
 if ! grep -q -F '#define _FILE_OFFSET_BITS' ${abs_top_builddir}/config.h; then
-  echo "LFS testing is irrelevent on this system"
+  echo "LFS testing is irrelevant on this system"
   exit 77
 fi
 
@@ -46,41 +46,44 @@
 }
 
 testrun_lfs() {
-  bad=$(testrun ${abs_top_builddir}/src/nm -u "$1" | awk "$LFS")
-  if [ -n "$bad" ]; then
-    echo "$1 contains non-lfs symbols:" $bad
+  echo "checking $1"
+  if [ -e "$1" ]; then
+    bad=$(testrun ${abs_top_builddir}/src/nm -u "$1" | awk "$LFS")
+    if [ -n "$bad" ]; then
+      echo "$1 contains non-lfs symbols:" $bad
+      exit_status=1
+    fi
+  else
+    echo "$1 doesn't exist"
     exit_status=1
   fi
 }
 
-# First sanity-check that LFS detection works.
+echo First sanity-check that LFS detection works.
 exit_status=0
 testrun_lfs ./testfile-nolfs
 if [ $exit_status -eq 0 ]; then
   echo "Didn't detect any problem with testfile-nolfs!"
   exit 99
 fi
+echo
 
 exit_status=0
 
-# Check all normal build targets.
+echo Check all normal build targets.
 for dir in libelf libdw libasm libcpu src; do
   dir=${abs_top_builddir}/$dir
   for program in $(makeprint PROGRAMS $dir); do
     testrun_lfs $dir/$program
   done
 done
+echo
 
-# Check all libebl modules.
-dir=${abs_top_builddir}/backends
-for module in $(makeprint modules $dir); do
-  testrun_lfs $dir/libebl_$module.so
-done
-
-# Check all test programs.
+echo Check all test programs.
 dir=${abs_builddir}
 for program in $(makeprint check_PROGRAMS $dir); do
   testrun_lfs $dir/$program
 done
+echo
 
 exit $exit_status
diff --git a/tests/run-linkmap-cut.sh b/tests/run-linkmap-cut.sh
index de2bc7c..053b96d 100755
--- a/tests/run-linkmap-cut.sh
+++ b/tests/run-linkmap-cut.sh
@@ -1,4 +1,4 @@
-#! /bin/bash
+#! /usr/bin/env bash
 # Copyright (C) 2014 Red Hat, Inc.
 # This file is part of elfutils.
 #
diff --git a/tests/run-nm-syms.sh b/tests/run-nm-syms.sh
new file mode 100755
index 0000000..ddf0922
--- /dev/null
+++ b/tests/run-nm-syms.sh
@@ -0,0 +1,166 @@
+#! /bin/sh
+# Copyright (C) 2020 Red Hat, Inc.
+# This file is part of elfutils.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+. $srcdir/test-subr.sh
+
+# void *SYM1;
+# void *SYM2 = 0;
+# extern void *SYM3;
+# static void *SYM4;
+#
+# void *SYM6 = &SYM3;
+# static void *SYM7 = &SYM3;
+#
+# void *SYM8 __attribute__((__weak__));
+#
+# void FUN1 (void) { }
+# static void FUN2 (void) { }
+# extern void FUN3 (void);
+#
+# void *FREF = FUN3;
+#
+# void __attribute__((__weak__)) FUN4 (void) { };
+#
+# int NUM0 = 0; __asm__(".type NUM0,%gnu_unique_object");
+# int __thread NUM1 = 1;
+#
+# gcc -m64 -c syms.c -o testfilesyms64
+# gcc -m32 -c syms.c -o testfilesyms32
+
+testfiles testfilesyms32 testfilesyms64
+
+testrun_compare ${abs_top_builddir}/src/nm --format=bsd testfilesyms32 <<\EOF
+00000008 D FREF
+00000000 T FUN1
+00000010 t FUN2
+         U FUN3
+00000020 W FUN4
+00000008 u NUM0
+00000000 D NUM1
+00000004 C SYM1
+00000000 B SYM2
+         U SYM3
+0000000c b SYM4
+00000000 D SYM6
+00000004 d SYM7
+00000004 V SYM8
+         U _GLOBAL_OFFSET_TABLE_
+00000000 T __x86.get_pc_thunk.ax
+EOF
+
+testrun_compare ${abs_top_builddir}/src/nm --format=posix testfilesyms32 <<\EOF
+FREF D 00000008 00000004
+FUN1 T 00000000 00000010
+FUN2 t 00000010 00000010
+FUN3 U
+FUN4 W 00000020 00000010
+NUM0 u 00000008 00000004
+NUM1 D 00000000 00000004
+SYM1 C 00000004 00000004
+SYM2 B 00000000 00000004
+SYM3 U
+SYM4 b 0000000c 00000004
+SYM6 D 00000000 00000004
+SYM7 d 00000004 00000004
+SYM8 V 00000004 00000004
+_GLOBAL_OFFSET_TABLE_ U
+__x86.get_pc_thunk.ax T 00000000 00000000
+EOF
+
+testrun_compare ${abs_top_builddir}/src/nm --format=sysv testfilesyms32 <<\EOF
+
+
+Symbols from testfilesyms32:
+
+Name                  Value    Class  Type     Size     Line Section
+
+FREF                 |00000008|GLOBAL|OBJECT  |00000004|    |.data.rel
+FUN1                 |00000000|GLOBAL|FUNC    |00000010|    |.text
+FUN2                 |00000010|LOCAL |FUNC    |00000010|    |.text
+FUN3                 |        |GLOBAL|NOTYPE  |        |    |UNDEF
+FUN4                 |00000020|WEAK  |FUNC    |00000010|    |.text
+NUM0                 |00000008|UNIQUE|OBJECT  |00000004|    |.bss
+NUM1                 |00000000|GLOBAL|TLS     |00000004|    |.tdata
+SYM1                 |00000004|GLOBAL|OBJECT  |00000004|    |COMMON
+SYM2                 |00000000|GLOBAL|OBJECT  |00000004|    |.bss
+SYM3                 |        |GLOBAL|NOTYPE  |        |    |UNDEF
+SYM4                 |0000000c|LOCAL |OBJECT  |00000004|    |.bss
+SYM6                 |00000000|GLOBAL|OBJECT  |00000004|    |.data.rel
+SYM7                 |00000004|LOCAL |OBJECT  |00000004|    |.data.rel
+SYM8                 |00000004|WEAK  |OBJECT  |00000004|    |.bss
+_GLOBAL_OFFSET_TABLE_|        |GLOBAL|NOTYPE  |        |    |UNDEF
+__x86.get_pc_thunk.ax|00000000|GLOBAL|FUNC    |00000000|    |.text.__x86.get_pc_thunk.ax
+EOF
+
+testrun_compare ${abs_top_builddir}/src/nm --format=bsd testfilesyms64 <<\EOF
+0000000000000010 D FREF
+0000000000000000 T FUN1
+0000000000000007 t FUN2
+                 U FUN3
+000000000000000e W FUN4
+0000000000000010 u NUM0
+0000000000000000 D NUM1
+0000000000000008 C SYM1
+0000000000000000 B SYM2
+                 U SYM3
+0000000000000018 b SYM4
+0000000000000000 D SYM6
+0000000000000008 d SYM7
+0000000000000008 V SYM8
+EOF
+
+testrun_compare ${abs_top_builddir}/src/nm --format=posix testfilesyms64 <<\EOF
+FREF D 0000000000000010 0000000000000008
+FUN1 T 0000000000000000 0000000000000007
+FUN2 t 0000000000000007 0000000000000007
+FUN3 U
+FUN4 W 000000000000000e 0000000000000007
+NUM0 u 0000000000000010 0000000000000004
+NUM1 D 0000000000000000 0000000000000004
+SYM1 C 0000000000000008 0000000000000008
+SYM2 B 0000000000000000 0000000000000008
+SYM3 U
+SYM4 b 0000000000000018 0000000000000008
+SYM6 D 0000000000000000 0000000000000008
+SYM7 d 0000000000000008 0000000000000008
+SYM8 V 0000000000000008 0000000000000008
+EOF
+
+testrun_compare ${abs_top_builddir}/src/nm --format=sysv testfilesyms64 <<\EOF
+
+
+Symbols from testfilesyms64:
+
+Name   Value            Class  Type     Size             Line Section
+
+FREF  |0000000000000010|GLOBAL|OBJECT  |0000000000000008|    |.data.rel
+FUN1  |0000000000000000|GLOBAL|FUNC    |0000000000000007|    |.text
+FUN2  |0000000000000007|LOCAL |FUNC    |0000000000000007|    |.text
+FUN3  |                |GLOBAL|NOTYPE  |                |    |UNDEF
+FUN4  |000000000000000e|WEAK  |FUNC    |0000000000000007|    |.text
+NUM0  |0000000000000010|UNIQUE|OBJECT  |0000000000000004|    |.bss
+NUM1  |0000000000000000|GLOBAL|TLS     |0000000000000004|    |.tdata
+SYM1  |0000000000000008|GLOBAL|OBJECT  |0000000000000008|    |COMMON
+SYM2  |0000000000000000|GLOBAL|OBJECT  |0000000000000008|    |.bss
+SYM3  |                |GLOBAL|NOTYPE  |                |    |UNDEF
+SYM4  |0000000000000018|LOCAL |OBJECT  |0000000000000008|    |.bss
+SYM6  |0000000000000000|GLOBAL|OBJECT  |0000000000000008|    |.data.rel
+SYM7  |0000000000000008|LOCAL |OBJECT  |0000000000000008|    |.data.rel
+SYM8  |0000000000000008|WEAK  |OBJECT  |0000000000000008|    |.bss
+EOF
+
+exit 0
diff --git a/tests/run-pt_gnu_prop-tests.sh b/tests/run-pt_gnu_prop-tests.sh
new file mode 100755
index 0000000..a9a8d91
--- /dev/null
+++ b/tests/run-pt_gnu_prop-tests.sh
@@ -0,0 +1,135 @@
+#! /bin/sh
+# Copyright (C) 2020 Red Hat, Inc.
+# This file is part of elfutils.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+. $srcdir/test-subr.sh
+
+# On Fedora 31 with GCC 9.2.1 and binutils 2.32-31
+# echo "int main () { }" | \
+# gcc -o testfile_pt_gnu_prop \
+#     -Os -fstack-clash-protection -fcf-protection=full -xc - && \
+# eu-strip --remove-comment -R .gnu.build.attributes testfile_pt_gnu_prop
+#
+# echo "int main () { }" | \
+# gcc -m32 -o testfile_pt_gnu_prop \
+#     -Os -fstack-clash-protection -fcf-protection=full -xc - && \
+# eu-strip --remove-comment -R .gnu.build.attributes testfile_pt_gnu_prop32
+
+testfiles testfile_pt_gnu_prop testfile_pt_gnu_prop32
+
+testrun_compare ${abs_top_builddir}/src/readelf -ln testfile_pt_gnu_prop32 <<\EOF
+Program Headers:
+  Type           Offset   VirtAddr   PhysAddr   FileSiz  MemSiz   Flg Align
+  PHDR           0x000034 0x08048034 0x08048034 0x000180 0x000180 R   0x4
+  INTERP         0x0001b4 0x080481b4 0x080481b4 0x000013 0x000013 R   0x1
+	[Requesting program interpreter: /lib/ld-linux.so.2]
+  LOAD           0x000000 0x08048000 0x08048000 0x000308 0x000308 R   0x1000
+  LOAD           0x001000 0x08049000 0x08049000 0x000224 0x000224 R E 0x1000
+  LOAD           0x002000 0x0804a000 0x0804a000 0x00015c 0x00015c R   0x1000
+  LOAD           0x002f0c 0x0804bf0c 0x0804bf0c 0x000108 0x00010c RW  0x1000
+  DYNAMIC        0x002f14 0x0804bf14 0x0804bf14 0x0000e8 0x0000e8 RW  0x4
+  NOTE           0x0001c8 0x080481c8 0x080481c8 0x000060 0x000060 R   0x4
+  GNU_PROPERTY   0x0001ec 0x080481ec 0x080481ec 0x00001c 0x00001c R   0x4
+  GNU_EH_FRAME   0x00200c 0x0804a00c 0x0804a00c 0x00004c 0x00004c R   0x4
+  GNU_STACK      0x000000 0x00000000 0x00000000 0x000000 0x000000 RW  0x10
+  GNU_RELRO      0x002f0c 0x0804bf0c 0x0804bf0c 0x0000f4 0x0000f4 R   0x1
+
+ Section to Segment mapping:
+  Segment Sections...
+   00     
+   01      [RO: .interp]
+   02      [RO: .interp .note.gnu.build-id .note.gnu.property .note.ABI-tag .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rel.dyn .rel.plt]
+   03      [RO: .init .plt .plt.sec .text .fini]
+   04      [RO: .rodata .eh_frame_hdr .eh_frame]
+   05      [RELRO: .init_array .fini_array .dynamic .got] .got.plt .data .bss
+   06      [RELRO: .dynamic]
+   07      [RO: .note.gnu.build-id .note.gnu.property .note.ABI-tag]
+   08      [RO: .note.gnu.property]
+   09      [RO: .eh_frame_hdr]
+   10     
+   11      [RELRO: .init_array .fini_array .dynamic .got]
+
+Note section [ 2] '.note.gnu.build-id' of 36 bytes at offset 0x1c8:
+  Owner          Data size  Type
+  GNU                   20  GNU_BUILD_ID
+    Build ID: 2fcce91f5c2532f78b00a9f5f565354d2f44bc19
+
+Note section [ 3] '.note.gnu.property' of 28 bytes at offset 0x1ec:
+  Owner          Data size  Type
+  GNU                   12  GNU_PROPERTY_TYPE_0
+    X86 FEATURE_1_AND: 00000003 IBT SHSTK
+
+Note section [ 4] '.note.ABI-tag' of 32 bytes at offset 0x208:
+  Owner          Data size  Type
+  GNU                   16  GNU_ABI_TAG
+    OS: Linux, ABI: 3.2.0
+EOF
+
+testrun ${abs_top_builddir}/src/elflint --gnu testfile_pt_gnu_prop32
+
+testrun_compare ${abs_top_builddir}/src/readelf -ln testfile_pt_gnu_prop <<\EOF
+Program Headers:
+  Type           Offset   VirtAddr           PhysAddr           FileSiz  MemSiz   Flg Align
+  PHDR           0x000040 0x0000000000400040 0x0000000000400040 0x0002d8 0x0002d8 R   0x8
+  INTERP         0x000318 0x0000000000400318 0x0000000000400318 0x00001c 0x00001c R   0x1
+	[Requesting program interpreter: /lib64/ld-linux-x86-64.so.2]
+  LOAD           0x000000 0x0000000000400000 0x0000000000400000 0x000498 0x000498 R   0x1000
+  LOAD           0x001000 0x0000000000401000 0x0000000000401000 0x0001a5 0x0001a5 R E 0x1000
+  LOAD           0x002000 0x0000000000402000 0x0000000000402000 0x000100 0x000100 R   0x1000
+  LOAD           0x002e50 0x0000000000403e50 0x0000000000403e50 0x0001cc 0x0001d0 RW  0x1000
+  DYNAMIC        0x002e60 0x0000000000403e60 0x0000000000403e60 0x000190 0x000190 RW  0x8
+  NOTE           0x000338 0x0000000000400338 0x0000000000400338 0x000020 0x000020 R   0x8
+  NOTE           0x000358 0x0000000000400358 0x0000000000400358 0x000044 0x000044 R   0x4
+  GNU_PROPERTY   0x000338 0x0000000000400338 0x0000000000400338 0x000020 0x000020 R   0x8
+  GNU_EH_FRAME   0x002010 0x0000000000402010 0x0000000000402010 0x000034 0x000034 R   0x4
+  GNU_STACK      0x000000 0x0000000000000000 0x0000000000000000 0x000000 0x000000 RW  0x10
+  GNU_RELRO      0x002e50 0x0000000000403e50 0x0000000000403e50 0x0001b0 0x0001b0 R   0x1
+
+ Section to Segment mapping:
+  Segment Sections...
+   00     
+   01      [RO: .interp]
+   02      [RO: .interp .note.gnu.property .note.gnu.build-id .note.ABI-tag .gnu.hash .dynsym .dynstr .gnu.version .gnu.version_r .rela.dyn]
+   03      [RO: .init .text .fini]
+   04      [RO: .rodata .eh_frame_hdr .eh_frame]
+   05      [RELRO: .init_array .fini_array .dynamic .got] .got.plt .data .bss
+   06      [RELRO: .dynamic]
+   07      [RO: .note.gnu.property]
+   08      [RO: .note.gnu.build-id .note.ABI-tag]
+   09      [RO: .note.gnu.property]
+   10      [RO: .eh_frame_hdr]
+   11     
+   12      [RELRO: .init_array .fini_array .dynamic .got]
+
+Note section [ 2] '.note.gnu.property' of 32 bytes at offset 0x338:
+  Owner          Data size  Type
+  GNU                   16  GNU_PROPERTY_TYPE_0
+    X86 FEATURE_1_AND: 00000003 IBT SHSTK
+
+Note section [ 3] '.note.gnu.build-id' of 36 bytes at offset 0x358:
+  Owner          Data size  Type
+  GNU                   20  GNU_BUILD_ID
+    Build ID: 84fa4d40bad074bc82431575821902da624a5b22
+
+Note section [ 4] '.note.ABI-tag' of 32 bytes at offset 0x37c:
+  Owner          Data size  Type
+  GNU                   16  GNU_ABI_TAG
+    OS: Linux, ABI: 3.2.0
+EOF
+
+testrun ${abs_top_builddir}/src/elflint --gnu testfile_pt_gnu_prop
+
+exit 0
diff --git a/tests/run-readelf-compressed-zstd.sh b/tests/run-readelf-compressed-zstd.sh
new file mode 100755
index 0000000..9620809
--- /dev/null
+++ b/tests/run-readelf-compressed-zstd.sh
@@ -0,0 +1,39 @@
+#! /bin/sh
+# Copyright (C) 2018 Red Hat, Inc.
+# This file is part of elfutils.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+. $srcdir/test-subr.sh
+
+if ! grep -q -F '#define USE_ZSTD' ${abs_top_builddir}/config.h; then
+  echo "elfutils built without zstd support"
+  exit 77
+fi
+
+# See run-strip-reloc.sh
+testfiles hello_i386.ko
+
+tempfiles hello_i386.ko.zst readelf.out.1 readelf.out.2
+
+testrun ${abs_top_builddir}/src/readelf -a hello_i386.ko > readelf.out.1
+zstd hello_i386.ko
+testrun ${abs_top_builddir}/src/readelf -a hello_i386.ko.zst > readelf.out.2
+
+diff -u readelf.out.1 readelf.out.2
+if [ $? != 0 ]; then
+  exit 1;
+fi
+
+exit 0
diff --git a/tests/run-readelf-frames.sh b/tests/run-readelf-frames.sh
new file mode 100755
index 0000000..f0429d1
--- /dev/null
+++ b/tests/run-readelf-frames.sh
@@ -0,0 +1,173 @@
+#! /bin/sh
+# Copyright (C) 2020 Red Hat, Inc.
+# This file is part of elfutils.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+. $srcdir/test-subr.sh
+
+# See run-readelf-n.sh
+testfiles testfile-gnu-property-note-aarch64
+
+testrun_compare ${abs_top_builddir}/src/readelf --debug-dump=frames testfile-gnu-property-note-aarch64 <<\EOF
+
+Call frame search table section [17] '.eh_frame_hdr':
+ version:          1
+ eh_frame_ptr_enc: 0x1b (sdata4 pcrel)
+ fde_count_enc:    0x3 (udata4)
+ table_enc:        0x3b (sdata4 datarel)
+ eh_frame_ptr:     0x44 (offset: 0x758)
+ fde_count:        7
+ Table:
+  0xfffffe70 (offset:  0x580) -> 0x5c fde=[    14]
+  0xfffffea0 (offset:  0x5b0) -> 0x70 fde=[    28]
+  0xfffffee0 (offset:  0x5f0) -> 0x84 fde=[    3c]
+  0xffffff20 (offset:  0x630) -> 0xac fde=[    64]
+  0xffffff28 (offset:  0x638) -> 0xc0 fde=[    78]
+  0xffffff40 (offset:  0x650) -> 0xd8 fde=[    90]
+  0xffffffc0 (offset:  0x6d0) -> 0x110 fde=[    c8]
+
+Call frame information section [18] '.eh_frame' at offset 0x758:
+
+ [     0] CIE length=16
+   CIE_id:                   0
+   version:                  1
+   augmentation:             "zR"
+   code_alignment_factor:    4
+   data_alignment_factor:    -8
+   return_address_register:  30
+   Augmentation data:        0x1b (FDE address encoding: sdata4 pcrel)
+
+   Program:
+     def_cfa r31 (sp) at offset 0
+
+ [    14] FDE length=16 cie=[     0]
+   CIE_pointer:              24
+   initial_location:         0x0000000000400580 (offset: 0x580)
+   address_range:            0x30 (end offset: 0x5b0)
+
+   Program:
+     nop
+     nop
+     nop
+
+ [    28] FDE length=16 cie=[     0]
+   CIE_pointer:              44
+   initial_location:         0x00000000004005b0 (offset: 0x5b0)
+   address_range:            0x3c (end offset: 0x5ec)
+
+   Program:
+     nop
+     nop
+     nop
+
+ [    3c] FDE length=36 cie=[     0]
+   CIE_pointer:              64
+   initial_location:         0x00000000004005f0 (offset: 0x5f0)
+   address_range:            0x38 (end offset: 0x628)
+
+   Program:
+     advance_loc 1 to 0x5f4
+     AARCH64_negate_ra_state
+     advance_loc 1 to 0x5f8
+     def_cfa_offset 32
+     offset r29 (x29) at cfa-32
+     offset r30 (x30) at cfa-24
+     advance_loc 2 to 0x600
+     offset r19 (x19) at cfa-16
+     advance_loc 8 to 0x620
+     restore r30 (x30)
+     restore r29 (x29)
+     restore r19 (x19)
+     def_cfa_offset 0
+     advance_loc 1 to 0x624
+     AARCH64_negate_ra_state
+     nop
+     nop
+     nop
+
+ [    64] FDE length=16 cie=[     0]
+   CIE_pointer:              104
+   initial_location:         0x0000000000400630 (offset: 0x630)
+   address_range:            0x8 (end offset: 0x638)
+
+   Program:
+     nop
+     nop
+     nop
+
+ [    78] FDE length=20 cie=[     0]
+   CIE_pointer:              124
+   initial_location:         0x0000000000400638 (offset: 0x638)
+   address_range:            0xc (end offset: 0x644)
+
+   Program:
+     nop
+     nop
+     nop
+     nop
+     nop
+     nop
+     nop
+
+ [    90] FDE length=52 cie=[     0]
+   CIE_pointer:              148
+   initial_location:         0x0000000000400650 (offset: 0x650)
+   address_range:            0x80 (end offset: 0x6d0)
+
+   Program:
+     advance_loc 1 to 0x654
+     AARCH64_negate_ra_state
+     advance_loc 1 to 0x658
+     def_cfa_offset 64
+     offset r29 (x29) at cfa-64
+     offset r30 (x30) at cfa-56
+     advance_loc 2 to 0x660
+     offset r19 (x19) at cfa-48
+     offset r20 (x20) at cfa-40
+     advance_loc 3 to 0x66c
+     offset r21 (x21) at cfa-32
+     offset r22 (x22) at cfa-24
+     advance_loc 5 to 0x680
+     offset r23 (x23) at cfa-16
+     offset r24 (x24) at cfa-8
+     advance_loc 18 to 0x6c8
+     restore r30 (x30)
+     restore r29 (x29)
+     restore r23 (x23)
+     restore r24 (x24)
+     restore r21 (x21)
+     restore r22 (x22)
+     restore r19 (x19)
+     restore r20 (x20)
+     def_cfa_offset 0
+     advance_loc 1 to 0x6cc
+     AARCH64_negate_ra_state
+     nop
+     nop
+
+ [    c8] FDE length=16 cie=[     0]
+   CIE_pointer:              204
+   initial_location:         0x00000000004006d0 (offset: 0x6d0)
+   address_range:            0x8 (end offset: 0x6d8)
+
+   Program:
+     nop
+     nop
+     nop
+
+ [    dc] Zero terminator
+EOF
+
+exit 0
diff --git a/tests/run-readelf-line.sh b/tests/run-readelf-line.sh
index a95e6aa..eef50e9 100755
--- a/tests/run-readelf-line.sh
+++ b/tests/run-readelf-line.sh
@@ -262,7 +262,7 @@
 
 EOF
 
-# A .debug_line table with mininum instruction length > 1.
+# A .debug_line table with minimum instruction length > 1.
 #
 # = hello.c
 # #include <stdio.h>
diff --git a/tests/run-readelf-n.sh b/tests/run-readelf-n.sh
index cc7d7f6..4c98fd8 100755
--- a/tests/run-readelf-n.sh
+++ b/tests/run-readelf-n.sh
@@ -226,3 +226,34 @@
   GNU                    8  GNU_PROPERTY_TYPE_0
     NO_COPY_ON_PROTECTION
 EOF
+
+# - testfile-gnu-property-note.c
+# int
+# main ()
+# {
+#   return 0;
+# }
+#
+# gcc -mbranch-protection=standard -c testfile-gnu-property-note.c
+# gcc -o testfile-gnu-property-note-aarch64 testfile-gnu-property-note.o
+# eu-strip --remove-section=.gnu.build.attributes \
+#	   testfile-gnu-property-note-aarch64
+
+testfiles testfile-gnu-property-note-aarch64
+testrun_compare ${abs_top_builddir}/src/readelf -n testfile-gnu-property-note-aarch64 << EOF
+
+Note section [ 2] '.note.gnu.property' of 32 bytes at offset 0x2c8:
+  Owner          Data size  Type
+  GNU                   16  GNU_PROPERTY_TYPE_0
+    AARCH64 FEATURE_1_AND: 00000003 BTI PAC
+
+Note section [ 3] '.note.gnu.build-id' of 36 bytes at offset 0x2e8:
+  Owner          Data size  Type
+  GNU                   20  GNU_BUILD_ID
+    Build ID: af82d6df6f3b396487e3e27a826ca9cbbbecbe5f
+
+Note section [ 4] '.note.ABI-tag' of 32 bytes at offset 0x30c:
+  Owner          Data size  Type
+  GNU                   16  GNU_ABI_TAG
+    OS: Linux, ABI: 3.7.0
+EOF
diff --git a/tests/run-retain.sh b/tests/run-retain.sh
new file mode 100755
index 0000000..c5376de
--- /dev/null
+++ b/tests/run-retain.sh
@@ -0,0 +1,44 @@
+# Copyright (C) 2020 Red Hat, Inc.
+# This file is part of elfutils.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# elfutils is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program.  If not, see <http://www.gnu.org/licenses/>.
+
+. $srcdir/test-subr.sh
+
+# - retian.s
+#   .section        .data.retain,"R" 
+#   .word   1
+#
+# as -o testfile-retain.o retain.s
+
+testfiles testfile-retain.o
+
+testrun_compare ${abs_top_builddir}/src/readelf -S testfile-retain.o << EOF
+There are 9 section headers, starting at offset 0x158:
+
+Section Headers:
+[Nr] Name                 Type         Addr             Off      Size     ES Flags Lk Inf Al
+[ 0]                      NULL         0000000000000000 00000000 00000000  0        0   0  0
+[ 1] .text                PROGBITS     0000000000000000 00000040 00000000  0 AX     0   0  1
+[ 2] .data                PROGBITS     0000000000000000 00000040 00000000  0 WA     0   0  1
+[ 3] .bss                 NOBITS       0000000000000000 00000040 00000000  0 WA     0   0  1
+[ 4] .data.retain         PROGBITS     0000000000000000 00000040 00000002  0 WAR    0   0  1
+[ 5] .note.gnu.property   NOTE         0000000000000000 00000048 00000030  0 A      0   0  8
+[ 6] .symtab              SYMTAB       0000000000000000 00000078 00000090 24        7   6  8
+[ 7] .strtab              STRTAB       0000000000000000 00000108 00000001  0        0   0  1
+[ 8] .shstrtab            STRTAB       0000000000000000 00000109 0000004c  0        0   0  1
+
+EOF
+
+testrun ${abs_top_builddir}/src/elflint --gnu testfile-retain.o
diff --git a/tests/run-stack-demangled-test.sh b/tests/run-stack-demangled-test.sh
index c26918f..ac5bc61 100755
--- a/tests/run-stack-demangled-test.sh
+++ b/tests/run-stack-demangled-test.sh
@@ -24,7 +24,7 @@
 
 # See run-stack-d-test.sh and run-stack-i-test.sh
 # Same tests, now with demangler support, no -r, and without -d.
-# Only change in output is an explit fu(int) instead of _Z2fui.
+# Only change in output is an explicit fu(int) instead of _Z2fui.
 
 testfiles testfiledwarfinlines testfiledwarfinlines.core
 
diff --git a/tests/run-strip-g.sh b/tests/run-strip-g.sh
index 1303819..1592121 100755
--- a/tests/run-strip-g.sh
+++ b/tests/run-strip-g.sh
@@ -25,7 +25,7 @@
 tempfiles a.out strip.out debug.out readelf.out
 
 echo Create debug a.out.
-echo "int main() { return 1; }" | gcc -g -xc -
+echo "int main() { return 1; }" | ${CC} -g -xc -
 
 echo strip -g to file with debug file
 testrun ${abs_top_builddir}/src/strip -g -o strip.out -f debug.out ||
diff --git a/tests/run-strip-nothing.sh b/tests/run-strip-nothing.sh
index 914fdfb..710c200 100755
--- a/tests/run-strip-nothing.sh
+++ b/tests/run-strip-nothing.sh
@@ -23,7 +23,7 @@
 tempfiles a.out strip.out debug.out
 
 # Create no-debug a.out.
-echo "int main() { return 1; }" | gcc -s -xc -
+echo "int main() { return 1; }" | ${CC} -s -xc -
 
 # strip to file
 testrun ${abs_top_builddir}/src/strip -g -o strip.out ||
diff --git a/tests/run-test-includes.sh b/tests/run-test-includes.sh
new file mode 100755
index 0000000..b107c6b
--- /dev/null
+++ b/tests/run-test-includes.sh
@@ -0,0 +1,26 @@
+# All public include headers should be usable "standalone".
+
+. $srcdir/test-subr.sh
+
+echo '#include "libelf.h"' \
+  | ${CC} -c -o /dev/null -I ${abs_srcdir}/../libelf -xc -
+echo '#include "gelf.h"' \
+  | ${CC} -c -o /dev/null -I ${abs_srcdir}/../libelf -xc -
+
+echo '#include "dwarf.h"' \
+  | ${CC} -c -o /dev/null -I ${abs_srcdir}/../libelf \
+        -I ${abs_srcdir}/../libdw -xc -
+echo '#include "libdw.h"' \
+  | ${CC} -c -o /dev/null -I ${abs_srcdir}/../libelf \
+        -I ${abs_srcdir}/../libdw -xc -
+
+echo '#include "libdwfl.h"' \
+  | ${CC} -c -o /dev/null -I ${abs_srcdir}/../libelf \
+    -I ${abs_srcdir}/../libdw -I ${abs_srcdir}/../libdwfl -xc -
+echo '#include "libdwelf.h"' \
+  | ${CC} -c -o /dev/null -I ${abs_srcdir}/../libelf \
+    -I ${abs_srcdir}/../libdw -I ${abs_srcdir}/../libdwelf -xc -
+
+echo '#include "libasm.h"' \
+  | ${CC} -c -o /dev/null -I ${abs_srcdir}/../libelf \
+    -I ${abs_srcdir}/../libasm -xc -
diff --git a/tests/run-varlocs-self.sh b/tests/run-varlocs-self.sh
index 54b6a8d..5454fc7 100755
--- a/tests/run-varlocs-self.sh
+++ b/tests/run-varlocs-self.sh
@@ -19,4 +19,6 @@
 
 # Make sure varlocs doesn't crash, doesn't trigger self-check/asserts
 # or leaks running under valgrind.
-testrun_on_self_quiet ${abs_top_builddir}/tests/varlocs -e
+testrun_on_self_exe ${abs_top_builddir}/tests/varlocs -e
+testrun_on_self_lib ${abs_top_builddir}/tests/varlocs -e
+testrun_on_self_obj ${abs_top_builddir}/tests/varlocs --exprlocs -e
diff --git a/tests/sectiondump.c b/tests/sectiondump.c
index f33484f..661e644 100644
--- a/tests/sectiondump.c
+++ b/tests/sectiondump.c
@@ -49,7 +49,7 @@
   if (fd == -1)
     error (EXIT_FAILURE, errno, "cannot open input file `%s'", argv[1]);
 
-  /* Set the library versio we expect.  */
+  /* Set the library version we expect.  */
   elf_version (EV_CURRENT);
 
   /* Create the ELF descriptor.  */
@@ -58,7 +58,7 @@
     error (EXIT_FAILURE, 0, "cannot create ELF descriptor: %s",
 	   elf_errmsg (0));
 
-  /* Now proces all the sections mentioned in the rest of the command line.  */
+  /* Now process all the sections mentioned in the rest of the command line.  */
   for (cnt = 2; cnt < argc; ++cnt)
     if (handle_section (elf, elf_getscn (elf, atoi (argv[cnt]))) != 0)
       /* When we encounter an error stop immediately.  */
@@ -116,7 +116,7 @@
   if (data == NULL)
     return 1;
 
-  /* Now proces the different section types accordingly.  */
+  /* Now process the different section types accordingly.  */
   switch (shdr->sh_type)
     {
     case SHT_SYMTAB:
diff --git a/tests/test-subr.sh b/tests/test-subr.sh
index e768c1e..411e5f2 100644
--- a/tests/test-subr.sh
+++ b/tests/test-subr.sh
@@ -168,6 +168,19 @@
   if test $exit_status != 0; then exit $exit_status; fi
 }
 
+testrun_on_self_obj()
+{
+  exit_status=0
+
+  for file in $self_test_files_obj; do
+      testrun $* $file \
+	  || { echo "*** failure in $* $file"; exit_status=1; }
+  done
+
+  # Only exit if something failed
+  if test $exit_status != 0; then exit $exit_status; fi
+}
+
 # Compress the files first. Compress both debug sections and symtab.
 testrun_on_self_compressed()
 {
diff --git a/tests/test-wrapper.sh b/tests/test-wrapper.sh
index 09b4d49..c5d3f15 100755
--- a/tests/test-wrapper.sh
+++ b/tests/test-wrapper.sh
@@ -44,6 +44,7 @@
 *.sh)
   export built_library_path program_transform_name elfutils_testrun
   export elfutils_tests_rpath
+  is_shell_script="yes"
   ;;
 *)
   if [ $elfutils_testrun = built ]; then
@@ -55,6 +56,7 @@
     LD_LIBRARY_PATH="${libdir}:${libdir}/elfutils$old_path"
   fi
   export LD_LIBRARY_PATH
+  is_shell_script="no"
   ;;
 esac
 
@@ -62,4 +64,10 @@
   export VALGRIND_CMD
 fi
 
-exec "$@"
+# When it is a run-*.sh script the VALGRIND_CMD will be passed on
+# otherwise we'll need to run the binary explicitly under valgrind.
+if [ "x$is_shell_script" = xyes ]; then
+  exec "$@"
+else
+  exec $VALGRIND_CMD "$@"
+fi
diff --git a/tests/testfile-gnu-property-note-aarch64.bz2 b/tests/testfile-gnu-property-note-aarch64.bz2
new file mode 100755
index 0000000..2fe37b1
--- /dev/null
+++ b/tests/testfile-gnu-property-note-aarch64.bz2
Binary files differ
diff --git a/tests/testfile-lto-gcc10.bz2 b/tests/testfile-lto-gcc10.bz2
new file mode 100755
index 0000000..e8ef621
--- /dev/null
+++ b/tests/testfile-lto-gcc10.bz2
Binary files differ
diff --git a/tests/testfile-lto-gcc8.bz2 b/tests/testfile-lto-gcc8.bz2
new file mode 100755
index 0000000..cf744d9
--- /dev/null
+++ b/tests/testfile-lto-gcc8.bz2
Binary files differ
diff --git a/tests/testfile-lto-gcc9.bz2 b/tests/testfile-lto-gcc9.bz2
new file mode 100755
index 0000000..df50361
--- /dev/null
+++ b/tests/testfile-lto-gcc9.bz2
Binary files differ
diff --git a/tests/testfile-phdrs.elf.bz2 b/tests/testfile-phdrs.elf.bz2
new file mode 100644
index 0000000..024ed79
--- /dev/null
+++ b/tests/testfile-phdrs.elf.bz2
Binary files differ
diff --git a/tests/testfile-retain.o.bz2 b/tests/testfile-retain.o.bz2
new file mode 100644
index 0000000..7571c0e
--- /dev/null
+++ b/tests/testfile-retain.o.bz2
Binary files differ
diff --git a/tests/testfile60.bz2 b/tests/testfile60.bz2
deleted file mode 100755
index 6a0cd7b..0000000
--- a/tests/testfile60.bz2
+++ /dev/null
Binary files differ
diff --git a/tests/testfile_pt_gnu_prop.bz2 b/tests/testfile_pt_gnu_prop.bz2
new file mode 100755
index 0000000..f030fb9
--- /dev/null
+++ b/tests/testfile_pt_gnu_prop.bz2
Binary files differ
diff --git a/tests/testfile_pt_gnu_prop32.bz2 b/tests/testfile_pt_gnu_prop32.bz2
new file mode 100755
index 0000000..6a7515a
--- /dev/null
+++ b/tests/testfile_pt_gnu_prop32.bz2
Binary files differ
diff --git a/tests/testfilesyms32.bz2 b/tests/testfilesyms32.bz2
new file mode 100644
index 0000000..b3b7812
--- /dev/null
+++ b/tests/testfilesyms32.bz2
Binary files differ
diff --git a/tests/testfilesyms64.bz2 b/tests/testfilesyms64.bz2
new file mode 100644
index 0000000..cdec381
--- /dev/null
+++ b/tests/testfilesyms64.bz2
Binary files differ
diff --git a/tests/update1.c b/tests/update1.c
index f4c1475..b7be4e5 100644
--- a/tests/update1.c
+++ b/tests/update1.c
@@ -27,6 +27,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
+#include "system.h"
 
 
 int
@@ -38,7 +39,7 @@
   Elf32_Ehdr *ehdr;
   int i;
 
-  fd = open (fname, O_RDWR | O_CREAT | O_TRUNC, 0666);
+  fd = open (fname, O_RDWR | O_CREAT | O_TRUNC, DEFFILEMODE);
   if (fd == -1)
     {
       printf ("cannot open `%s': %s\n", fname, strerror (errno));
diff --git a/tests/update2.c b/tests/update2.c
index 5805163..7145563 100644
--- a/tests/update2.c
+++ b/tests/update2.c
@@ -27,6 +27,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
+#include "system.h"
 
 
 int
@@ -39,7 +40,7 @@
   Elf32_Phdr *phdr;
   int i;
 
-  fd = open (fname, O_RDWR | O_CREAT | O_TRUNC, 0666);
+  fd = open (fname, O_RDWR | O_CREAT | O_TRUNC, DEFFILEMODE);
   if (fd == -1)
     {
       printf ("cannot open `%s': %s\n", fname, strerror (errno));
diff --git a/tests/update3.c b/tests/update3.c
index 7a4224d..62f67f7 100644
--- a/tests/update3.c
+++ b/tests/update3.c
@@ -27,6 +27,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
+#include "system.h"
 
 #include ELFUTILS_HEADER(dwelf)
 
@@ -46,7 +47,7 @@
   Dwelf_Strent *shstrtabse;
   int i;
 
-  fd = open (fname, O_RDWR | O_CREAT | O_TRUNC, 0666);
+  fd = open (fname, O_RDWR | O_CREAT | O_TRUNC, DEFFILEMODE);
   if (fd == -1)
     {
       printf ("cannot open `%s': %s\n", fname, strerror (errno));
diff --git a/tests/update4.c b/tests/update4.c
index a9bd4bf..a703b59 100644
--- a/tests/update4.c
+++ b/tests/update4.c
@@ -27,6 +27,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
+#include "system.h"
 
 #include ELFUTILS_HEADER(dwelf)
 
@@ -50,7 +51,7 @@
   Dwelf_Strent *shstrtabse;
   int i;
 
-  fd = open (fname, O_RDWR | O_CREAT | O_TRUNC, 0666);
+  fd = open (fname, O_RDWR | O_CREAT | O_TRUNC, DEFFILEMODE);
   if (fd == -1)
     {
       printf ("cannot open `%s': %s\n", fname, strerror (errno));
diff --git a/tests/varlocs.c b/tests/varlocs.c
index 4050519..152c655 100644
--- a/tests/varlocs.c
+++ b/tests/varlocs.c
@@ -1011,7 +1011,7 @@
   arg.entrypc = die_entrypc;
 
   /* Whether this or the any outer DIE has a frame base. Used as
-     sanity check when printing experssions that use DW_OP_fbreg.  */
+     sanity check when printing expressions that use DW_OP_fbreg.  */
   bool die_has_frame_base = dwarf_hasattr (die, DW_AT_frame_base);
   die_has_frame_base |= outer_has_frame_base;
   has_frame_base = die_has_frame_base;
diff --git a/tests/vdsosyms.c b/tests/vdsosyms.c
index 7bfa738..83ab034 100644
--- a/tests/vdsosyms.c
+++ b/tests/vdsosyms.c
@@ -103,6 +103,8 @@
   if (dwfl_getmodules (dwfl, module_callback, NULL, 0) != 0)
     error (1, 0, "dwfl_getmodules: %s", dwfl_errmsg (-1));
 
+  dwfl_end (dwfl);
+
   /* No symbols is ok, then we haven't seen the vdso at all on this arch.  */
   return vdso_syms >= 0 ? 0 : -1;
 }
diff --git a/tests/vendorelf.c b/tests/vendorelf.c
index bc13cce..8ce1e5e 100644
--- a/tests/vendorelf.c
+++ b/tests/vendorelf.c
@@ -27,6 +27,7 @@
 #include <stdlib.h>
 #include <string.h>
 #include <unistd.h>
+#include "system.h"
 
 #include ELFUTILS_HEADER(elf)
 #include <gelf.h>
@@ -36,7 +37,7 @@
 {
   printf ("\nfname: %s\n", fname);
 
-  int fd = open (fname, O_RDWR | O_CREAT | O_TRUNC, 0666);
+  int fd = open (fname, O_RDWR | O_CREAT | O_TRUNC, DEFFILEMODE);
   if (fd == -1)
     {
       printf ("cannot open `%s': %s\n", fname, strerror (errno));
@@ -124,7 +125,7 @@
   close (fd);
 
   /* Reread the ELF from disk now.  */
-  fd = open (fname, O_RDONLY, 0666);
+  fd = open (fname, O_RDONLY);
   if (fd == -1)
     {
       printf ("cannot open `%s' read-only: %s\n", fname, strerror (errno));
diff --git a/tests/zstrptr.c b/tests/zstrptr.c
index 6d8e19f..9fb42e2 100644
--- a/tests/zstrptr.c
+++ b/tests/zstrptr.c
@@ -30,6 +30,26 @@
 #include ELFUTILS_HEADER(elf)
 #include <gelf.h>
 
+static void
+print_strings (Elf_Scn *scn, Elf *elf, size_t ndx)
+{
+  GElf_Shdr shdr_mem;
+  GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
+
+  printf ("Strings in section %zd (%s):\n", ndx,
+	  ((shdr->sh_flags & SHF_COMPRESSED) != 0
+	   ? "compressed" : "uncompressed"));
+
+  size_t off = 0;
+  const char *str = elf_strptr (elf, ndx, off);
+  while (str != NULL)
+    {
+      printf ("[%zx] '%s'\n", off, str);
+      off += strlen (str) + 1;
+      str = elf_strptr (elf, ndx, off);
+    }
+}
+
 int
 main (int argc, char *argv[])
 {
@@ -79,38 +99,19 @@
       exit (1);
     }
 
-  void print_strings (void)
-  {
-    GElf_Shdr shdr_mem;
-    GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
-
-    printf ("Strings in section %zd (%s):\n", ndx,
-	    ((shdr->sh_flags & SHF_COMPRESSED) != 0
-	     ? "compressed" : "uncompressed"));
-
-    size_t off = 0;
-    const char *str = elf_strptr (elf, ndx, off);
-    while (str != NULL)
-      {
-	printf ("[%zx] '%s'\n", off, str);
-	off += strlen (str) + 1;
-	str = elf_strptr (elf, ndx, off);
-      }
-  }
-
   if (elf_compress (scn, ELFCOMPRESS_ZLIB, 0) < 0)
     {
       printf ("Couldn't compress section %zd: %s\n", ndx, elf_errmsg (-1));
       exit (1);
     }
-  print_strings ();
+  print_strings (scn, elf, ndx);
 
   if (elf_compress (scn, 0, 0) < 0)
     {
       printf ("Couldn't decompress section %zd: %s\n", ndx, elf_errmsg (-1));
       exit (1);
     }
-  print_strings ();
+  print_strings (scn, elf, ndx);
 
   if (elf_end (elf) != 0)
     {
diff --git a/version.h b/version.h
index 651f9fb..8690a24 100644
--- a/version.h
+++ b/version.h
@@ -30,7 +30,7 @@
 #ifndef _ELFUTILS_VERSION_H
 #define _ELFUTILS_VERSION_H	1
 
-#define _ELFUTILS_VERSION	173
+#define _ELFUTILS_VERSION	183
 
 #define _ELFUTILS_PREREQ(major, minor) \
   (_ELFUTILS_VERSION >= ((major) * 1000 + (minor)))
