diff options
author | Roland McGrath <roland@redhat.com> | 2011-01-13 00:43:21 +0000 |
---|---|---|
committer | Dmitry V. Levin <ldv@altlinux.org> | 2011-01-13 00:43:21 +0000 |
commit | 9289bade4788c632c2ed40bad8c984d3949374ac (patch) | |
tree | c2bb470b59aa8718dc6b6bd176f9290ca9b48fef | |
parent | 67489509d3e6571a3edd035fa4c4213e8bfdf4bd (diff) | |
download | elfutils-9289bade4788c632c2ed40bad8c984d3949374ac.tar.gz |
0.151-10.151-1
- Update to 0.151
- libdwfl: Fix for more prelink cases with separate debug file.
- eu-strip: New flag --strip-sections to remove section headers entirely.
61 files changed, 1405 insertions, 620 deletions
diff --git a/elfutils-portability.patch b/elfutils-portability.patch index 3c307687..eac700c9 100644 --- a/elfutils-portability.patch +++ b/elfutils-portability.patch @@ -696,7 +696,7 @@ @MUDFLAP_FALSE@libmudflap = --- elfutils/libdwfl/ChangeLog +++ elfutils/libdwfl/ChangeLog -@@ -1331,6 +1331,11 @@ +@@ -1350,6 +1350,11 @@ 2005-07-21 Roland McGrath <roland@redhat.com> @@ -778,7 +778,7 @@ @MUDFLAP_FALSE@libmudflap = --- elfutils/libelf/ChangeLog +++ elfutils/libelf/ChangeLog -@@ -666,6 +666,11 @@ +@@ -671,6 +671,11 @@ * elf.h: Update from glibc. @@ -890,7 +890,7 @@ break; --- elfutils/src/ChangeLog +++ elfutils/src/ChangeLog -@@ -225,8 +225,16 @@ +@@ -236,8 +236,16 @@ * readelf.c (attr_callback): Use print_block only when we don't use print_ops. @@ -907,7 +907,7 @@ * ar.c (do_oper_extract): Use pathconf instead of statfs. 2009-08-01 Ulrich Drepper <drepper@redhat.com> -@@ -390,6 +398,8 @@ +@@ -401,6 +409,8 @@ * readelf.c (print_debug_frame_section): Use t instead of j formats for ptrdiff_t OFFSET. @@ -916,7 +916,7 @@ 2009-01-21 Ulrich Drepper <drepper@redhat.com> * elflint.c (check_program_header): Fix typo in .eh_frame_hdr section -@@ -573,6 +583,11 @@ +@@ -584,6 +594,11 @@ that matches its PT_LOAD's p_flags &~ PF_W. On sparc, PF_X really is valid in RELRO. @@ -928,7 +928,7 @@ 2008-02-29 Roland McGrath <roland@redhat.com> * readelf.c (print_attributes): Add a cast. -@@ -824,6 +839,8 @@ +@@ -835,6 +850,8 @@ * readelf.c (hex_dump): Fix rounding error in whitespace calculation. @@ -937,7 +937,7 @@ 2007-10-15 Roland McGrath <roland@redhat.com> * make-debug-archive.in: New file. -@@ -1263,6 +1280,10 @@ +@@ -1274,6 +1291,10 @@ * elflint.c (valid_e_machine): Add EM_ALPHA. Reported by Christian Aichinger <Greek0@gmx.net>. @@ -948,7 +948,7 @@ 2006-08-08 Ulrich Drepper <drepper@redhat.com> * elflint.c (check_dynamic): Don't require DT_HASH for DT_SYMTAB. -@@ -1339,6 +1360,10 @@ +@@ -1350,6 +1371,10 @@ * Makefile.am: Add hacks to create dependency files for non-generic linker. @@ -959,7 +959,7 @@ 2006-06-12 Ulrich Drepper <drepper@redhat.com> * ldgeneric.c (ld_generic_generate_sections): Don't create .interp -@@ -1687,6 +1712,11 @@ +@@ -1698,6 +1723,11 @@ * readelf.c (print_debug_loc_section): Fix indentation for larger address size. @@ -1145,7 +1145,7 @@ /* Name and version of program. */ static void print_version (FILE *stream, struct argp_state *state); -@@ -301,8 +307,18 @@ process_file (const char *fname) +@@ -311,8 +317,18 @@ process_file (const char *fname) /* If we have to preserve the timestamp, we need it in the format utimes() understands. */ @@ -1164,7 +1164,7 @@ } /* Open the file. */ -@@ -1747,7 +1763,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1809,7 +1825,7 @@ while computing checksum for debug infor /* If requested, preserve the timestamp. */ if (tvp != NULL) { @@ -1173,7 +1173,7 @@ { error (0, errno, gettext ("\ cannot set access and modification date of '%s'"), -@@ -1804,7 +1820,7 @@ handle_ar (int fd, Elf *elf, const char +@@ -1866,7 +1882,7 @@ handle_ar (int fd, Elf *elf, const char if (tvp != NULL) { @@ -1184,7 +1184,7 @@ cannot set access and modification date of '%s'"), fname); --- elfutils/tests/ChangeLog +++ elfutils/tests/ChangeLog -@@ -154,6 +154,8 @@ +@@ -197,6 +197,8 @@ 2008-01-21 Roland McGrath <roland@redhat.com> @@ -1193,7 +1193,7 @@ * testfile45.S.bz2: Add tests for cltq, cqto. * testfile45.expect.bz2: Adjust. -@@ -862,6 +864,11 @@ +@@ -905,6 +907,11 @@ * Makefile.am (TESTS): Add run-elflint-test.sh. (EXTRA_DIST): Add run-elflint-test.sh and testfile18.bz2. diff --git a/elfutils-robustify.patch b/elfutils-robustify.patch index b50cab4c..19764cbb 100644 --- a/elfutils-robustify.patch +++ b/elfutils-robustify.patch @@ -1,6 +1,6 @@ --- elfutils/libelf/ChangeLog +++ elfutils/libelf/ChangeLog -@@ -658,10 +658,53 @@ +@@ -663,10 +663,53 @@ If section content hasn't been read yet, do it before looking for the block size. If no section data present, infer size of section header. @@ -865,7 +865,7 @@ #endif /* libelfP.h */ --- elfutils/src/ChangeLog +++ elfutils/src/ChangeLog -@@ -1675,6 +1675,16 @@ +@@ -1686,6 +1686,16 @@ object symbols or symbols with unknown type. (check_rel): Likewise. @@ -882,7 +882,7 @@ 2005-06-08 Roland McGrath <roland@redhat.com> * readelf.c (print_ops): Add consts. -@@ -1720,6 +1730,19 @@ +@@ -1731,6 +1741,19 @@ * readelf.c (dwarf_tag_string): Add new tags. @@ -1392,7 +1392,7 @@ "\ --- elfutils/src/strip.c +++ elfutils/src/strip.c -@@ -545,6 +545,11 @@ handle_elf (int fd, Elf *elf, const char +@@ -555,6 +555,11 @@ handle_elf (int fd, Elf *elf, const char goto fail_close; } @@ -1404,7 +1404,7 @@ /* Storage for section information. We leave room for two more entries since we unconditionally create a section header string table. Maybe some weird tool created an ELF file without one. -@@ -566,7 +571,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -576,7 +581,7 @@ handle_elf (int fd, Elf *elf, const char { /* This should always be true (i.e., there should not be any holes in the numbering). */ @@ -1413,7 +1413,7 @@ shdr_info[cnt].scn = scn; -@@ -579,6 +584,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -589,6 +594,7 @@ handle_elf (int fd, Elf *elf, const char shdr_info[cnt].shdr.sh_name); if (shdr_info[cnt].name == NULL) { @@ -1421,7 +1421,7 @@ error (0, 0, gettext ("illformed file '%s'"), fname); goto fail_close; } -@@ -588,6 +594,8 @@ handle_elf (int fd, Elf *elf, const char +@@ -598,6 +604,8 @@ handle_elf (int fd, Elf *elf, const char /* Remember the shdr.sh_link value. */ shdr_info[cnt].old_sh_link = shdr_info[cnt].shdr.sh_link; @@ -1430,7 +1430,7 @@ /* Sections in files other than relocatable object files which are not loaded can be freely moved by us. In relocatable -@@ -600,7 +608,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -610,7 +618,7 @@ handle_elf (int fd, Elf *elf, const char appropriate reference. */ if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB_SHNDX)) { @@ -1439,7 +1439,7 @@ shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx = cnt; } else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GROUP)) -@@ -617,7 +625,12 @@ handle_elf (int fd, Elf *elf, const char +@@ -627,7 +635,12 @@ handle_elf (int fd, Elf *elf, const char for (inner = 1; inner < shdr_info[cnt].data->d_size / sizeof (Elf32_Word); ++inner) @@ -1452,7 +1452,7 @@ if (inner == 1 || (inner == 2 && (grpref[0] & GRP_COMDAT) == 0)) /* If the section group contains only one element and this -@@ -628,7 +641,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -638,7 +651,7 @@ handle_elf (int fd, Elf *elf, const char } else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GNU_versym)) { @@ -1461,7 +1461,7 @@ shdr_info[shdr_info[cnt].shdr.sh_link].version_idx = cnt; } -@@ -636,7 +649,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -646,7 +659,7 @@ handle_elf (int fd, Elf *elf, const char discarded right away. */ if ((shdr_info[cnt].shdr.sh_flags & SHF_GROUP) != 0) { @@ -1470,7 +1470,7 @@ if (shdr_info[shdr_info[cnt].group_idx].idx == 0) { -@@ -711,11 +724,15 @@ handle_elf (int fd, Elf *elf, const char +@@ -722,11 +735,15 @@ handle_elf (int fd, Elf *elf, const char { /* If a relocation section is marked as being removed make sure the section it is relocating is removed, too. */ @@ -1488,7 +1488,7 @@ if (shdr_info[cnt].idx == 1) { -@@ -742,7 +759,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -753,7 +770,7 @@ handle_elf (int fd, Elf *elf, const char if (shdr_info[cnt].symtab_idx != 0 && shdr_info[shdr_info[cnt].symtab_idx].data == NULL) { @@ -1497,7 +1497,7 @@ shdr_info[shdr_info[cnt].symtab_idx].data = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn, -@@ -782,6 +799,9 @@ handle_elf (int fd, Elf *elf, const char +@@ -793,6 +810,9 @@ handle_elf (int fd, Elf *elf, const char else if (scnidx == SHN_XINDEX) scnidx = xndx; @@ -1507,7 +1507,7 @@ if (shdr_info[scnidx].idx == 0) /* This symbol table has a real symbol in a discarded section. So preserve the -@@ -812,12 +832,16 @@ handle_elf (int fd, Elf *elf, const char +@@ -823,12 +843,16 @@ handle_elf (int fd, Elf *elf, const char } /* Handle references through sh_info. */ @@ -1526,7 +1526,7 @@ /* Mark the section as investigated. */ shdr_info[cnt].idx = 2; -@@ -956,7 +980,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -967,7 +991,7 @@ handle_elf (int fd, Elf *elf, const char error (EXIT_FAILURE, 0, gettext ("while generating output file: %s"), elf_errmsg (-1)); @@ -1535,7 +1535,7 @@ /* Add this name to the section header string table. */ shdr_info[cnt].se = ebl_strtabadd (shst, shdr_info[cnt].name, 0); -@@ -993,7 +1017,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1004,7 +1028,7 @@ handle_elf (int fd, Elf *elf, const char error (EXIT_FAILURE, 0, gettext ("while create section header section: %s"), elf_errmsg (-1)); @@ -1544,7 +1544,7 @@ shdr_info[cnt].data = elf_newdata (shdr_info[cnt].newscn); if (shdr_info[cnt].data == NULL) -@@ -1049,7 +1073,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1060,7 +1084,7 @@ handle_elf (int fd, Elf *elf, const char error (EXIT_FAILURE, 0, gettext ("while create section header section: %s"), elf_errmsg (-1)); @@ -1553,7 +1553,7 @@ /* Finalize the string table and fill in the correct indices in the section headers. */ -@@ -1139,20 +1163,20 @@ handle_elf (int fd, Elf *elf, const char +@@ -1150,20 +1174,20 @@ handle_elf (int fd, Elf *elf, const char shndxdata = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn, NULL); @@ -1577,7 +1577,7 @@ >= shdr_info[cnt].data->d_size / elsize); } -@@ -1207,7 +1231,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1218,7 +1242,7 @@ handle_elf (int fd, Elf *elf, const char sec = shdr_info[sym->st_shndx].idx; else { @@ -1586,7 +1586,7 @@ sec = shdr_info[xshndx].idx; } -@@ -1228,7 +1252,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1239,7 +1263,7 @@ handle_elf (int fd, Elf *elf, const char nxshndx = sec; } @@ -1595,7 +1595,7 @@ if ((inner != destidx || nshndx != sym->st_shndx || (shndxdata != NULL && nxshndx != xshndx)) -@@ -1252,7 +1276,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1263,7 +1287,7 @@ handle_elf (int fd, Elf *elf, const char || shdr_info[cnt].debug_data == NULL) /* This is a section symbol for a section which has been removed. */ @@ -1604,7 +1604,7 @@ } if (destidx != inner) -@@ -1439,11 +1463,11 @@ handle_elf (int fd, Elf *elf, const char +@@ -1450,11 +1474,11 @@ handle_elf (int fd, Elf *elf, const char { GElf_Sym sym_mem; GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem); @@ -1618,7 +1618,7 @@ size_t hidx = elf_hash (name) % nbucket; if (bucket[hidx] == 0) -@@ -1462,7 +1486,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1473,7 +1497,7 @@ handle_elf (int fd, Elf *elf, const char else { /* Alpha and S390 64-bit use 64-bit SHT_HASH entries. */ @@ -1627,7 +1627,7 @@ == sizeof (Elf64_Xword)); Elf64_Xword *bucket = (Elf64_Xword *) hashd->d_buf; -@@ -1493,11 +1517,11 @@ handle_elf (int fd, Elf *elf, const char +@@ -1504,11 +1528,11 @@ handle_elf (int fd, Elf *elf, const char { GElf_Sym sym_mem; GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem); diff --git a/elfutils.spec b/elfutils.spec index 5ea692eb..a75ad5fd 100644 --- a/elfutils.spec +++ b/elfutils.spec @@ -1,6 +1,6 @@ Name: elfutils Summary: A collection of utilities and DSOs to handle compiled objects -Version: 0.150 +Version: 0.151 %global baserelease 1 URL: https://fedorahosted.org/elfutils/ %global source_url http://fedorahosted.org/releases/e/l/elfutils/%{version}/ @@ -315,6 +315,14 @@ rm -rf ${RPM_BUILD_ROOT} %{_libdir}/libelf.a %changelog +* Wed Jan 12 2011 Roland McGrath <roland@redhat.com> - 0.151-1 +- Update to 0.151 + - libdwfl: Fix for more prelink cases with separate debug file. + - eu-strip: New flag --strip-sections to remove section headers entirely. + +* Thu Dec 2 2010 Roland McGrath <roland@redhat.com> - 0.150-2 +- libdwfl: Remove bogus assert. (#658268) + * Tue Nov 23 2010 Roland McGrath <roland@redhat.com> - 0.150-1 - Update to 0.150 - libdw: Fix for handling huge .debug_aranges section. (#638432) diff --git a/elfutils/INSTALL b/elfutils/INSTALL index 2550dab7..7d1c323b 100644 --- a/elfutils/INSTALL +++ b/elfutils/INSTALL @@ -4,8 +4,10 @@ Installation Instructions Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, 2006, 2007, 2008, 2009 Free Software Foundation, Inc. - This file is free documentation; the Free Software Foundation gives -unlimited permission to copy, distribute and modify it. + Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. This file is offered as-is, +without warranty of any kind. Basic Installation ================== @@ -13,7 +15,11 @@ Basic Installation Briefly, the shell commands `./configure; make; make install' should configure, build, and install this package. The following more-detailed instructions are generic; see the `README' file for -instructions specific to this package. +instructions specific to this package. Some packages provide this +`INSTALL' file but do not implement all of the features documented +below. The lack of an optional feature in a given package is not +necessarily a bug. More recommendations for GNU packages can be found +in *note Makefile Conventions: (standards)Makefile Conventions. The `configure' shell script attempts to guess correct values for various system-dependent variables used during compilation. It uses @@ -42,7 +48,7 @@ may remove or edit it. you want to change it or regenerate `configure' using a newer version of `autoconf'. -The simplest way to compile this package is: + The simplest way to compile this package is: 1. `cd' to the directory containing the package's source code and type `./configure' to configure the package for your system. @@ -53,12 +59,22 @@ The simplest way to compile this package is: 2. Type `make' to compile the package. 3. Optionally, type `make check' to run any self-tests that come with - the package. + the package, generally using the just-built uninstalled binaries. 4. Type `make install' to install the programs and any data files and - documentation. - - 5. You can remove the program binaries and object files from the + documentation. When installing into a prefix owned by root, it is + recommended that the package be configured and built as a regular + user, and only the `make install' phase executed with root + privileges. + + 5. Optionally, type `make installcheck' to repeat any self-tests, but + this time using the binaries in their final installed location. + This target does not install anything. Running this target as a + regular user, particularly if the prior `make install' required + root privileges, verifies that the installation completed + correctly. + + 6. You can remove the program binaries and object files from the source code directory by typing `make clean'. To also remove the files that `configure' created (so you can compile the package for a different kind of computer), type `make distclean'. There is @@ -67,8 +83,15 @@ The simplest way to compile this package is: all sorts of other programs in order to regenerate files that came with the distribution. - 6. Often, you can also type `make uninstall' to remove the installed - files again. + 7. Often, you can also type `make uninstall' to remove the installed + files again. In practice, not all packages have tested that + uninstallation works correctly, even though it is required by the + GNU Coding Standards. + + 8. Some packages, particularly those that use Automake, provide `make + distcheck', which can by used by developers to test that all other + targets like `make install' and `make uninstall' work correctly. + This target is generally not run by end users. Compilers and Options ===================== @@ -93,7 +116,8 @@ same time, by placing the object files for each architecture in their own directory. To do this, you can use GNU `make'. `cd' to the directory where you want the object files and executables to go and run the `configure' script. `configure' automatically checks for the -source code in the directory that `configure' is in and in `..'. +source code in the directory that `configure' is in and in `..'. This +is known as a "VPATH" build. With a non-GNU `make', it is safer to compile the package for one architecture at a time in the source code directory. After you have @@ -120,7 +144,8 @@ Installation Names By default, `make install' installs the package's commands under `/usr/local/bin', include files under `/usr/local/include', etc. You can specify an installation prefix other than `/usr/local' by giving -`configure' the option `--prefix=PREFIX'. +`configure' the option `--prefix=PREFIX', where PREFIX must be an +absolute file name. You can specify separate installation prefixes for architecture-specific files and architecture-independent files. If you @@ -131,15 +156,46 @@ Documentation and other data files still use the regular prefix. In addition, if you use an unusual directory layout you can give options like `--bindir=DIR' to specify different values for particular kinds of files. Run `configure --help' for a list of the directories -you can set and what kinds of files go in them. +you can set and what kinds of files go in them. In general, the +default for these options is expressed in terms of `${prefix}', so that +specifying just `--prefix' will affect all of the other directory +specifications that were not explicitly provided. + + The most portable way to affect installation locations is to pass the +correct locations to `configure'; however, many packages provide one or +both of the following shortcuts of passing variable assignments to the +`make install' command line to change installation locations without +having to reconfigure or recompile. + + The first method involves providing an override variable for each +affected directory. For example, `make install +prefix=/alternate/directory' will choose an alternate location for all +directory configuration variables that were expressed in terms of +`${prefix}'. Any directories that were specified during `configure', +but not in terms of `${prefix}', must each be overridden at install +time for the entire installation to be relocated. The approach of +makefile variable overrides for each directory variable is required by +the GNU Coding Standards, and ideally causes no recompilation. +However, some platforms have known limitations with the semantics of +shared libraries that end up requiring recompilation when using this +method, particularly noticeable in packages that use GNU Libtool. + + The second method involves providing the `DESTDIR' variable. For +example, `make install DESTDIR=/alternate/directory' will prepend +`/alternate/directory' before all installation names. The approach of +`DESTDIR' overrides is not required by the GNU Coding Standards, and +does not work on platforms that have drive letters. On the other hand, +it does better at avoiding recompilation issues, and works well even +when some directory options were not specified in terms of `${prefix}' +at `configure' time. + +Optional Features +================= If the package supports it, you can cause programs to be installed with an extra prefix or suffix on their names by giving `configure' the option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. -Optional Features -================= - Some packages pay attention to `--enable-FEATURE' options to `configure', where FEATURE indicates an optional part of the package. They may also pay attention to `--with-PACKAGE' options, where PACKAGE @@ -152,6 +208,13 @@ find the X include and library files automatically, but if it doesn't, you can use the `configure' options `--x-includes=DIR' and `--x-libraries=DIR' to specify their locations. + Some packages offer the ability to configure how verbose the +execution of `make' will be. For these packages, running `./configure +--enable-silent-rules' sets the default to minimal output, which can be +overridden with `make V=1'; while running `./configure +--disable-silent-rules' sets the default to verbose, which can be +overridden with `make V=0'. + Particular systems ================== @@ -288,7 +351,7 @@ operates. `configure' can determine that directory automatically. `--prefix=DIR' - Use DIR as the installation prefix. *Note Installation Names:: + Use DIR as the installation prefix. *note Installation Names:: for more details, including other options available for fine-tuning the installation locations. diff --git a/elfutils/NEWS b/elfutils/NEWS index 62460220..f76b8345 100644 --- a/elfutils/NEWS +++ b/elfutils/NEWS @@ -1,3 +1,9 @@ +Version 0.151 + +libdwfl: Fix for more prelink cases with separate debug file. + +strip: New flag --strip-sections to remove section headers entirely. + Version 0.150 libdw: Fix for handling huge .debug_aranges section. diff --git a/elfutils/config/config.guess b/elfutils/config/config.guess index da833146..dc84c68e 100755 --- a/elfutils/config/config.guess +++ b/elfutils/config/config.guess @@ -1,10 +1,10 @@ #! /bin/sh # Attempt to guess a canonical system name. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 # Free Software Foundation, Inc. -timestamp='2009-04-27' +timestamp='2009-11-20' # 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 @@ -27,16 +27,16 @@ timestamp='2009-04-27' # the same distribution terms that you use for the rest of that program. -# Originally written by Per Bothner <per@bothner.com>. -# Please send patches to <config-patches@gnu.org>. Submit a context -# diff and a properly formatted ChangeLog entry. +# Originally written by Per Bothner. Please send patches (context +# diff format) to <config-patches@gnu.org> and include a ChangeLog +# entry. # # This script attempts to guess a canonical system name similar to # config.sub. If it succeeds, it prints the system name on stdout, and # exits with 0. Otherwise, it exits with 1. # -# The plan is that this can be called by configure scripts if you -# don't specify an explicit build system type. +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess;hb=HEAD me=`echo "$0" | sed -e 's,.*/,,'` @@ -170,7 +170,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in arm*|i386|m68k|ns32k|sh3*|sparc|vax) eval $set_cc_for_build if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \ - | grep __ELF__ >/dev/null + | grep -q __ELF__ then # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout). # Return netbsd for either. FIX? @@ -333,6 +333,9 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*) echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'` exit ;; + i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*) + echo i386-pc-auroraux${UNAME_RELEASE} + exit ;; i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*) eval $set_cc_for_build SUN_ARCH="i386" @@ -656,7 +659,7 @@ EOF # => hppa64-hp-hpux11.23 if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | - grep __LP64__ >/dev/null + grep -q __LP64__ then HP_ARCH="hppa2.0w" else @@ -807,12 +810,12 @@ EOF i*:PW*:*) echo ${UNAME_MACHINE}-pc-pw32 exit ;; - *:Interix*:[3456]*) + *:Interix*:*) case ${UNAME_MACHINE} in x86) echo i586-pc-interix${UNAME_RELEASE} exit ;; - EM64T | authenticamd | genuineintel) + authenticamd | genuineintel | EM64T) echo x86_64-unknown-interix${UNAME_RELEASE} exit ;; IA64) @@ -822,6 +825,9 @@ EOF [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*) echo i${UNAME_MACHINE}-pc-mks exit ;; + 8664:Windows_NT:*) + echo x86_64-pc-mks + exit ;; i*:Windows_NT*:* | Pentium*:Windows_NT*:*) # How do we know it's Interix rather than the generic POSIX subsystem? # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we @@ -851,6 +857,20 @@ EOF i*86:Minix:*:*) echo ${UNAME_MACHINE}-pc-minix exit ;; + alpha:Linux:*:*) + case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in + EV5) UNAME_MACHINE=alphaev5 ;; + EV56) UNAME_MACHINE=alphaev56 ;; + PCA56) UNAME_MACHINE=alphapca56 ;; + PCA57) UNAME_MACHINE=alphapca56 ;; + EV6) UNAME_MACHINE=alphaev6 ;; + EV67) UNAME_MACHINE=alphaev67 ;; + EV68*) UNAME_MACHINE=alphaev68 ;; + esac + objdump --private-headers /bin/sh | grep -q ld.so.1 + if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi + echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} + exit ;; arm*:Linux:*:*) eval $set_cc_for_build if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \ @@ -873,6 +893,17 @@ EOF frv:Linux:*:*) echo frv-unknown-linux-gnu exit ;; + i*86:Linux:*:*) + LIBC=gnu + eval $set_cc_for_build + sed 's/^ //' << EOF >$dummy.c + #ifdef __dietlibc__ + LIBC=dietlibc + #endif +EOF + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC'` + echo "${UNAME_MACHINE}-pc-linux-${LIBC}" + exit ;; ia64:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; @@ -882,78 +913,34 @@ EOF m68*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; - mips:Linux:*:*) - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #undef CPU - #undef mips - #undef mipsel - #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mipsel - #else - #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips - #else - CPU= - #endif - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" - test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } - ;; - mips64:Linux:*:*) + mips:Linux:*:* | mips64:Linux:*:*) eval $set_cc_for_build sed 's/^ //' << EOF >$dummy.c #undef CPU - #undef mips64 - #undef mips64el + #undef ${UNAME_MACHINE} + #undef ${UNAME_MACHINE}el #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL) - CPU=mips64el + CPU=${UNAME_MACHINE}el #else #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB) - CPU=mips64 + CPU=${UNAME_MACHINE} #else CPU= #endif #endif EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^CPU/{ - s: ::g - p - }'`" + eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'` test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit; } ;; or32:Linux:*:*) echo or32-unknown-linux-gnu exit ;; - ppc:Linux:*:*) - echo powerpc-unknown-linux-gnu - exit ;; - ppc64:Linux:*:*) - echo powerpc64-unknown-linux-gnu - exit ;; - alpha:Linux:*:*) - case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in - EV5) UNAME_MACHINE=alphaev5 ;; - EV56) UNAME_MACHINE=alphaev56 ;; - PCA56) UNAME_MACHINE=alphapca56 ;; - PCA57) UNAME_MACHINE=alphapca56 ;; - EV6) UNAME_MACHINE=alphaev6 ;; - EV67) UNAME_MACHINE=alphaev67 ;; - EV68*) UNAME_MACHINE=alphaev68 ;; - esac - objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null - if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi - echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC} - exit ;; padre:Linux:*:*) echo sparc-unknown-linux-gnu exit ;; + parisc64:Linux:*:* | hppa64:Linux:*:*) + echo hppa64-unknown-linux-gnu + exit ;; parisc:Linux:*:* | hppa:Linux:*:*) # Look for CPU level case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in @@ -962,8 +949,11 @@ EOF *) echo hppa-unknown-linux-gnu ;; esac exit ;; - parisc64:Linux:*:* | hppa64:Linux:*:*) - echo hppa64-unknown-linux-gnu + ppc64:Linux:*:*) + echo powerpc64-unknown-linux-gnu + exit ;; + ppc:Linux:*:*) + echo powerpc-unknown-linux-gnu exit ;; s390:Linux:*:* | s390x:Linux:*:*) echo ${UNAME_MACHINE}-ibm-linux @@ -986,66 +976,6 @@ EOF xtensa*:Linux:*:*) echo ${UNAME_MACHINE}-unknown-linux-gnu exit ;; - i*86:Linux:*:*) - # The BFD linker knows what the default object file format is, so - # first see if it will tell us. cd to the root directory to prevent - # problems with other programs or directories called `ld' in the path. - # Set LC_ALL=C to ensure ld outputs messages in English. - ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \ - | sed -ne '/supported targets:/!d - s/[ ][ ]*/ /g - s/.*supported targets: *// - s/ .*// - p'` - case "$ld_supported_targets" in - elf32-i386) - TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu" - ;; - a.out-i386-linux) - echo "${UNAME_MACHINE}-pc-linux-gnuaout" - exit ;; - "") - # Either a pre-BFD a.out linker (linux-gnuoldld) or - # one that does not give us useful --help. - echo "${UNAME_MACHINE}-pc-linux-gnuoldld" - exit ;; - esac - # Determine whether the default compiler is a.out or elf - eval $set_cc_for_build - sed 's/^ //' << EOF >$dummy.c - #include <features.h> - #ifdef __ELF__ - # ifdef __GLIBC__ - # if __GLIBC__ >= 2 - LIBC=gnu - # else - LIBC=gnulibc1 - # endif - # else - LIBC=gnulibc1 - # endif - #else - #if defined(__INTEL_COMPILER) || defined(__PGI) || defined(__SUNPRO_C) || defined(__SUNPRO_CC) - LIBC=gnu - #else - LIBC=gnuaout - #endif - #endif - #ifdef __dietlibc__ - LIBC=dietlibc - #endif -EOF - eval "`$CC_FOR_BUILD -E $dummy.c 2>/dev/null | sed -n ' - /^LIBC/{ - s: ::g - p - }'`" - test x"${LIBC}" != x && { - echo "${UNAME_MACHINE}-pc-linux-${LIBC}" - exit - } - test x"${TENTATIVE}" != x && { echo "${TENTATIVE}"; exit; } - ;; i*86:DYNIX/ptx:4*:*) # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there. # earlier versions are messed up and put the nodename in both @@ -1074,7 +1004,7 @@ EOF i*86:syllable:*:*) echo ${UNAME_MACHINE}-pc-syllable exit ;; - i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*) + i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*) echo i386-unknown-lynxos${UNAME_RELEASE} exit ;; i*86:*DOS:*:*) @@ -1182,7 +1112,7 @@ EOF rs6000:LynxOS:2.*:*) echo rs6000-unknown-lynxos${UNAME_RELEASE} exit ;; - PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*) + PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*) echo powerpc-unknown-lynxos${UNAME_RELEASE} exit ;; SM[BE]S:UNIX_SV:*:*) @@ -1275,6 +1205,16 @@ EOF *:Darwin:*:*) UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown case $UNAME_PROCESSOR in + i386) + eval $set_cc_for_build + if [ "$CC_FOR_BUILD" != 'no_compiler_found' ]; then + if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \ + (CCOPTS= $CC_FOR_BUILD -E - 2>/dev/null) | \ + grep IS_64BIT_ARCH >/dev/null + then + UNAME_PROCESSOR="x86_64" + fi + fi ;; unknown) UNAME_PROCESSOR=powerpc ;; esac echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE} diff --git a/elfutils/config/config.sub b/elfutils/config/config.sub index a39437d0..2a55a507 100755 --- a/elfutils/config/config.sub +++ b/elfutils/config/config.sub @@ -1,10 +1,10 @@ #! /bin/sh # Configuration validation subroutine script. # Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, -# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 +# 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 # Free Software Foundation, Inc. -timestamp='2009-04-17' +timestamp='2009-11-20' # This file is (in principle) common to ALL GNU software. # The presence of a machine in this file suggests that SOME GNU software @@ -32,13 +32,16 @@ timestamp='2009-04-17' # Please send patches to <config-patches@gnu.org>. Submit a context -# diff and a properly formatted ChangeLog entry. +# diff and a properly formatted GNU ChangeLog entry. # # Configuration subroutine to validate and canonicalize a configuration type. # Supply the specified configuration type as an argument. # If it is invalid, we print an error message on stderr and exit with code 1. # Otherwise, we print the canonical config type on stdout and succeed. +# You can get the latest version of this script from: +# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub;hb=HEAD + # This file is supposed to be the same for all GNU packages # and recognize all the CPU types, system types and aliases # that are meaningful with *any* GNU software. @@ -149,10 +152,13 @@ case $os in -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \ - -apple | -axis | -knuth | -cray) + -apple | -axis | -knuth | -cray | -microblaze) os= basic_machine=$1 ;; + -bluegene*) + os=-cnk + ;; -sim | -cisco | -oki | -wec | -winbond) os= basic_machine=$1 @@ -281,6 +287,7 @@ case $basic_machine in | pdp10 | pdp11 | pj | pjl \ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \ | pyramid \ + | rx \ | score \ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[34]eb | sheb | shbe | shle | sh[1234]le | sh3ele \ | sh64 | sh64le \ @@ -288,13 +295,14 @@ case $basic_machine in | sparcv8 | sparcv9 | sparcv9b | sparcv9v \ | spu | strongarm \ | tahoe | thumb | tic4x | tic80 | tron \ + | ubicom32 \ | v850 | v850e \ | we32k \ | x86 | xc16x | xscale | xscalee[bl] | xstormy16 | xtensa \ | z8k | z80) basic_machine=$basic_machine-unknown ;; - m6811 | m68hc11 | m6812 | m68hc12) + m6811 | m68hc11 | m6812 | m68hc12 | picochip) # Motorola 68HC11/12. basic_machine=$basic_machine-unknown os=-none @@ -337,7 +345,7 @@ case $basic_machine in | lm32-* \ | m32c-* | m32r-* | m32rle-* \ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \ - | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \ + | m88110-* | m88k-* | maxq-* | mcore-* | metag-* | microblaze-* \ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \ | mips16-* \ | mips64-* | mips64el-* \ @@ -365,7 +373,7 @@ case $basic_machine in | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \ | pyramid-* \ - | romp-* | rs6000-* \ + | romp-* | rs6000-* | rx-* \ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \ @@ -374,6 +382,7 @@ case $basic_machine in | tahoe-* | thumb-* \ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* | tile-* \ | tron-* \ + | ubicom32-* \ | v850-* | v850e-* | vax-* \ | we32k-* \ | x86-* | x86_64-* | xc16x-* | xps100-* | xscale-* | xscalee[bl]-* \ @@ -467,6 +476,10 @@ case $basic_machine in basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'` os=-linux ;; + bluegene*) + basic_machine=powerpc-ibm + os=-cnk + ;; c90) basic_machine=c90-cray os=-unicos @@ -719,6 +732,9 @@ case $basic_machine in basic_machine=ns32k-utek os=-sysv ;; + microblaze) + basic_machine=microblaze-xilinx + ;; mingw32) basic_machine=i386-pc os=-mingw32 @@ -1240,6 +1256,9 @@ case $os in # First match some system type aliases # that might get confused with valid system types. # -solaris* is a basic system type, with this one exception. + -auroraux) + os=-auroraux + ;; -solaris1 | -solaris1.*) os=`echo $os | sed -e 's|solaris1|sunos4|'` ;; @@ -1260,9 +1279,9 @@ case $os in # Each alternative MUST END IN A *, to match a version number. # -sysv* is not here because it comes later, after sysvr4. -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \ - | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\ - | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \ - | -kopensolaris* \ + | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\ + | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \ + | -sym* | -kopensolaris* \ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \ | -aos* | -aros* \ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \ @@ -1283,7 +1302,7 @@ case $os in | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \ - | -skyos* | -haiku* | -rdos* | -toppers* | -drops*) + | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es*) # Remember, each alternative MUST END IN *, to match a version number. ;; -qnx*) @@ -1613,7 +1632,7 @@ case $basic_machine in -sunos*) vendor=sun ;; - -aix*) + -cnk*|-aix*) vendor=ibm ;; -beos*) diff --git a/elfutils/config/elfutils.spec.in b/elfutils/config/elfutils.spec.in index 78e8be9d..d406daa5 100644 --- a/elfutils/config/elfutils.spec.in +++ b/elfutils/config/elfutils.spec.in @@ -188,6 +188,13 @@ rm -rf ${RPM_BUILD_ROOT} %{_libdir}/libelf.a %changelog +* Mon Nov 22 2010 <drepper@redhat.com> 0.150-1 +- libdw: Fix for handling huge .debug_aranges section. +- libdwfl: Fix for handling prelinked DSO with separate debug file. +- findtextrel: Fix diagnostics to work with usual section ordering. +- libebl: i386 backend fix for multi-register integer return value + location. + * Mon Sep 13 2010 <drepper@redhat.com> 0.149-1 - libdw: Decode new DW_OP_GNU_implicit_pointer operation; new function dwarf_getlocation_implicit_pointer. diff --git a/elfutils/configure b/elfutils/configure index 6c9a21c5..db11af71 100755 --- a/elfutils/configure +++ b/elfutils/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.66 for Red Hat elfutils 0.150. +# Generated by GNU Autoconf 2.66 for Red Hat elfutils 0.151. # # Report bugs to <http://bugzilla.redhat.com/bugzilla/>. # @@ -553,8 +553,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='Red Hat elfutils' PACKAGE_TARNAME='elfutils' -PACKAGE_VERSION='0.150' -PACKAGE_STRING='Red Hat elfutils 0.150' +PACKAGE_VERSION='0.151' +PACKAGE_STRING='Red Hat elfutils 0.151' PACKAGE_BUGREPORT='http://bugzilla.redhat.com/bugzilla/' PACKAGE_URL='' @@ -1269,7 +1269,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures Red Hat elfutils 0.150 to adapt to many kinds of systems. +\`configure' configures Red Hat elfutils 0.151 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1339,7 +1339,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of Red Hat elfutils 0.150:";; + short | recursive ) echo "Configuration of Red Hat elfutils 0.151:";; esac cat <<\_ACEOF @@ -1451,7 +1451,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -Red Hat elfutils configure 0.150 +Red Hat elfutils configure 0.151 generated by GNU Autoconf 2.66 Copyright (C) 2010 Free Software Foundation, Inc. @@ -1554,7 +1554,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by Red Hat elfutils $as_me 0.150, which was +It was created by Red Hat elfutils $as_me 0.151, which was generated by GNU Autoconf 2.66. Invocation command line was $ $0 $@ @@ -2375,7 +2375,7 @@ fi # Define the identity of the package. PACKAGE='elfutils' - VERSION='0.150' + VERSION='0.151' cat >>confdefs.h <<_ACEOF @@ -5489,7 +5489,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by Red Hat elfutils $as_me 0.150, which was +This file was extended by Red Hat elfutils $as_me 0.151, which was generated by GNU Autoconf 2.66. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -5555,7 +5555,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`" ac_cs_version="\\ -Red Hat elfutils config.status 0.150 +Red Hat elfutils config.status 0.151 configured by $0, generated by GNU Autoconf 2.66, with options \\"\$ac_cs_config\\" diff --git a/elfutils/configure.ac b/elfutils/configure.ac index a7541461..39ecd391 100644 --- a/elfutils/configure.ac +++ b/elfutils/configure.ac @@ -1,7 +1,7 @@ dnl Process this file with autoconf to produce a configure script. dnl Configure input file for elfutils. -*-autoconf-*- dnl -dnl Copyright (C) 1996-2010 Red Hat, Inc. +dnl Copyright (C) 1996-2011 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 @@ -16,7 +16,7 @@ dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software Foundation, dnl Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. dnl -AC_INIT([Red Hat elfutils],[0.150],[http://bugzilla.redhat.com/bugzilla/],[elfutils]) +AC_INIT([Red Hat elfutils],[0.151],[http://bugzilla.redhat.com/bugzilla/],[elfutils]) AC_CONFIG_AUX_DIR([config]) AC_CONFIG_FILES([config/Makefile]) diff --git a/elfutils/elfutils.spec b/elfutils/elfutils.spec index a44512cd..38681cc9 100644 --- a/elfutils/elfutils.spec +++ b/elfutils/elfutils.spec @@ -1,7 +1,7 @@ # -*- rpm-spec-*- Summary: A collection of utilities and DSOs to handle compiled objects Name: elfutils -Version: 0.150 +Version: 0.151 Release: 1 License: GPLv2 with exceptions Group: Development/Tools @@ -188,6 +188,13 @@ rm -rf ${RPM_BUILD_ROOT} %{_libdir}/libelf.a %changelog +* Mon Nov 22 2010 <drepper@redhat.com> 0.150-1 +- libdw: Fix for handling huge .debug_aranges section. +- libdwfl: Fix for handling prelinked DSO with separate debug file. +- findtextrel: Fix diagnostics to work with usual section ordering. +- libebl: i386 backend fix for multi-register integer return value + location. + * Mon Sep 13 2010 <drepper@redhat.com> 0.149-1 - libdw: Decode new DW_OP_GNU_implicit_pointer operation; new function dwarf_getlocation_implicit_pointer. diff --git a/elfutils/libdwfl/ChangeLog b/elfutils/libdwfl/ChangeLog index dd4eb10c..16fb71d3 100644 --- a/elfutils/libdwfl/ChangeLog +++ b/elfutils/libdwfl/ChangeLog @@ -1,3 +1,22 @@ +2011-01-11 Roland McGrath <roland@redhat.com> + + * dwfl_module_getdwarf.c (open_elf): Remove section-based + address_sync fixup from here. + (find_prelink_address_sync): New function. + (find_debuginfo): Call it. + * libdwflP.h (DWFL_ERRORS): Add BAD_PRELINK error. + +2011-01-04 Roland McGrath <roland@redhat.com> + + * dwfl_module_getdwarf.c (open_elf): Enhance address_sync calculation + logic to consider section addresses, the better to survive all the + possible prelink machinations. + * libdwflP.h (struct dwfl_file): Comment change. + +2010-11-30 Roland McGrath <roland@redhat.com> + + * derelocate.c (dwfl_module_relocations): Remove over-eager assert. + 2010-11-12 Roland McGrath <roland@redhat.com> * libdwflP.h (struct Dwfl_Module): New member main_bias. diff --git a/elfutils/libdwfl/derelocate.c b/elfutils/libdwfl/derelocate.c index 483b75eb..ba6d9db4 100644 --- a/elfutils/libdwfl/derelocate.c +++ b/elfutils/libdwfl/derelocate.c @@ -1,5 +1,5 @@ /* Recover relocatibility for addresses computed from debug information. - Copyright (C) 2005-2009 Red Hat, Inc. + Copyright (C) 2005-2010 Red Hat, Inc. This file is part of Red Hat elfutils. Red Hat elfutils is free software; you can redistribute it and/or modify @@ -240,7 +240,6 @@ dwfl_module_relocations (Dwfl_Module *mod) case ET_EXEC: assert (mod->main.vaddr == mod->low_addr); - assert (mod->debug.address_sync == mod->main.address_sync); break; } diff --git a/elfutils/libdwfl/dwfl_module_getdwarf.c b/elfutils/libdwfl/dwfl_module_getdwarf.c index d89081b7..0825722d 100644 --- a/elfutils/libdwfl/dwfl_module_getdwarf.c +++ b/elfutils/libdwfl/dwfl_module_getdwarf.c @@ -1,5 +1,5 @@ /* Find debugging and symbol information for a module in libdwfl. - Copyright (C) 2005-2010 Red Hat, Inc. + Copyright (C) 2005-2011 Red Hat, Inc. This file is part of Red Hat elfutils. Red Hat elfutils is free software; you can redistribute it and/or modify @@ -55,7 +55,7 @@ /* Open libelf FILE->fd and compute the load base of ELF as loaded in MOD. - When we return success, FILE->elf and FILE->bias are set up. */ + When we return success, FILE->elf and FILE->vaddr are set up. */ static inline Dwfl_Error open_elf (Dwfl_Module *mod, struct dwfl_file *file) { @@ -95,6 +95,38 @@ open_elf (Dwfl_Module *mod, struct dwfl_file *file) if (mod->e_type != ET_REL) { + /* In any non-ET_REL file, we compute the "synchronization address". + + We start with the address at the end of the first PT_LOAD + segment. When prelink converts REL to RELA in an ET_DYN + file, it expands the space between the beginning of the + segment and the actual code/data addresses. Since that + change wasn't made in the debug file, the distance from + p_vaddr to an address of interest (in an st_value or DWARF + data) now differs between the main and debug files. The + distance from address_sync to an address of interest remains + consistent. + + If there are no section headers at all (full stripping), then + the end of the first segment is a valid synchronization address. + This cannot happen in a prelinked file, since prelink itself + relies on section headers for prelinking and for undoing it. + (If you do full stripping on a prelinked file, then you get what + you deserve--you can neither undo the prelinking, nor expect to + line it up with a debug file separated before prelinking.) + + However, when prelink processes an ET_EXEC file, it can do + something different. There it juggles the "special" sections + (SHT_DYNSYM et al) to make space for the additional prelink + special sections. Sometimes it will do this by moving a special + section like .dynstr after the real program sections in the first + PT_LOAD segment--i.e. to the end. That changes the end address of + the segment, so it no longer lines up correctly and is not a valid + synchronization address to use. Because of this, we need to apply + a different prelink-savvy means to discover the synchronization + address when there is a separate debug file and a prelinked main + file. That is done in find_debuginfo, below. */ + size_t phnum; if (unlikely (elf_getphdrnum (file->elf, &phnum) != 0)) goto elf_error; @@ -250,6 +282,224 @@ find_debuglink (Elf *elf, GElf_Word *crc) return rawdata->d_buf; } +/* If the main file might have been prelinked, then we need to + discover the correct synchronization address between the main and + debug files. Because of prelink's section juggling, we cannot rely + on the address_sync computed from PT_LOAD segments (see open_elf). + + We will attempt to discover a synchronization address based on the + section headers instead. But finding a section address that is + safe to use requires identifying which sections are SHT_PROGBITS. + We can do that in the main file, but in the debug file all the + allocated sections have been transformed into SHT_NOBITS so we have + lost the means to match them up correctly. + + The only method left to us is to decode the .gnu.prelink_undo + section in the prelinked main file. This shows what the sections + looked like before prelink juggled them--when they still had a + direct correspondence to the debug file. */ +static Dwfl_Error +find_prelink_address_sync (Dwfl_Module *mod) +{ + /* The magic section is only identified by name. */ + size_t shstrndx; + if (elf_getshdrstrndx (mod->main.elf, &shstrndx) < 0) + return DWFL_E_LIBELF; + + Elf_Scn *scn = NULL; + while ((scn = elf_nextscn (mod->main.elf, scn)) != NULL) + { + GElf_Shdr shdr_mem; + GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem); + if (unlikely (shdr == NULL)) + return DWFL_E_LIBELF; + if (shdr->sh_type == SHT_PROGBITS + && !(shdr->sh_flags & SHF_ALLOC) + && shdr->sh_name != 0) + { + const char *secname = elf_strptr (mod->main.elf, shstrndx, + shdr->sh_name); + if (unlikely (secname == NULL)) + return DWFL_E_LIBELF; + if (!strcmp (secname, ".gnu.prelink_undo")) + break; + } + } + + if (scn == NULL) + /* There was no .gnu.prelink_undo section. */ + return DWFL_E_NOERROR; + + Elf_Data *undodata = elf_rawdata (scn, NULL); + if (unlikely (undodata == NULL)) + return DWFL_E_LIBELF; + + /* Decode the section. It consists of the original ehdr, phdrs, + and shdrs (but omits section 0). */ + + union + { + Elf32_Ehdr e32; + Elf64_Ehdr e64; + } ehdr; + Elf_Data dst = + { + .d_buf = &ehdr, + .d_size = sizeof ehdr, + .d_type = ELF_T_EHDR, + .d_version = EV_CURRENT + }; + Elf_Data src = *undodata; + src.d_size = gelf_fsize (mod->main.elf, ELF_T_EHDR, 1, EV_CURRENT); + src.d_type = ELF_T_EHDR; + if (unlikely (gelf_xlatetom (mod->main.elf, &dst, &src, + elf_getident (mod->main.elf, NULL)[EI_DATA]) + == NULL)) + return DWFL_E_LIBELF; + + size_t shentsize = gelf_fsize (mod->main.elf, ELF_T_SHDR, 1, EV_CURRENT); + size_t phentsize = gelf_fsize (mod->main.elf, ELF_T_PHDR, 1, EV_CURRENT); + + uint_fast16_t phnum; + uint_fast16_t shnum; + if (ehdr.e32.e_ident[EI_CLASS] == ELFCLASS32) + { + if (ehdr.e32.e_shentsize != shentsize + || ehdr.e32.e_phentsize != phentsize) + return DWFL_E_BAD_PRELINK; + phnum = ehdr.e32.e_phnum; + shnum = ehdr.e32.e_shnum; + } + else + { + if (ehdr.e64.e_shentsize != shentsize + || ehdr.e64.e_phentsize != phentsize) + return DWFL_E_BAD_PRELINK; + phnum = ehdr.e64.e_phnum; + shnum = ehdr.e64.e_shnum; + } + + /* Since prelink does not store the zeroth section header in the undo + section, it cannot support SHN_XINDEX encoding. */ + if (unlikely (shnum >= SHN_LORESERVE) + || unlikely (undodata->d_size != (src.d_size + + phnum * phentsize + + (shnum - 1) * shentsize))) + return DWFL_E_BAD_PRELINK; + + /* We look at the allocated SHT_PROGBITS (or SHT_NOBITS) sections. (Most + every file will have some SHT_PROGBITS sections, but it's possible to + have one with nothing but .bss, i.e. SHT_NOBITS.) The special sections + that can be moved around have different sh_type values--except for + .interp, the section that became the PT_INTERP segment. So we exclude + the SHT_PROGBITS section whose address matches the PT_INTERP p_vaddr. + For this reason, we must examine the phdrs first to find PT_INTERP. */ + + src.d_buf += src.d_size; + src.d_type = ELF_T_PHDR; + src.d_size = phnum * phentsize; + + GElf_Addr interp = 0; + { + union + { + Elf32_Phdr p32[phnum]; + Elf64_Phdr p64[phnum]; + } phdr; + dst.d_buf = &phdr; + dst.d_size = sizeof phdr; + if (unlikely (gelf_xlatetom (mod->main.elf, &dst, &src, + ehdr.e32.e_ident[EI_DATA]) == NULL)) + return DWFL_E_LIBELF; + if (ehdr.e32.e_ident[EI_CLASS] == ELFCLASS32) + { + for (uint_fast16_t i = 0; i < phnum; ++i) + if (phdr.p32[i].p_type == PT_INTERP) + { + interp = phdr.p32[i].p_vaddr; + break; + } + } + else + { + for (uint_fast16_t i = 0; i < phnum; ++i) + if (phdr.p32[i].p_type == PT_INTERP) + { + interp = phdr.p32[i].p_vaddr; + break; + } + } + } + + src.d_buf += src.d_size; + src.d_type = ELF_T_SHDR; + src.d_size = gelf_fsize (mod->main.elf, ELF_T_SHDR, shnum - 1, EV_CURRENT); + + union + { + Elf32_Shdr s32[shnum - 1]; + Elf64_Shdr s64[shnum - 1]; + } shdr; + dst.d_buf = &shdr; + dst.d_size = sizeof shdr; + if (unlikely (gelf_xlatetom (mod->main.elf, &dst, &src, + ehdr.e32.e_ident[EI_DATA]) == NULL)) + return DWFL_E_LIBELF; + + /* Now we can look at the original section headers of the main file + before it was prelinked. First we'll apply our method to the main + file sections as they are after prelinking, to calculate the + synchronization address of the main file. Then we'll apply that + same method to the saved section headers, to calculate the matching + synchronization address of the debug file. */ + + GElf_Addr highest; + + inline void consider_shdr (GElf_Word sh_type, + GElf_Xword sh_flags, + GElf_Addr sh_addr) + { + if ((sh_flags & SHF_ALLOC) + && ((sh_type == SHT_PROGBITS && sh_addr != interp) + || sh_type == SHT_NOBITS)) + { + if (sh_addr > highest) + highest = sh_addr; + } + } + + highest = 0; + scn = NULL; + while ((scn = elf_nextscn (mod->main.elf, scn)) != NULL) + { + GElf_Shdr sh_mem; + GElf_Shdr *sh = gelf_getshdr (scn, &sh_mem); + if (unlikely (sh == NULL)) + return DWFL_E_LIBELF; + consider_shdr (sh->sh_type, sh->sh_flags, sh->sh_addr); + } + if (highest > mod->main.vaddr) + { + mod->main.address_sync = highest; + + highest = 0; + if (ehdr.e32.e_ident[EI_CLASS] == ELFCLASS32) + for (size_t i = 0; i < shnum - 1; ++i) + consider_shdr (shdr.s32[i].sh_type, shdr.s32[i].sh_flags, + shdr.s32[i].sh_addr); + else + for (size_t i = 0; i < shnum - 1; ++i) + consider_shdr (shdr.s64[i].sh_type, shdr.s64[i].sh_flags, + shdr.s64[i].sh_addr); + + if (highest > mod->debug.vaddr) + mod->debug.address_sync = highest; + else + return DWFL_E_BAD_PRELINK; + } + + return DWFL_E_NOERROR; +} /* Find the separate debuginfo file for this module and open libelf on it. When we return success, MOD->debug is set up. */ @@ -267,7 +517,10 @@ find_debuginfo (Dwfl_Module *mod) debuglink_file, debuglink_crc, &mod->debug.name); - return open_elf (mod, &mod->debug); + Dwfl_Error result = open_elf (mod, &mod->debug); + if (result == DWFL_E_NOERROR && mod->debug.address_sync != 0) + result = find_prelink_address_sync (mod); + return result; } diff --git a/elfutils/libdwfl/libdwflP.h b/elfutils/libdwfl/libdwflP.h index 1003b2d3..1f7532bf 100644 --- a/elfutils/libdwfl/libdwflP.h +++ b/elfutils/libdwfl/libdwflP.h @@ -1,5 +1,5 @@ /* Internal definitions for libdwfl. - Copyright (C) 2005-2010 Red Hat, Inc. + Copyright (C) 2005-2011 Red Hat, Inc. This file is part of Red Hat elfutils. Red Hat elfutils is free software; you can redistribute it and/or modify @@ -94,7 +94,8 @@ DWFL_ERROR (ALREADY_ELF, N_("ELF file opened")) \ DWFL_ERROR (BADELF, N_("not a valid ELF file")) \ DWFL_ERROR (WEIRD_TYPE, N_("cannot handle DWARF type description")) \ - DWFL_ERROR (WRONG_ID_ELF, N_("ELF file does not match build ID")) + DWFL_ERROR (WRONG_ID_ELF, N_("ELF file does not match build ID")) \ + DWFL_ERROR (BAD_PRELINK, N_("corrupt .gnu.prelink_undo section data")) #define DWFL_ERROR(name, text) DWFL_E_##name, typedef enum { DWFL_ERRORS DWFL_E_NUM } Dwfl_Error; @@ -146,15 +147,7 @@ struct dwfl_file GElf_Addr vaddr; /* This is an address chosen for synchronization between the main file - and the debug file. In a file without phdrs, this is zero. In - other files it is the address at the end of the first PT_LOAD - segment. When prelink converts REL to RELA in an ET_DYN file, it - expands the space between the beginning of the segment and the - actual code/data addresses. Since that change wasn't made in the - debug file, the distance from p_vaddr to an address of interest (in - an st_value or DWARF data) now differs between the main and debug - files. The distance from address_sync to an address of interest - remains consistent. */ + and the debug file. See dwfl_module_getdwarf.c for how it's chosen. */ GElf_Addr address_sync; }; diff --git a/elfutils/libelf/ChangeLog b/elfutils/libelf/ChangeLog index a8ded88e..d88e2fe5 100644 --- a/elfutils/libelf/ChangeLog +++ b/elfutils/libelf/ChangeLog @@ -1,3 +1,8 @@ +2011-01-05 Jan Kratochvil <jan.kratochvil@redhat.com> + + * elf_getdata_rawchunk.c (elf_getdata_rawchunk): Fix off64_t overflow + when MAXIMUM_SIZE == ~0. + 2010-08-18 Roland McGrath <roland@redhat.com> * gelf_fsize.c (__libelf_type_sizes): Add entries for ELF_T_LIB diff --git a/elfutils/libelf/elf_getdata_rawchunk.c b/elfutils/libelf/elf_getdata_rawchunk.c index 5af0f7f3..3ec2100a 100644 --- a/elfutils/libelf/elf_getdata_rawchunk.c +++ b/elfutils/libelf/elf_getdata_rawchunk.c @@ -78,8 +78,8 @@ elf_getdata_rawchunk (elf, offset, size, type) return NULL; } - if (unlikely (size > elf->maximum_size - || (off64_t) (elf->maximum_size - size) < offset)) + if (unlikely (offset < 0 || offset + (off64_t) size < offset + || offset + size > elf->maximum_size)) { /* Invalid request. */ __libelf_seterrno (ELF_E_INVALID_OP); diff --git a/elfutils/po/de.gmo b/elfutils/po/de.gmo Binary files differindex 754a5591..88abb6e4 100644 --- a/elfutils/po/de.gmo +++ b/elfutils/po/de.gmo diff --git a/elfutils/po/de.po b/elfutils/po/de.po index 6dca9280..a93d4778 100644 --- a/elfutils/po/de.po +++ b/elfutils/po/de.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: elfutils VERSION\n" "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n" -"POT-Creation-Date: 2010-11-22 22:08-0500\n" +"POT-Creation-Date: 2011-01-12 17:51-0500\n" "PO-Revision-Date: 2009-06-29 15:15+0200\n" "Last-Translator: Michael Münch <micm@fedoraproject.org>\n" "Language-Team: German\n" @@ -367,6 +367,11 @@ msgstr "konnte Elf-Deskriptor nicht erzeugen: %s" msgid "ELF file does not match build ID" msgstr "" +#: libdwfl/libdwflP.h:98 +#, fuzzy +msgid "corrupt .gnu.prelink_undo section data" +msgstr "konnte Abschnittsdaten nicht holen: %s" + #: libebl/eblbackendname.c:63 msgid "No backend" msgstr "Kein Backend" @@ -597,7 +602,7 @@ msgstr "" #: src/addr2line.c:189 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:456 src/size.c:219 src/strings.c:227 -#: src/strip.c:204 src/unstrip.c:234 +#: src/strip.c:210 src/unstrip.c:234 #, c-format msgid "" "Copyright (C) %s Red Hat, Inc.\n" @@ -612,7 +617,7 @@ msgstr "" #: src/addr2line.c:194 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:461 src/size.c:224 src/strings.c:232 -#: src/strip.c:209 src/unstrip.c:239 +#: src/strip.c:215 src/unstrip.c:239 #, c-format msgid "Written by %s.\n" msgstr "Geschrieben von %s.\n" @@ -1018,7 +1023,7 @@ 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:1913 +#: src/strings.c:183 src/strip.c:443 src/strip.c:478 src/unstrip.c:1913 #: src/unstrip.c:1942 #, c-format msgid "cannot open '%s'" @@ -2682,7 +2687,7 @@ 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 +#: src/strings.c:92 src/strip.c:100 msgid "[FILE...]" msgstr "" @@ -3168,7 +3173,7 @@ msgstr "" 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:636 src/strip.c:543 +#: src/ldgeneric.c:661 src/ldgeneric.c:1122 src/readelf.c:636 src/strip.c:553 #, c-format msgid "cannot determine number of sections: %s" msgstr "" @@ -3465,7 +3470,7 @@ msgstr "" msgid "default visibility set as local and global" msgstr "Standard-Sichtbarkeit auf lokal und global gesetzt" -#: src/nm.c:74 src/strip.c:73 +#: src/nm.c:74 src/strip.c:74 msgid "Output selection:" msgstr "" @@ -3531,7 +3536,7 @@ msgstr "Kennzeichne schwache Symbole" msgid "Print size of defined symbols" msgstr "Zeige Grösse der definierten Symbole" -#: src/nm.c:98 src/size.c:80 src/strip.c:78 src/unstrip.c:81 +#: src/nm.c:98 src/size.c:80 src/strip.c:79 src/unstrip.c:81 msgid "Output options:" msgstr "Ausgabeoptionen:" @@ -3551,18 +3556,18 @@ msgstr "Sortierreihenfolge umkehren" 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 +#: src/nm.c:136 src/objdump.c:105 src/size.c:117 src/strip.c:124 #, c-format msgid "%s: INTERNAL ERROR %d (%s-%s): %s" msgstr "%s: INTERNER FEHLER %d (%s-%s): %s" #: src/nm.c:380 src/nm.c:392 src/size.c:317 src/size.c:326 src/size.c:337 -#: src/strip.c:1816 +#: src/strip.c:1878 #, c-format msgid "while closing '%s'" msgstr "beim Schliessen von '%s'" -#: src/nm.c:402 src/objdump.c:296 src/strip.c:359 +#: src/nm.c:402 src/objdump.c:296 src/strip.c:369 #, c-format msgid "%s: File format not recognized" msgstr "%s: Dateiformat nicht erkannt" @@ -3605,7 +3610,7 @@ msgstr "Kann Suchbaum nicht erstellen" #: src/readelf.c:1742 src/readelf.c:1952 src/readelf.c:2206 src/readelf.c:2272 #: src/readelf.c:2350 src/readelf.c:2848 src/readelf.c:2884 src/readelf.c:2946 #: src/readelf.c:6934 src/readelf.c:7832 src/readelf.c:7979 src/readelf.c:8047 -#: src/size.c:425 src/size.c:499 src/strip.c:483 +#: src/size.c:425 src/size.c:499 src/strip.c:493 #, c-format msgid "cannot get section header string table index" msgstr "" @@ -5320,149 +5325,158 @@ msgstr "re-mmap fehlgeschlagen" msgid "mprotect failed" msgstr "mprotect fehlgeschlagen" -#: src/strip.c:74 +#: src/strip.c:75 msgid "Place stripped output into FILE" msgstr "" -#: src/strip.c:75 +#: src/strip.c:76 msgid "Extract the removed sections into FILE" msgstr "" -#: src/strip.c:76 +#: src/strip.c:77 msgid "Embed name FILE instead of -f argument" msgstr "" -#: src/strip.c:80 +#: src/strip.c:81 msgid "Remove all debugging symbols" msgstr "" -#: src/strip.c:84 +#: src/strip.c:85 +msgid "Remove section headers (not recommended)" +msgstr "" + +#: src/strip.c:87 msgid "Copy modified/access timestamps to the output" msgstr "" -#: src/strip.c:86 +#: src/strip.c:89 msgid "Remove .comment section" msgstr "" -#: src/strip.c:89 +#: src/strip.c:92 msgid "Relax a few rules to handle slightly broken ELF files" msgstr "" -#: src/strip.c:94 +#: src/strip.c:97 msgid "Discard symbols from object files." msgstr "" -#: src/strip.c:186 +#: src/strip.c:192 #, c-format msgid "Only one input file allowed together with '-o' and '-f'" msgstr "" -#: src/strip.c:222 +#: src/strip.c:228 #, c-format msgid "-f option specified twice" msgstr "" -#: src/strip.c:231 +#: src/strip.c:237 #, c-format msgid "-F option specified twice" msgstr "" -#: src/strip.c:240 src/unstrip.c:125 +#: src/strip.c:246 src/unstrip.c:125 #, c-format msgid "-o option specified twice" msgstr "" -#: src/strip.c:260 +#: src/strip.c:266 #, c-format msgid "-R option supports only .comment section" msgstr "" -#: src/strip.c:298 src/strip.c:322 +#: src/strip.c:308 src/strip.c:332 #, c-format msgid "cannot stat input file '%s'" msgstr "" -#: src/strip.c:312 +#: src/strip.c:322 #, c-format msgid "while opening '%s'" msgstr "" -#: src/strip.c:350 +#: src/strip.c:360 #, c-format msgid "%s: cannot use -o or -f when stripping archive" msgstr "" -#: src/strip.c:448 +#: src/strip.c:458 #, c-format msgid "cannot open EBL backend" msgstr "" -#: src/strip.c:498 src/strip.c:522 +#: src/strip.c:508 src/strip.c:532 #, c-format msgid "cannot create new file '%s': %s" msgstr "" -#: src/strip.c:582 +#: src/strip.c:592 #, c-format msgid "illformed file '%s'" msgstr "" -#: src/strip.c:869 src/strip.c:956 +#: src/strip.c:880 src/strip.c:967 #, c-format msgid "while generating output file: %s" msgstr "" -#: src/strip.c:929 src/strip.c:1668 +#: src/strip.c:940 src/strip.c:1683 #, c-format msgid "%s: error while creating ELF header: %s" msgstr "" -#: src/strip.c:943 +#: src/strip.c:954 #, c-format msgid "while preparing output for '%s'" msgstr "" -#: src/strip.c:994 src/strip.c:1050 +#: src/strip.c:1005 src/strip.c:1061 #, c-format msgid "while create section header section: %s" msgstr "" -#: src/strip.c:1000 +#: src/strip.c:1011 #, c-format msgid "cannot allocate section data: %s" msgstr "" -#: src/strip.c:1059 +#: src/strip.c:1070 #, c-format msgid "while create section header string table: %s" msgstr "" -#: src/strip.c:1593 src/strip.c:1690 +#: src/strip.c:1595 src/strip.c:1705 #, c-format msgid "while writing '%s': %s" msgstr "" -#: src/strip.c:1604 +#: src/strip.c:1606 #, c-format msgid "while creating '%s'" msgstr "" -#: src/strip.c:1616 +#: src/strip.c:1628 #, c-format msgid "while computing checksum for debug information" msgstr "" -#: src/strip.c:1676 +#: src/strip.c:1691 #, c-format msgid "%s: error while reading the file: %s" msgstr "" -#: src/strip.c:1722 src/strip.c:1729 +#: src/strip.c:1730 src/strip.c:1750 +#, fuzzy, c-format +msgid "while writing '%s'" +msgstr "beim Schliessen von '%s'" + +#: src/strip.c:1784 src/strip.c:1791 #, c-format msgid "error while finishing '%s': %s" msgstr "" -#: src/strip.c:1752 src/strip.c:1809 +#: src/strip.c:1814 src/strip.c:1871 #, c-format msgid "cannot set access and modification date of '%s'" msgstr "" diff --git a/elfutils/po/elfutils.pot b/elfutils/po/elfutils.pot index a644718e..014a4eec 100644 --- a/elfutils/po/elfutils.pot +++ b/elfutils/po/elfutils.pot @@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: elfutils 0.150\n" +"Project-Id-Version: elfutils 0.151\n" "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n" -"POT-Creation-Date: 2010-11-22 22:08-0500\n" +"POT-Creation-Date: 2011-01-12 17:51-0500\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" @@ -356,6 +356,10 @@ msgstr "" msgid "ELF file does not match build ID" msgstr "" +#: libdwfl/libdwflP.h:98 +msgid "corrupt .gnu.prelink_undo section data" +msgstr "" + #: libebl/eblbackendname.c:63 msgid "No backend" msgstr "" @@ -584,7 +588,7 @@ msgstr "" #: src/addr2line.c:189 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:456 src/size.c:219 src/strings.c:227 -#: src/strip.c:204 src/unstrip.c:234 +#: src/strip.c:210 src/unstrip.c:234 #, c-format msgid "" "Copyright (C) %s Red Hat, Inc.\n" @@ -595,7 +599,7 @@ msgstr "" #: src/addr2line.c:194 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:461 src/size.c:224 src/strings.c:232 -#: src/strip.c:209 src/unstrip.c:239 +#: src/strip.c:215 src/unstrip.c:239 #, c-format msgid "Written by %s.\n" msgstr "" @@ -999,7 +1003,7 @@ 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:1913 +#: src/strings.c:183 src/strip.c:443 src/strip.c:478 src/unstrip.c:1913 #: src/unstrip.c:1942 #, c-format msgid "cannot open '%s'" @@ -2663,7 +2667,7 @@ 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 +#: src/strings.c:92 src/strip.c:100 msgid "[FILE...]" msgstr "" @@ -3149,7 +3153,7 @@ msgstr "" 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:636 src/strip.c:543 +#: src/ldgeneric.c:661 src/ldgeneric.c:1122 src/readelf.c:636 src/strip.c:553 #, c-format msgid "cannot determine number of sections: %s" msgstr "" @@ -3446,7 +3450,7 @@ msgstr "" msgid "default visibility set as local and global" msgstr "" -#: src/nm.c:74 src/strip.c:73 +#: src/nm.c:74 src/strip.c:74 msgid "Output selection:" msgstr "" @@ -3508,7 +3512,7 @@ msgstr "" msgid "Print size of defined symbols" msgstr "" -#: src/nm.c:98 src/size.c:80 src/strip.c:78 src/unstrip.c:81 +#: src/nm.c:98 src/size.c:80 src/strip.c:79 src/unstrip.c:81 msgid "Output options:" msgstr "" @@ -3528,18 +3532,18 @@ msgstr "" 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 +#: src/nm.c:136 src/objdump.c:105 src/size.c:117 src/strip.c:124 #, 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 +#: src/strip.c:1878 #, c-format msgid "while closing '%s'" msgstr "" -#: src/nm.c:402 src/objdump.c:296 src/strip.c:359 +#: src/nm.c:402 src/objdump.c:296 src/strip.c:369 #, c-format msgid "%s: File format not recognized" msgstr "" @@ -3580,7 +3584,7 @@ msgstr "" #: src/readelf.c:1742 src/readelf.c:1952 src/readelf.c:2206 src/readelf.c:2272 #: src/readelf.c:2350 src/readelf.c:2848 src/readelf.c:2884 src/readelf.c:2946 #: src/readelf.c:6934 src/readelf.c:7832 src/readelf.c:7979 src/readelf.c:8047 -#: src/size.c:425 src/size.c:499 src/strip.c:483 +#: src/size.c:425 src/size.c:499 src/strip.c:493 #, c-format msgid "cannot get section header string table index" msgstr "" @@ -5283,149 +5287,158 @@ msgstr "" msgid "mprotect failed" msgstr "" -#: src/strip.c:74 +#: src/strip.c:75 msgid "Place stripped output into FILE" msgstr "" -#: src/strip.c:75 +#: src/strip.c:76 msgid "Extract the removed sections into FILE" msgstr "" -#: src/strip.c:76 +#: src/strip.c:77 msgid "Embed name FILE instead of -f argument" msgstr "" -#: src/strip.c:80 +#: src/strip.c:81 msgid "Remove all debugging symbols" msgstr "" -#: src/strip.c:84 +#: src/strip.c:85 +msgid "Remove section headers (not recommended)" +msgstr "" + +#: src/strip.c:87 msgid "Copy modified/access timestamps to the output" msgstr "" -#: src/strip.c:86 +#: src/strip.c:89 msgid "Remove .comment section" msgstr "" -#: src/strip.c:89 +#: src/strip.c:92 msgid "Relax a few rules to handle slightly broken ELF files" msgstr "" -#: src/strip.c:94 +#: src/strip.c:97 msgid "Discard symbols from object files." msgstr "" -#: src/strip.c:186 +#: src/strip.c:192 #, c-format msgid "Only one input file allowed together with '-o' and '-f'" msgstr "" -#: src/strip.c:222 +#: src/strip.c:228 #, c-format msgid "-f option specified twice" msgstr "" -#: src/strip.c:231 +#: src/strip.c:237 #, c-format msgid "-F option specified twice" msgstr "" -#: src/strip.c:240 src/unstrip.c:125 +#: src/strip.c:246 src/unstrip.c:125 #, c-format msgid "-o option specified twice" msgstr "" -#: src/strip.c:260 +#: src/strip.c:266 #, c-format msgid "-R option supports only .comment section" msgstr "" -#: src/strip.c:298 src/strip.c:322 +#: src/strip.c:308 src/strip.c:332 #, c-format msgid "cannot stat input file '%s'" msgstr "" -#: src/strip.c:312 +#: src/strip.c:322 #, c-format msgid "while opening '%s'" msgstr "" -#: src/strip.c:350 +#: src/strip.c:360 #, c-format msgid "%s: cannot use -o or -f when stripping archive" msgstr "" -#: src/strip.c:448 +#: src/strip.c:458 #, c-format msgid "cannot open EBL backend" msgstr "" -#: src/strip.c:498 src/strip.c:522 +#: src/strip.c:508 src/strip.c:532 #, c-format msgid "cannot create new file '%s': %s" msgstr "" -#: src/strip.c:582 +#: src/strip.c:592 #, c-format msgid "illformed file '%s'" msgstr "" -#: src/strip.c:869 src/strip.c:956 +#: src/strip.c:880 src/strip.c:967 #, c-format msgid "while generating output file: %s" msgstr "" -#: src/strip.c:929 src/strip.c:1668 +#: src/strip.c:940 src/strip.c:1683 #, c-format msgid "%s: error while creating ELF header: %s" msgstr "" -#: src/strip.c:943 +#: src/strip.c:954 #, c-format msgid "while preparing output for '%s'" msgstr "" -#: src/strip.c:994 src/strip.c:1050 +#: src/strip.c:1005 src/strip.c:1061 #, c-format msgid "while create section header section: %s" msgstr "" -#: src/strip.c:1000 +#: src/strip.c:1011 #, c-format msgid "cannot allocate section data: %s" msgstr "" -#: src/strip.c:1059 +#: src/strip.c:1070 #, c-format msgid "while create section header string table: %s" msgstr "" -#: src/strip.c:1593 src/strip.c:1690 +#: src/strip.c:1595 src/strip.c:1705 #, c-format msgid "while writing '%s': %s" msgstr "" -#: src/strip.c:1604 +#: src/strip.c:1606 #, c-format msgid "while creating '%s'" msgstr "" -#: src/strip.c:1616 +#: src/strip.c:1628 #, c-format msgid "while computing checksum for debug information" msgstr "" -#: src/strip.c:1676 +#: src/strip.c:1691 #, c-format msgid "%s: error while reading the file: %s" msgstr "" -#: src/strip.c:1722 src/strip.c:1729 +#: src/strip.c:1730 src/strip.c:1750 +#, c-format +msgid "while writing '%s'" +msgstr "" + +#: src/strip.c:1784 src/strip.c:1791 #, c-format msgid "error while finishing '%s': %s" msgstr "" -#: src/strip.c:1752 src/strip.c:1809 +#: src/strip.c:1814 src/strip.c:1871 #, c-format msgid "cannot set access and modification date of '%s'" msgstr "" diff --git a/elfutils/po/en@boldquot.gmo b/elfutils/po/en@boldquot.gmo Binary files differindex 414f55b7..b5e2f852 100644 --- a/elfutils/po/en@boldquot.gmo +++ b/elfutils/po/en@boldquot.gmo diff --git a/elfutils/po/en@boldquot.po b/elfutils/po/en@boldquot.po index c286951b..6495da4d 100644 --- a/elfutils/po/en@boldquot.po +++ b/elfutils/po/en@boldquot.po @@ -1,7 +1,7 @@ # English translations for elfutils package. -# Copyright (C) 2010 Red Hat, Inc. +# Copyright (C) 2011 Red Hat, Inc. # This file is distributed under the same license as the elfutils package. -# Automatically generated, 2010. +# Automatically generated, 2011. # # All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation @@ -30,10 +30,10 @@ # msgid "" msgstr "" -"Project-Id-Version: elfutils 0.150\n" +"Project-Id-Version: elfutils 0.151\n" "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n" -"POT-Creation-Date: 2010-11-22 22:08-0500\n" -"PO-Revision-Date: 2010-11-22 22:08-0500\n" +"POT-Creation-Date: 2011-01-12 17:51-0500\n" +"PO-Revision-Date: 2011-01-12 17:51-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: en\n" @@ -382,6 +382,10 @@ msgstr "cannot handle DWARF type description" msgid "ELF file does not match build ID" msgstr "ELF file does not match build ID" +#: libdwfl/libdwflP.h:98 +msgid "corrupt .gnu.prelink_undo section data" +msgstr "corrupt .gnu.prelink_undo section data" + #: libebl/eblbackendname.c:63 msgid "No backend" msgstr "No backend" @@ -612,7 +616,7 @@ msgstr "[ADDR...]" #: src/addr2line.c:189 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:456 src/size.c:219 src/strings.c:227 -#: src/strip.c:204 src/unstrip.c:234 +#: src/strip.c:210 src/unstrip.c:234 #, c-format msgid "" "Copyright (C) %s Red Hat, Inc.\n" @@ -626,7 +630,7 @@ msgstr "" #: src/addr2line.c:194 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:461 src/size.c:224 src/strings.c:232 -#: src/strip.c:209 src/unstrip.c:239 +#: src/strip.c:215 src/unstrip.c:239 #, c-format msgid "Written by %s.\n" msgstr "Written by %s.\n" @@ -1034,7 +1038,7 @@ msgstr "Invalid value ‘[1m%s[0m’ for --gaps parameter." #: 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:1913 +#: src/strings.c:183 src/strip.c:443 src/strip.c:478 src/unstrip.c:1913 #: src/unstrip.c:1942 #, c-format msgid "cannot open '%s'" @@ -2844,7 +2848,7 @@ msgid "Locate source of text relocations in FILEs (a.out by default)." msgstr "Locate source of text relocations in FILEs (a.out by default)." #: src/findtextrel.c:84 src/nm.c:111 src/objdump.c:80 src/size.c:92 -#: src/strings.c:92 src/strip.c:97 +#: src/strings.c:92 src/strip.c:100 msgid "[FILE...]" msgstr "[FILE...]" @@ -3339,7 +3343,7 @@ msgid "Warning: size of `%s' changed from %<PRIu64> in %s to %<PRIu64> in %s" msgstr "" "Warning: size of ‘[1m%s[0m’ changed from %<PRIu64> in %s to %<PRIu64> in %s" -#: src/ldgeneric.c:661 src/ldgeneric.c:1122 src/readelf.c:636 src/strip.c:543 +#: src/ldgeneric.c:661 src/ldgeneric.c:1122 src/readelf.c:636 src/strip.c:553 #, c-format msgid "cannot determine number of sections: %s" msgstr "cannot determine number of sections: %s" @@ -3643,7 +3647,7 @@ msgstr "" msgid "default visibility set as local and global" msgstr "default visibility set as local and global" -#: src/nm.c:74 src/strip.c:73 +#: src/nm.c:74 src/strip.c:74 msgid "Output selection:" msgstr "Output selection:" @@ -3707,7 +3711,7 @@ msgstr "Mark weak symbols" msgid "Print size of defined symbols" msgstr "Print size of defined symbols" -#: src/nm.c:98 src/size.c:80 src/strip.c:78 src/unstrip.c:81 +#: src/nm.c:98 src/size.c:80 src/strip.c:79 src/unstrip.c:81 msgid "Output options:" msgstr "Output options:" @@ -3727,18 +3731,18 @@ msgstr "Reverse the sense of the sort" msgid "List symbols from FILEs (a.out by default)." msgstr "List symbols from FILEs (a.out by default)." -#: src/nm.c:136 src/objdump.c:105 src/size.c:117 src/strip.c:121 +#: src/nm.c:136 src/objdump.c:105 src/size.c:117 src/strip.c:124 #, c-format msgid "%s: INTERNAL ERROR %d (%s-%s): %s" msgstr "%s: INTERNAL ERROR %d (%s-%s): %s" #: src/nm.c:380 src/nm.c:392 src/size.c:317 src/size.c:326 src/size.c:337 -#: src/strip.c:1816 +#: src/strip.c:1878 #, c-format msgid "while closing '%s'" msgstr "while closing ‘[1m%s[0m’" -#: src/nm.c:402 src/objdump.c:296 src/strip.c:359 +#: src/nm.c:402 src/objdump.c:296 src/strip.c:369 #, c-format msgid "%s: File format not recognized" msgstr "%s: File format not recognized" @@ -3781,7 +3785,7 @@ msgstr "cannot create search tree" #: src/readelf.c:1742 src/readelf.c:1952 src/readelf.c:2206 src/readelf.c:2272 #: src/readelf.c:2350 src/readelf.c:2848 src/readelf.c:2884 src/readelf.c:2946 #: src/readelf.c:6934 src/readelf.c:7832 src/readelf.c:7979 src/readelf.c:8047 -#: src/size.c:425 src/size.c:499 src/strip.c:483 +#: src/size.c:425 src/size.c:499 src/strip.c:493 #, c-format msgid "cannot get section header string table index" msgstr "cannot get section header string table index" @@ -5693,149 +5697,158 @@ msgstr "re-mmap failed" msgid "mprotect failed" msgstr "mprotect failed" -#: src/strip.c:74 +#: src/strip.c:75 msgid "Place stripped output into FILE" msgstr "Place stripped output into FILE" -#: src/strip.c:75 +#: src/strip.c:76 msgid "Extract the removed sections into FILE" msgstr "Extract the removed sections into FILE" -#: src/strip.c:76 +#: src/strip.c:77 msgid "Embed name FILE instead of -f argument" msgstr "Embed name FILE instead of -f argument" -#: src/strip.c:80 +#: src/strip.c:81 msgid "Remove all debugging symbols" msgstr "Remove all debugging symbols" -#: src/strip.c:84 +#: src/strip.c:85 +msgid "Remove section headers (not recommended)" +msgstr "Remove section headers (not recommended)" + +#: src/strip.c:87 msgid "Copy modified/access timestamps to the output" msgstr "Copy modified/access timestamps to the output" -#: src/strip.c:86 +#: src/strip.c:89 msgid "Remove .comment section" msgstr "Remove .comment section" -#: src/strip.c:89 +#: src/strip.c:92 msgid "Relax a few rules to handle slightly broken ELF files" msgstr "Relax a few rules to handle slightly broken ELF files" -#: src/strip.c:94 +#: src/strip.c:97 msgid "Discard symbols from object files." msgstr "Discard symbols from object files." -#: src/strip.c:186 +#: src/strip.c:192 #, c-format msgid "Only one input file allowed together with '-o' and '-f'" msgstr "Only one input file allowed together with ‘[1m-o[0m’ and ‘[1m-f[0m’" -#: src/strip.c:222 +#: src/strip.c:228 #, c-format msgid "-f option specified twice" msgstr "-f option specified twice" -#: src/strip.c:231 +#: src/strip.c:237 #, c-format msgid "-F option specified twice" msgstr "-F option specified twice" -#: src/strip.c:240 src/unstrip.c:125 +#: src/strip.c:246 src/unstrip.c:125 #, c-format msgid "-o option specified twice" msgstr "-o option specified twice" -#: src/strip.c:260 +#: src/strip.c:266 #, c-format msgid "-R option supports only .comment section" msgstr "-R option supports only .comment section" -#: src/strip.c:298 src/strip.c:322 +#: src/strip.c:308 src/strip.c:332 #, c-format msgid "cannot stat input file '%s'" msgstr "cannot stat input file ‘[1m%s[0m’" -#: src/strip.c:312 +#: src/strip.c:322 #, c-format msgid "while opening '%s'" msgstr "while opening ‘[1m%s[0m’" -#: src/strip.c:350 +#: src/strip.c:360 #, c-format msgid "%s: cannot use -o or -f when stripping archive" msgstr "%s: cannot use -o or -f when stripping archive" -#: src/strip.c:448 +#: src/strip.c:458 #, c-format msgid "cannot open EBL backend" msgstr "cannot open EBL backend" -#: src/strip.c:498 src/strip.c:522 +#: src/strip.c:508 src/strip.c:532 #, c-format msgid "cannot create new file '%s': %s" msgstr "cannot create new file '%s': %s" -#: src/strip.c:582 +#: src/strip.c:592 #, c-format msgid "illformed file '%s'" msgstr "illformed file ‘[1m%s[0m’" -#: src/strip.c:869 src/strip.c:956 +#: src/strip.c:880 src/strip.c:967 #, c-format msgid "while generating output file: %s" msgstr "while generating output file: %s" -#: src/strip.c:929 src/strip.c:1668 +#: src/strip.c:940 src/strip.c:1683 #, c-format msgid "%s: error while creating ELF header: %s" msgstr "%s: error while creating ELF header: %s" -#: src/strip.c:943 +#: src/strip.c:954 #, c-format msgid "while preparing output for '%s'" msgstr "while preparing output for ‘[1m%s[0m’" -#: src/strip.c:994 src/strip.c:1050 +#: src/strip.c:1005 src/strip.c:1061 #, c-format msgid "while create section header section: %s" msgstr "while create section header section: %s" -#: src/strip.c:1000 +#: src/strip.c:1011 #, c-format msgid "cannot allocate section data: %s" msgstr "cannot allocate section data: %s" -#: src/strip.c:1059 +#: src/strip.c:1070 #, c-format msgid "while create section header string table: %s" msgstr "while create section header string table: %s" -#: src/strip.c:1593 src/strip.c:1690 +#: src/strip.c:1595 src/strip.c:1705 #, c-format msgid "while writing '%s': %s" msgstr "while writing '%s': %s" -#: src/strip.c:1604 +#: src/strip.c:1606 #, c-format msgid "while creating '%s'" msgstr "while creating ‘[1m%s[0m’" -#: src/strip.c:1616 +#: src/strip.c:1628 #, c-format msgid "while computing checksum for debug information" msgstr "while computing checksum for debug information" -#: src/strip.c:1676 +#: src/strip.c:1691 #, c-format msgid "%s: error while reading the file: %s" msgstr "%s: error while reading the file: %s" -#: src/strip.c:1722 src/strip.c:1729 +#: src/strip.c:1730 src/strip.c:1750 +#, c-format +msgid "while writing '%s'" +msgstr "while writing ‘[1m%s[0m’" + +#: src/strip.c:1784 src/strip.c:1791 #, c-format msgid "error while finishing '%s': %s" msgstr "error while finishing '%s': %s" -#: src/strip.c:1752 src/strip.c:1809 +#: src/strip.c:1814 src/strip.c:1871 #, c-format msgid "cannot set access and modification date of '%s'" msgstr "cannot set access and modification date of ‘[1m%s[0m’" diff --git a/elfutils/po/en@quot.gmo b/elfutils/po/en@quot.gmo Binary files differindex 77ced815..1358583a 100644 --- a/elfutils/po/en@quot.gmo +++ b/elfutils/po/en@quot.gmo diff --git a/elfutils/po/en@quot.po b/elfutils/po/en@quot.po index aa979031..4a60b51f 100644 --- a/elfutils/po/en@quot.po +++ b/elfutils/po/en@quot.po @@ -1,7 +1,7 @@ # English translations for elfutils package. -# Copyright (C) 2010 Red Hat, Inc. +# Copyright (C) 2011 Red Hat, Inc. # This file is distributed under the same license as the elfutils package. -# Automatically generated, 2010. +# Automatically generated, 2011. # # All this catalog "translates" are quotation characters. # The msgids must be ASCII and therefore cannot contain real quotation @@ -27,10 +27,10 @@ # msgid "" msgstr "" -"Project-Id-Version: elfutils 0.150\n" +"Project-Id-Version: elfutils 0.151\n" "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n" -"POT-Creation-Date: 2010-11-22 22:08-0500\n" -"PO-Revision-Date: 2010-11-22 22:08-0500\n" +"POT-Creation-Date: 2011-01-12 17:51-0500\n" +"PO-Revision-Date: 2011-01-12 17:51-0500\n" "Last-Translator: Automatically generated\n" "Language-Team: none\n" "Language: en\n" @@ -379,6 +379,10 @@ msgstr "cannot handle DWARF type description" msgid "ELF file does not match build ID" msgstr "ELF file does not match build ID" +#: libdwfl/libdwflP.h:98 +msgid "corrupt .gnu.prelink_undo section data" +msgstr "corrupt .gnu.prelink_undo section data" + #: libebl/eblbackendname.c:63 msgid "No backend" msgstr "No backend" @@ -609,7 +613,7 @@ msgstr "[ADDR...]" #: src/addr2line.c:189 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:456 src/size.c:219 src/strings.c:227 -#: src/strip.c:204 src/unstrip.c:234 +#: src/strip.c:210 src/unstrip.c:234 #, c-format msgid "" "Copyright (C) %s Red Hat, Inc.\n" @@ -623,7 +627,7 @@ msgstr "" #: src/addr2line.c:194 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:461 src/size.c:224 src/strings.c:232 -#: src/strip.c:209 src/unstrip.c:239 +#: src/strip.c:215 src/unstrip.c:239 #, c-format msgid "Written by %s.\n" msgstr "Written by %s.\n" @@ -1029,7 +1033,7 @@ msgstr "Invalid value ‘%s’ for --gaps parameter." #: 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:1913 +#: src/strings.c:183 src/strip.c:443 src/strip.c:478 src/unstrip.c:1913 #: src/unstrip.c:1942 #, c-format msgid "cannot open '%s'" @@ -2830,7 +2834,7 @@ msgid "Locate source of text relocations in FILEs (a.out by default)." msgstr "Locate source of text relocations in FILEs (a.out by default)." #: src/findtextrel.c:84 src/nm.c:111 src/objdump.c:80 src/size.c:92 -#: src/strings.c:92 src/strip.c:97 +#: src/strings.c:92 src/strip.c:100 msgid "[FILE...]" msgstr "[FILE...]" @@ -3323,7 +3327,7 @@ msgstr "Warning: type of ‘%s’ changed from %s in %s to %s in %s" msgid "Warning: size of `%s' changed from %<PRIu64> in %s to %<PRIu64> in %s" msgstr "Warning: size of ‘%s’ changed from %<PRIu64> in %s to %<PRIu64> in %s" -#: src/ldgeneric.c:661 src/ldgeneric.c:1122 src/readelf.c:636 src/strip.c:543 +#: src/ldgeneric.c:661 src/ldgeneric.c:1122 src/readelf.c:636 src/strip.c:553 #, c-format msgid "cannot determine number of sections: %s" msgstr "cannot determine number of sections: %s" @@ -3624,7 +3628,7 @@ msgstr "symbol ‘%s’ is declared both local and global for version ‘%s’" msgid "default visibility set as local and global" msgstr "default visibility set as local and global" -#: src/nm.c:74 src/strip.c:73 +#: src/nm.c:74 src/strip.c:74 msgid "Output selection:" msgstr "Output selection:" @@ -3688,7 +3692,7 @@ msgstr "Mark weak symbols" msgid "Print size of defined symbols" msgstr "Print size of defined symbols" -#: src/nm.c:98 src/size.c:80 src/strip.c:78 src/unstrip.c:81 +#: src/nm.c:98 src/size.c:80 src/strip.c:79 src/unstrip.c:81 msgid "Output options:" msgstr "Output options:" @@ -3708,18 +3712,18 @@ msgstr "Reverse the sense of the sort" msgid "List symbols from FILEs (a.out by default)." msgstr "List symbols from FILEs (a.out by default)." -#: src/nm.c:136 src/objdump.c:105 src/size.c:117 src/strip.c:121 +#: src/nm.c:136 src/objdump.c:105 src/size.c:117 src/strip.c:124 #, c-format msgid "%s: INTERNAL ERROR %d (%s-%s): %s" msgstr "%s: INTERNAL ERROR %d (%s-%s): %s" #: src/nm.c:380 src/nm.c:392 src/size.c:317 src/size.c:326 src/size.c:337 -#: src/strip.c:1816 +#: src/strip.c:1878 #, c-format msgid "while closing '%s'" msgstr "while closing ‘%s’" -#: src/nm.c:402 src/objdump.c:296 src/strip.c:359 +#: src/nm.c:402 src/objdump.c:296 src/strip.c:369 #, c-format msgid "%s: File format not recognized" msgstr "%s: File format not recognized" @@ -3762,7 +3766,7 @@ msgstr "cannot create search tree" #: src/readelf.c:1742 src/readelf.c:1952 src/readelf.c:2206 src/readelf.c:2272 #: src/readelf.c:2350 src/readelf.c:2848 src/readelf.c:2884 src/readelf.c:2946 #: src/readelf.c:6934 src/readelf.c:7832 src/readelf.c:7979 src/readelf.c:8047 -#: src/size.c:425 src/size.c:499 src/strip.c:483 +#: src/size.c:425 src/size.c:499 src/strip.c:493 #, c-format msgid "cannot get section header string table index" msgstr "cannot get section header string table index" @@ -5657,149 +5661,158 @@ msgstr "re-mmap failed" msgid "mprotect failed" msgstr "mprotect failed" -#: src/strip.c:74 +#: src/strip.c:75 msgid "Place stripped output into FILE" msgstr "Place stripped output into FILE" -#: src/strip.c:75 +#: src/strip.c:76 msgid "Extract the removed sections into FILE" msgstr "Extract the removed sections into FILE" -#: src/strip.c:76 +#: src/strip.c:77 msgid "Embed name FILE instead of -f argument" msgstr "Embed name FILE instead of -f argument" -#: src/strip.c:80 +#: src/strip.c:81 msgid "Remove all debugging symbols" msgstr "Remove all debugging symbols" -#: src/strip.c:84 +#: src/strip.c:85 +msgid "Remove section headers (not recommended)" +msgstr "Remove section headers (not recommended)" + +#: src/strip.c:87 msgid "Copy modified/access timestamps to the output" msgstr "Copy modified/access timestamps to the output" -#: src/strip.c:86 +#: src/strip.c:89 msgid "Remove .comment section" msgstr "Remove .comment section" -#: src/strip.c:89 +#: src/strip.c:92 msgid "Relax a few rules to handle slightly broken ELF files" msgstr "Relax a few rules to handle slightly broken ELF files" -#: src/strip.c:94 +#: src/strip.c:97 msgid "Discard symbols from object files." msgstr "Discard symbols from object files." -#: src/strip.c:186 +#: src/strip.c:192 #, c-format msgid "Only one input file allowed together with '-o' and '-f'" msgstr "Only one input file allowed together with ‘-o’ and ‘-f’" -#: src/strip.c:222 +#: src/strip.c:228 #, c-format msgid "-f option specified twice" msgstr "-f option specified twice" -#: src/strip.c:231 +#: src/strip.c:237 #, c-format msgid "-F option specified twice" msgstr "-F option specified twice" -#: src/strip.c:240 src/unstrip.c:125 +#: src/strip.c:246 src/unstrip.c:125 #, c-format msgid "-o option specified twice" msgstr "-o option specified twice" -#: src/strip.c:260 +#: src/strip.c:266 #, c-format msgid "-R option supports only .comment section" msgstr "-R option supports only .comment section" -#: src/strip.c:298 src/strip.c:322 +#: src/strip.c:308 src/strip.c:332 #, c-format msgid "cannot stat input file '%s'" msgstr "cannot stat input file ‘%s’" -#: src/strip.c:312 +#: src/strip.c:322 #, c-format msgid "while opening '%s'" msgstr "while opening ‘%s’" -#: src/strip.c:350 +#: src/strip.c:360 #, c-format msgid "%s: cannot use -o or -f when stripping archive" msgstr "%s: cannot use -o or -f when stripping archive" -#: src/strip.c:448 +#: src/strip.c:458 #, c-format msgid "cannot open EBL backend" msgstr "cannot open EBL backend" -#: src/strip.c:498 src/strip.c:522 +#: src/strip.c:508 src/strip.c:532 #, c-format msgid "cannot create new file '%s': %s" msgstr "cannot create new file '%s': %s" -#: src/strip.c:582 +#: src/strip.c:592 #, c-format msgid "illformed file '%s'" msgstr "illformed file ‘%s’" -#: src/strip.c:869 src/strip.c:956 +#: src/strip.c:880 src/strip.c:967 #, c-format msgid "while generating output file: %s" msgstr "while generating output file: %s" -#: src/strip.c:929 src/strip.c:1668 +#: src/strip.c:940 src/strip.c:1683 #, c-format msgid "%s: error while creating ELF header: %s" msgstr "%s: error while creating ELF header: %s" -#: src/strip.c:943 +#: src/strip.c:954 #, c-format msgid "while preparing output for '%s'" msgstr "while preparing output for ‘%s’" -#: src/strip.c:994 src/strip.c:1050 +#: src/strip.c:1005 src/strip.c:1061 #, c-format msgid "while create section header section: %s" msgstr "while create section header section: %s" -#: src/strip.c:1000 +#: src/strip.c:1011 #, c-format msgid "cannot allocate section data: %s" msgstr "cannot allocate section data: %s" -#: src/strip.c:1059 +#: src/strip.c:1070 #, c-format msgid "while create section header string table: %s" msgstr "while create section header string table: %s" -#: src/strip.c:1593 src/strip.c:1690 +#: src/strip.c:1595 src/strip.c:1705 #, c-format msgid "while writing '%s': %s" msgstr "while writing '%s': %s" -#: src/strip.c:1604 +#: src/strip.c:1606 #, c-format msgid "while creating '%s'" msgstr "while creating ‘%s’" -#: src/strip.c:1616 +#: src/strip.c:1628 #, c-format msgid "while computing checksum for debug information" msgstr "while computing checksum for debug information" -#: src/strip.c:1676 +#: src/strip.c:1691 #, c-format msgid "%s: error while reading the file: %s" msgstr "%s: error while reading the file: %s" -#: src/strip.c:1722 src/strip.c:1729 +#: src/strip.c:1730 src/strip.c:1750 +#, c-format +msgid "while writing '%s'" +msgstr "while writing ‘%s’" + +#: src/strip.c:1784 src/strip.c:1791 #, c-format msgid "error while finishing '%s': %s" msgstr "error while finishing '%s': %s" -#: src/strip.c:1752 src/strip.c:1809 +#: src/strip.c:1814 src/strip.c:1871 #, c-format msgid "cannot set access and modification date of '%s'" msgstr "cannot set access and modification date of ‘%s’" diff --git a/elfutils/po/es.gmo b/elfutils/po/es.gmo Binary files differindex 05b526b0..5ecea6a7 100644 --- a/elfutils/po/es.gmo +++ b/elfutils/po/es.gmo diff --git a/elfutils/po/es.po b/elfutils/po/es.po index 9f0f9b72..bdbb337c 100644 --- a/elfutils/po/es.po +++ b/elfutils/po/es.po @@ -10,9 +10,10 @@ msgid "" msgstr "" "Project-Id-Version: elfutils.master.es\n" "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n" -"POT-Creation-Date: 2010-11-22 22:08-0500\n" -"PO-Revision-Date: 2010-09-15 09:52-0300\n" -"Last-Translator: Héctor Daniel Cabrera <logan@fedoraproject.org>\n" +"POT-Creation-Date: 2011-01-12 17:51-0500\n" +"PO-Revision-Date: 2011-01-10 15:17-0300\n" +"Last-Translator: Claudio Rodrigo Pereyra Diaz <claudiorodrigo@pereyradiaz." +"com.ar>\n" "Language-Team: Fedora Spanish <trans-es@lists.fedoraproject.org>\n" "Language: \n" "MIME-Version: 1.0\n" @@ -363,6 +364,11 @@ msgstr "no es posible manipular tipo de descripción DWARF" msgid "ELF file does not match build ID" msgstr "El archivo ELF no coincide con el ID construido" +#: libdwfl/libdwflP.h:98 +#, fuzzy +msgid "corrupt .gnu.prelink_undo section data" +msgstr "no se puede leer sección '.gnu.prelink_undo': %s" + #: libebl/eblbackendname.c:63 msgid "No backend" msgstr "No hay segundo plano (Backend)" @@ -596,7 +602,7 @@ msgstr "[DIREC...]" #: src/addr2line.c:189 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:456 src/size.c:219 src/strings.c:227 -#: src/strip.c:204 src/unstrip.c:234 +#: src/strip.c:210 src/unstrip.c:234 #, c-format msgid "" "Copyright (C) %s Red Hat, Inc.\n" @@ -612,7 +618,7 @@ msgstr "" #: src/addr2line.c:194 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:461 src/size.c:224 src/strings.c:232 -#: src/strip.c:209 src/unstrip.c:239 +#: src/strip.c:215 src/unstrip.c:239 #, c-format msgid "Written by %s.\n" msgstr "Escrito por %s.\n" @@ -1019,7 +1025,7 @@ msgstr "Valor inválido '%s' para parámetro --gaps" #: 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:1913 +#: src/strings.c:183 src/strip.c:443 src/strip.c:478 src/unstrip.c:1913 #: src/unstrip.c:1942 #, c-format msgid "cannot open '%s'" @@ -2954,7 +2960,7 @@ msgstr "" "Localizar origen de reubicaciones de texto en FICHEROS (a.out por defecto)." #: src/findtextrel.c:84 src/nm.c:111 src/objdump.c:80 src/size.c:92 -#: src/strings.c:92 src/strip.c:97 +#: src/strings.c:92 src/strip.c:100 msgid "[FILE...]" msgstr "[FICHERO...]" @@ -3465,7 +3471,7 @@ msgid "Warning: size of `%s' changed from %<PRIu64> in %s to %<PRIu64> in %s" msgstr "" "Advertencia: el tamaño de `%s' cambió de %<PRIu64> en %s a %<PRIu64> en %s" -#: src/ldgeneric.c:661 src/ldgeneric.c:1122 src/readelf.c:636 src/strip.c:543 +#: src/ldgeneric.c:661 src/ldgeneric.c:1122 src/readelf.c:636 src/strip.c:553 #, c-format msgid "cannot determine number of sections: %s" msgstr "no se pudieron determinar el número de secciones: %s" @@ -3792,7 +3798,7 @@ msgstr "" msgid "default visibility set as local and global" msgstr "la visibilidad establecida por defecto establecida como local y global" -#: src/nm.c:74 src/strip.c:73 +#: src/nm.c:74 src/strip.c:74 msgid "Output selection:" msgstr "Selección de salida:" @@ -3856,7 +3862,7 @@ msgstr "Marcar símbolos débiles" msgid "Print size of defined symbols" msgstr "Tamaño de impresión de símbolos definidos" -#: src/nm.c:98 src/size.c:80 src/strip.c:78 src/unstrip.c:81 +#: src/nm.c:98 src/size.c:80 src/strip.c:79 src/unstrip.c:81 msgid "Output options:" msgstr "Opciones de salida:" @@ -3876,18 +3882,18 @@ msgstr "Invertir el orden" msgid "List symbols from FILEs (a.out by default)." msgstr "Listar símbolos de FICHEROS (a.out por defecto)." -#: src/nm.c:136 src/objdump.c:105 src/size.c:117 src/strip.c:121 +#: src/nm.c:136 src/objdump.c:105 src/size.c:117 src/strip.c:124 #, c-format msgid "%s: INTERNAL ERROR %d (%s-%s): %s" msgstr "%s: ERROR INTERNO %d (%s-%s): %s" #: src/nm.c:380 src/nm.c:392 src/size.c:317 src/size.c:326 src/size.c:337 -#: src/strip.c:1816 +#: src/strip.c:1878 #, c-format msgid "while closing '%s'" msgstr "error al cerrar '%s'" -#: src/nm.c:402 src/objdump.c:296 src/strip.c:359 +#: src/nm.c:402 src/objdump.c:296 src/strip.c:369 #, c-format msgid "%s: File format not recognized" msgstr "%s: No se reconoce el formato del fichero" @@ -3930,7 +3936,7 @@ msgstr "No se puede crear el árbol de búsqueda" #: src/readelf.c:1742 src/readelf.c:1952 src/readelf.c:2206 src/readelf.c:2272 #: src/readelf.c:2350 src/readelf.c:2848 src/readelf.c:2884 src/readelf.c:2946 #: src/readelf.c:6934 src/readelf.c:7832 src/readelf.c:7979 src/readelf.c:8047 -#: src/size.c:425 src/size.c:499 src/strip.c:483 +#: src/size.c:425 src/size.c:499 src/strip.c:493 #, c-format msgid "cannot get section header string table index" msgstr "no se puede obtener índice de cadena de encabezamiento de sección" @@ -5858,149 +5864,158 @@ msgstr "re-mmap falló" msgid "mprotect failed" msgstr "mprotect falló" -#: src/strip.c:74 +#: src/strip.c:75 msgid "Place stripped output into FILE" msgstr "Colocar la salida obtenida en FICHERO" -#: src/strip.c:75 +#: src/strip.c:76 msgid "Extract the removed sections into FILE" msgstr "Extraer secciones eliminadas en FICHERO" -#: src/strip.c:76 +#: src/strip.c:77 msgid "Embed name FILE instead of -f argument" msgstr "Incorporar nombre FILE en lugar de argumento -f" -#: src/strip.c:80 +#: src/strip.c:81 msgid "Remove all debugging symbols" msgstr "Elimina todos los símbolos de depuración" -#: src/strip.c:84 +#: src/strip.c:85 +msgid "Remove section headers (not recommended)" +msgstr "Quitar sección de cabeceras (no recomendado)" + +#: src/strip.c:87 msgid "Copy modified/access timestamps to the output" msgstr "Copiar marcas de tiempo modificadas/acceso a la salida" -#: src/strip.c:86 +#: src/strip.c:89 msgid "Remove .comment section" msgstr "Quitar sección de comentario" -#: src/strip.c:89 +#: src/strip.c:92 msgid "Relax a few rules to handle slightly broken ELF files" msgstr "Relaja algunas reglas para manejar ficheros ELF rotos" -#: src/strip.c:94 +#: src/strip.c:97 msgid "Discard symbols from object files." msgstr "Descarta símbolos de archivos objeto." -#: src/strip.c:186 +#: src/strip.c:192 #, c-format msgid "Only one input file allowed together with '-o' and '-f'" msgstr "Sólo se permite ingresar un archivo junto con '-o' y '-f'" -#: src/strip.c:222 +#: src/strip.c:228 #, c-format msgid "-f option specified twice" msgstr "opción -f especificada dos veces" -#: src/strip.c:231 +#: src/strip.c:237 #, c-format msgid "-F option specified twice" msgstr "opción -F especificada dos veces" -#: src/strip.c:240 src/unstrip.c:125 +#: src/strip.c:246 src/unstrip.c:125 #, c-format msgid "-o option specified twice" msgstr "opción -o especificada dos veces" -#: src/strip.c:260 +#: src/strip.c:266 #, c-format msgid "-R option supports only .comment section" msgstr "la opción -R soporta únicamente. sección de comentario" -#: src/strip.c:298 src/strip.c:322 +#: src/strip.c:308 src/strip.c:332 #, c-format msgid "cannot stat input file '%s'" msgstr "no sepuede stat fichero de entrada '%s'" -#: src/strip.c:312 +#: src/strip.c:322 #, c-format msgid "while opening '%s'" msgstr "mientras se abría '%s'" -#: src/strip.c:350 +#: src/strip.c:360 #, 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" -#: src/strip.c:448 +#: src/strip.c:458 #, c-format msgid "cannot open EBL backend" msgstr "No se puede abrir el segundo plano EBL" -#: src/strip.c:498 src/strip.c:522 +#: src/strip.c:508 src/strip.c:532 #, c-format msgid "cannot create new file '%s': %s" msgstr "no se puede crear fichero nuevo '%s': %s" -#: src/strip.c:582 +#: src/strip.c:592 #, c-format msgid "illformed file '%s'" msgstr "Fichero illformed '%s'" -#: src/strip.c:869 src/strip.c:956 +#: src/strip.c:880 src/strip.c:967 #, c-format msgid "while generating output file: %s" msgstr "al generar fichero de salida: %s" -#: src/strip.c:929 src/strip.c:1668 +#: src/strip.c:940 src/strip.c:1683 #, c-format msgid "%s: error while creating ELF header: %s" msgstr "%s: error al crear encabezamiento ELF: %s" -#: src/strip.c:943 +#: src/strip.c:954 #, c-format msgid "while preparing output for '%s'" msgstr "al preparar salida para '%s'" -#: src/strip.c:994 src/strip.c:1050 +#: src/strip.c:1005 src/strip.c:1061 #, c-format msgid "while create section header section: %s" msgstr "al crear sección de encabezamiento de sección: %s" -#: src/strip.c:1000 +#: src/strip.c:1011 #, c-format msgid "cannot allocate section data: %s" msgstr "no se puede asignar espacio para los datos: %s" -#: src/strip.c:1059 +#: src/strip.c:1070 #, 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:1593 src/strip.c:1690 +#: src/strip.c:1595 src/strip.c:1705 #, c-format msgid "while writing '%s': %s" msgstr "al escribir '%s': %s" -#: src/strip.c:1604 +#: src/strip.c:1606 #, c-format msgid "while creating '%s'" msgstr "al crear '%s'" -#: src/strip.c:1616 +#: src/strip.c:1628 #, 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:1676 +#: src/strip.c:1691 #, c-format msgid "%s: error while reading the file: %s" msgstr "%s: error al leer el fichero: %s" -#: src/strip.c:1722 src/strip.c:1729 +#: src/strip.c:1730 src/strip.c:1750 +#, c-format +msgid "while writing '%s'" +msgstr "al escribir '%s'" + +#: src/strip.c:1784 src/strip.c:1791 #, c-format msgid "error while finishing '%s': %s" msgstr "Error al terminar '%s': %s" -#: src/strip.c:1752 src/strip.c:1809 +#: src/strip.c:1814 src/strip.c:1871 #, c-format msgid "cannot set access and modification date of '%s'" msgstr "no es posible establecer acceso y fecha de modificación de '%s'" diff --git a/elfutils/po/ja.gmo b/elfutils/po/ja.gmo Binary files differindex 3afa9f6b..0060d381 100644 --- a/elfutils/po/ja.gmo +++ b/elfutils/po/ja.gmo diff --git a/elfutils/po/ja.po b/elfutils/po/ja.po index e709405d..006134de 100644 --- a/elfutils/po/ja.po +++ b/elfutils/po/ja.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ja\n" "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n" -"POT-Creation-Date: 2010-11-22 22:08-0500\n" +"POT-Creation-Date: 2011-01-12 17:51-0500\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" @@ -365,6 +365,11 @@ msgstr "Elf 記述子を生成できません: %s" msgid "ELF file does not match build ID" msgstr "" +#: libdwfl/libdwflP.h:98 +#, fuzzy +msgid "corrupt .gnu.prelink_undo section data" +msgstr "ラインデータセクションデータを得られません: %s" + #: libebl/eblbackendname.c:63 msgid "No backend" msgstr "バックエンドがありません" @@ -596,7 +601,7 @@ msgstr "" #: src/addr2line.c:189 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:456 src/size.c:219 src/strings.c:227 -#: src/strip.c:204 src/unstrip.c:234 +#: src/strip.c:210 src/unstrip.c:234 #, c-format msgid "" "Copyright (C) %s Red Hat, Inc.\n" @@ -610,7 +615,7 @@ msgstr "" #: src/addr2line.c:194 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:461 src/size.c:224 src/strings.c:232 -#: src/strip.c:209 src/unstrip.c:239 +#: src/strip.c:215 src/unstrip.c:239 #, c-format msgid "Written by %s.\n" msgstr "%s によって書かれました。\n" @@ -1014,7 +1019,7 @@ 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:1913 +#: src/strings.c:183 src/strip.c:443 src/strip.c:478 src/unstrip.c:1913 #: src/unstrip.c:1942 #, c-format msgid "cannot open '%s'" @@ -2751,7 +2756,7 @@ 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 +#: src/strings.c:92 src/strip.c:100 msgid "[FILE...]" msgstr "[ふぁいる...]" @@ -3244,7 +3249,7 @@ msgstr "" "警告: `%1$s の大きさが %3$s の %2$<PRIu64> から %5$s の %4$<PRIu64> に変更さ" "れました" -#: src/ldgeneric.c:661 src/ldgeneric.c:1122 src/readelf.c:636 src/strip.c:543 +#: src/ldgeneric.c:661 src/ldgeneric.c:1122 src/readelf.c:636 src/strip.c:553 #, c-format msgid "cannot determine number of sections: %s" msgstr "セクション数を決定できません: %s" @@ -3549,7 +3554,7 @@ msgstr "バージョン '%2$s' 用のローカルとグローバルで宣言さ msgid "default visibility set as local and global" msgstr "ローカルとグローバルに設定されたデフォルトの可視性" -#: src/nm.c:74 src/strip.c:73 +#: src/nm.c:74 src/strip.c:74 msgid "Output selection:" msgstr "出力選択:" @@ -3613,7 +3618,7 @@ msgstr "弱いシンボルに印を点ける" msgid "Print size of defined symbols" msgstr "定義されたシンボルの印刷サイズ" -#: src/nm.c:98 src/size.c:80 src/strip.c:78 src/unstrip.c:81 +#: src/nm.c:98 src/size.c:80 src/strip.c:79 src/unstrip.c:81 msgid "Output options:" msgstr "出力オプション:" @@ -3633,18 +3638,18 @@ msgstr "並べ替えの意味を逆にする" msgid "List symbols from FILEs (a.out by default)." msgstr "ふぁいる からシンボルを表示 (デフォルトではa.out)。" -#: src/nm.c:136 src/objdump.c:105 src/size.c:117 src/strip.c:121 +#: src/nm.c:136 src/objdump.c:105 src/size.c:117 src/strip.c:124 #, c-format msgid "%s: INTERNAL ERROR %d (%s-%s): %s" msgstr "%s: 内部エラー %d (%s-%s): %s" #: src/nm.c:380 src/nm.c:392 src/size.c:317 src/size.c:326 src/size.c:337 -#: src/strip.c:1816 +#: src/strip.c:1878 #, c-format msgid "while closing '%s'" msgstr "'%s' を閉じている最中" -#: src/nm.c:402 src/objdump.c:296 src/strip.c:359 +#: src/nm.c:402 src/objdump.c:296 src/strip.c:369 #, c-format msgid "%s: File format not recognized" msgstr "%s: ファイル形式を認識できませんでした" @@ -3687,7 +3692,7 @@ msgstr "検索ツリーを生成できません" #: src/readelf.c:1742 src/readelf.c:1952 src/readelf.c:2206 src/readelf.c:2272 #: src/readelf.c:2350 src/readelf.c:2848 src/readelf.c:2884 src/readelf.c:2946 #: src/readelf.c:6934 src/readelf.c:7832 src/readelf.c:7979 src/readelf.c:8047 -#: src/size.c:425 src/size.c:499 src/strip.c:483 +#: src/size.c:425 src/size.c:499 src/strip.c:493 #, c-format msgid "cannot get section header string table index" msgstr "セクションヘッダー文字列テーブル索引が得られません" @@ -5555,149 +5560,158 @@ msgstr "" msgid "mprotect failed" msgstr "" -#: src/strip.c:74 +#: src/strip.c:75 msgid "Place stripped output into FILE" msgstr "はぎ取った出力を ふぁいる に置く" -#: src/strip.c:75 +#: src/strip.c:76 msgid "Extract the removed sections into FILE" msgstr "抽出した取り除いたセクションを ふぁいる に置く" -#: src/strip.c:76 +#: src/strip.c:77 msgid "Embed name FILE instead of -f argument" msgstr "-f パラメーターの代わりに 名前 ふぁいる を有効にする" -#: src/strip.c:80 +#: src/strip.c:81 msgid "Remove all debugging symbols" msgstr "デバッグ用のシンボルを全て取り除く" -#: src/strip.c:84 +#: src/strip.c:85 +msgid "Remove section headers (not recommended)" +msgstr "" + +#: src/strip.c:87 msgid "Copy modified/access timestamps to the output" msgstr "修正/アクセスタイムスタンプを出力へ複写する" -#: src/strip.c:86 +#: src/strip.c:89 msgid "Remove .comment section" msgstr ".comment セクションを取り除く" -#: src/strip.c:89 +#: src/strip.c:92 msgid "Relax a few rules to handle slightly broken ELF files" msgstr "少し壊れた ELF ファイルを取り扱うためにルールを少し緩和する" -#: src/strip.c:94 +#: src/strip.c:97 msgid "Discard symbols from object files." msgstr "オブジェクトファイルからシンボルを破棄する" -#: src/strip.c:186 +#: src/strip.c:192 #, c-format msgid "Only one input file allowed together with '-o' and '-f'" msgstr "'-o' と '-f' と一緒の場合は入力ファイルは 1 つしか認められません" -#: src/strip.c:222 +#: src/strip.c:228 #, c-format msgid "-f option specified twice" msgstr "-f オプションが 2 回指定されています" -#: src/strip.c:231 +#: src/strip.c:237 #, c-format msgid "-F option specified twice" msgstr "-F オプションが 2 回指定されています" -#: src/strip.c:240 src/unstrip.c:125 +#: src/strip.c:246 src/unstrip.c:125 #, c-format msgid "-o option specified twice" msgstr "-o オプションが 2 回指定されています" -#: src/strip.c:260 +#: src/strip.c:266 #, c-format msgid "-R option supports only .comment section" msgstr "-R オプションは .comment セクションのみをサポートします" -#: src/strip.c:298 src/strip.c:322 +#: src/strip.c:308 src/strip.c:332 #, c-format msgid "cannot stat input file '%s'" msgstr "入力ファイル '%s' を stat できません" -#: src/strip.c:312 +#: src/strip.c:322 #, c-format msgid "while opening '%s'" msgstr "'%s' を開いている間" -#: src/strip.c:350 +#: src/strip.c:360 #, c-format msgid "%s: cannot use -o or -f when stripping archive" msgstr "%s: アーカイブから抜き出している時は -o や -f は使えません" -#: src/strip.c:448 +#: src/strip.c:458 #, c-format msgid "cannot open EBL backend" msgstr "EBL バックエンドを開けません" -#: src/strip.c:498 src/strip.c:522 +#: src/strip.c:508 src/strip.c:532 #, c-format msgid "cannot create new file '%s': %s" msgstr "新しいファイル '%s' を生成できません: %s" -#: src/strip.c:582 +#: src/strip.c:592 #, c-format msgid "illformed file '%s'" msgstr "不適格なファイル '%s'" -#: src/strip.c:869 src/strip.c:956 +#: src/strip.c:880 src/strip.c:967 #, c-format msgid "while generating output file: %s" msgstr "出力ファイルを生成している間: %s" -#: src/strip.c:929 src/strip.c:1668 +#: src/strip.c:940 src/strip.c:1683 #, c-format msgid "%s: error while creating ELF header: %s" msgstr "%s: ELF ヘッダーを生成している間にエラー: %s" -#: src/strip.c:943 +#: src/strip.c:954 #, c-format msgid "while preparing output for '%s'" msgstr "'%s' のための出力を準備している間" -#: src/strip.c:994 src/strip.c:1050 +#: src/strip.c:1005 src/strip.c:1061 #, c-format msgid "while create section header section: %s" msgstr "セクションヘッダーセクションを生成している間: %s" -#: src/strip.c:1000 +#: src/strip.c:1011 #, c-format msgid "cannot allocate section data: %s" msgstr "セクションデータを割り当てられません: %s" -#: src/strip.c:1059 +#: src/strip.c:1070 #, c-format msgid "while create section header string table: %s" msgstr "セクションヘッダー文字列テーブルを生成中: %s" -#: src/strip.c:1593 src/strip.c:1690 +#: src/strip.c:1595 src/strip.c:1705 #, c-format msgid "while writing '%s': %s" msgstr "'%s' を書込み中: %s" -#: src/strip.c:1604 +#: src/strip.c:1606 #, c-format msgid "while creating '%s'" msgstr "'%s' を生成中" -#: src/strip.c:1616 +#: src/strip.c:1628 #, c-format msgid "while computing checksum for debug information" msgstr "デバッグ情報のチェックサムを計算中" -#: src/strip.c:1676 +#: src/strip.c:1691 #, c-format msgid "%s: error while reading the file: %s" msgstr "%s: ファイルを読込み中にエラー: %s" -#: src/strip.c:1722 src/strip.c:1729 +#: src/strip.c:1730 src/strip.c:1750 +#, fuzzy, c-format +msgid "while writing '%s'" +msgstr "'%s' を書込み中: %s" + +#: src/strip.c:1784 src/strip.c:1791 #, c-format msgid "error while finishing '%s': %s" msgstr "'%s' の終了中にエラー: %s" -#: src/strip.c:1752 src/strip.c:1809 +#: src/strip.c:1814 src/strip.c:1871 #, c-format msgid "cannot set access and modification date of '%s'" msgstr "'%s' のアクセスと変更日付を設定できません" diff --git a/elfutils/po/pl.gmo b/elfutils/po/pl.gmo Binary files differindex f8938c68..b4a7bfe9 100644 --- a/elfutils/po/pl.gmo +++ b/elfutils/po/pl.gmo diff --git a/elfutils/po/pl.po b/elfutils/po/pl.po index 10fb5cc3..bd4e6ed8 100644 --- a/elfutils/po/pl.po +++ b/elfutils/po/pl.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: pl\n" "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n" -"POT-Creation-Date: 2010-11-22 22:08-0500\n" -"PO-Revision-Date: 2010-10-25 13:56+0200\n" +"POT-Creation-Date: 2011-01-12 17:51-0500\n" +"PO-Revision-Date: 2011-01-08 08:49+0100\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Language-Team: Polish <trans-pl@lists.fedoraproject.org>\n" "Language: pl\n" @@ -357,6 +357,11 @@ msgstr "nie można obsłużyć opisu typu DWARF" msgid "ELF file does not match build ID" msgstr "plik ELF nie posiada pasującego identyfikatora kopii" +#: libdwfl/libdwflP.h:98 +#, fuzzy +msgid "corrupt .gnu.prelink_undo section data" +msgstr "nie można odczytać sekcji \".gnu.prelink_undo\": %s" + #: libebl/eblbackendname.c:63 msgid "No backend" msgstr "Brak zaplecza" @@ -589,7 +594,7 @@ msgstr "[ADRES...]" #: src/addr2line.c:189 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:456 src/size.c:219 src/strings.c:227 -#: src/strip.c:204 src/unstrip.c:234 +#: src/strip.c:210 src/unstrip.c:234 #, c-format msgid "" "Copyright (C) %s Red Hat, Inc.\n" @@ -605,7 +610,7 @@ msgstr "" #: src/addr2line.c:194 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:461 src/size.c:224 src/strings.c:232 -#: src/strip.c:209 src/unstrip.c:239 +#: src/strip.c:215 src/unstrip.c:239 #, c-format msgid "Written by %s.\n" msgstr "Napisane przez %s.\n" @@ -1011,7 +1016,7 @@ msgstr "Nieprawidłowa wartość \"%s\" dla parametru --gaps." #: 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:1913 +#: src/strings.c:183 src/strip.c:443 src/strip.c:478 src/unstrip.c:1913 #: src/unstrip.c:1942 #, c-format msgid "cannot open '%s'" @@ -2908,7 +2913,7 @@ msgid "Locate source of text relocations in FILEs (a.out by default)." msgstr "Odnajduje źródło relokacji tekstu w PLIKACH (domyślnie a.out)." #: src/findtextrel.c:84 src/nm.c:111 src/objdump.c:80 src/size.c:92 -#: src/strings.c:92 src/strip.c:97 +#: src/strings.c:92 src/strip.c:100 msgid "[FILE...]" msgstr "[PLIK...]" @@ -3406,7 +3411,7 @@ msgid "Warning: size of `%s' changed from %<PRIu64> in %s to %<PRIu64> in %s" msgstr "" "Ostrzeżenie: rozmiar \"%s\" zmienił się z %<PRIu64> w %s na %<PRIu64> w %s" -#: src/ldgeneric.c:661 src/ldgeneric.c:1122 src/readelf.c:636 src/strip.c:543 +#: src/ldgeneric.c:661 src/ldgeneric.c:1122 src/readelf.c:636 src/strip.c:553 #, c-format msgid "cannot determine number of sections: %s" msgstr "nie można określić liczby sekcji: %s" @@ -3717,7 +3722,7 @@ msgstr "" msgid "default visibility set as local and global" msgstr "domyślna widoczność ustawiona jako lokalna i globalna" -#: src/nm.c:74 src/strip.c:73 +#: src/nm.c:74 src/strip.c:74 msgid "Output selection:" msgstr "Wybór wyjścia:" @@ -3781,7 +3786,7 @@ msgstr "Oznacza słabe symbole" msgid "Print size of defined symbols" msgstr "Wyświetla rozmiar określonych symboli" -#: src/nm.c:98 src/size.c:80 src/strip.c:78 src/unstrip.c:81 +#: src/nm.c:98 src/size.c:80 src/strip.c:79 src/unstrip.c:81 msgid "Output options:" msgstr "Opcje wyjścia:" @@ -3801,18 +3806,18 @@ msgstr "Odwraca kierunek porządkowania" msgid "List symbols from FILEs (a.out by default)." msgstr "Wyświetla listę symboli z PLIKU (domyślnie a.out)." -#: src/nm.c:136 src/objdump.c:105 src/size.c:117 src/strip.c:121 +#: src/nm.c:136 src/objdump.c:105 src/size.c:117 src/strip.c:124 #, c-format msgid "%s: INTERNAL ERROR %d (%s-%s): %s" msgstr "%s: BŁĄD WEWNĘTRZNY %d (%s-%s): %s" #: src/nm.c:380 src/nm.c:392 src/size.c:317 src/size.c:326 src/size.c:337 -#: src/strip.c:1816 +#: src/strip.c:1878 #, c-format msgid "while closing '%s'" msgstr "podczas zamykania \"%s\"" -#: src/nm.c:402 src/objdump.c:296 src/strip.c:359 +#: src/nm.c:402 src/objdump.c:296 src/strip.c:369 #, c-format msgid "%s: File format not recognized" msgstr "%s: nie rozpoznano formatu pliku" @@ -3855,7 +3860,7 @@ msgstr "nie można utworzyć drzewa wyszukiwania" #: src/readelf.c:1742 src/readelf.c:1952 src/readelf.c:2206 src/readelf.c:2272 #: src/readelf.c:2350 src/readelf.c:2848 src/readelf.c:2884 src/readelf.c:2946 #: src/readelf.c:6934 src/readelf.c:7832 src/readelf.c:7979 src/readelf.c:8047 -#: src/size.c:425 src/size.c:499 src/strip.c:483 +#: src/size.c:425 src/size.c:499 src/strip.c:493 #, c-format msgid "cannot get section header string table index" msgstr "nie można uzyskać indeksu tabeli ciągów nagłówków sekcji" @@ -5827,149 +5832,158 @@ msgstr "ponowne mmap nie powiodło się" msgid "mprotect failed" msgstr "mprotect nie powiodło się" -#: src/strip.c:74 +#: src/strip.c:75 msgid "Place stripped output into FILE" msgstr "Umieszcza okrojone wyjście w PLIKU" -#: src/strip.c:75 +#: src/strip.c:76 msgid "Extract the removed sections into FILE" msgstr "Wydobywa usunięte sekcje do PLIKU" -#: src/strip.c:76 +#: src/strip.c:77 msgid "Embed name FILE instead of -f argument" msgstr "Osadza nazwę PLIKU zamiast parametru -f" -#: src/strip.c:80 +#: src/strip.c:81 msgid "Remove all debugging symbols" msgstr "Usuwa wszystkie symbole debugowania" -#: src/strip.c:84 +#: src/strip.c:85 +msgid "Remove section headers (not recommended)" +msgstr "Usuwa nagłówki sekcji (niezalecane)" + +#: src/strip.c:87 msgid "Copy modified/access timestamps to the output" msgstr "Kopiuje czasy modyfikacji/dostępu do wyjścia" -#: src/strip.c:86 +#: src/strip.c:89 msgid "Remove .comment section" msgstr "Usuwa sekcję .comment" -#: src/strip.c:89 +#: src/strip.c:92 msgid "Relax a few rules to handle slightly broken ELF files" msgstr "Łagodzi kilka reguł, aby obsłużyć lekko uszkodzone pliki ELF" -#: src/strip.c:94 +#: src/strip.c:97 msgid "Discard symbols from object files." msgstr "Odrzuca symbole z plików obiektów." -#: src/strip.c:186 +#: src/strip.c:192 #, c-format msgid "Only one input file allowed together with '-o' and '-f'" msgstr "Tylko jeden plik wejściowy jest dozwolony z \"-o\" i \"-f\"" -#: src/strip.c:222 +#: src/strip.c:228 #, c-format msgid "-f option specified twice" msgstr "Opcję -f podano dwukrotnie" -#: src/strip.c:231 +#: src/strip.c:237 #, c-format msgid "-F option specified twice" msgstr "Opcję -F podano dwukrotnie" -#: src/strip.c:240 src/unstrip.c:125 +#: src/strip.c:246 src/unstrip.c:125 #, c-format msgid "-o option specified twice" msgstr "Opcję -o podano dwukrotnie" -#: src/strip.c:260 +#: src/strip.c:266 #, c-format msgid "-R option supports only .comment section" msgstr "Opcja -R obsługuje tylko sekcję .comment" -#: src/strip.c:298 src/strip.c:322 +#: src/strip.c:308 src/strip.c:332 #, c-format msgid "cannot stat input file '%s'" msgstr "nie można wykonać stat na pliku wejściowym \"%s\"" -#: src/strip.c:312 +#: src/strip.c:322 #, c-format msgid "while opening '%s'" msgstr "podczas otwierania \"%s\"" -#: src/strip.c:350 +#: src/strip.c:360 #, 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" -#: src/strip.c:448 +#: src/strip.c:458 #, c-format msgid "cannot open EBL backend" msgstr "nie można otworzyć zaplecza EBL" -#: src/strip.c:498 src/strip.c:522 +#: src/strip.c:508 src/strip.c:532 #, c-format msgid "cannot create new file '%s': %s" msgstr "nie można utworzyć nowego pliku \"%s\": %s" -#: src/strip.c:582 +#: src/strip.c:592 #, c-format msgid "illformed file '%s'" msgstr "plik \"%s\" posiada błędny format" -#: src/strip.c:869 src/strip.c:956 +#: src/strip.c:880 src/strip.c:967 #, c-format msgid "while generating output file: %s" msgstr "podczas tworzenia pliku wyjściowego: %s" -#: src/strip.c:929 src/strip.c:1668 +#: src/strip.c:940 src/strip.c:1683 #, c-format msgid "%s: error while creating ELF header: %s" msgstr "%s: błąd podczas tworzenia nagłówka ELF: %s" -#: src/strip.c:943 +#: src/strip.c:954 #, c-format msgid "while preparing output for '%s'" msgstr "podczas przygotowywania wyjścia dla \"%s\"" -#: src/strip.c:994 src/strip.c:1050 +#: src/strip.c:1005 src/strip.c:1061 #, c-format msgid "while create section header section: %s" msgstr "podczas tworzenia sekcji nagłówka sekcji: %s" -#: src/strip.c:1000 +#: src/strip.c:1011 #, c-format msgid "cannot allocate section data: %s" msgstr "nie można przydzielić danych sekcji: %s" -#: src/strip.c:1059 +#: src/strip.c:1070 #, c-format msgid "while create section header string table: %s" msgstr "podczas tworzenia tabeli ciągów nagłówka sekcji: %s" -#: src/strip.c:1593 src/strip.c:1690 +#: src/strip.c:1595 src/strip.c:1705 #, c-format msgid "while writing '%s': %s" msgstr "podczas zapisywania \"%s\": %s" -#: src/strip.c:1604 +#: src/strip.c:1606 #, c-format msgid "while creating '%s'" msgstr "podczas tworzenia \"%s\"" -#: src/strip.c:1616 +#: src/strip.c:1628 #, c-format msgid "while computing checksum for debug information" msgstr "podczas obliczania sumy kontrolnej dla informacji debugowania" -#: src/strip.c:1676 +#: src/strip.c:1691 #, c-format msgid "%s: error while reading the file: %s" msgstr "%s: błąd podczas odczytywania pliku: %s" -#: src/strip.c:1722 src/strip.c:1729 +#: src/strip.c:1730 src/strip.c:1750 +#, c-format +msgid "while writing '%s'" +msgstr "podczas zapisywania \"%s\"" + +#: src/strip.c:1784 src/strip.c:1791 #, c-format msgid "error while finishing '%s': %s" msgstr "błąd podczas kończenia \"%s\": %s" -#: src/strip.c:1752 src/strip.c:1809 +#: src/strip.c:1814 src/strip.c:1871 #, c-format msgid "cannot set access and modification date of '%s'" msgstr "nie można ustawić czasu dostępu i modyfikacji \"%s\"" diff --git a/elfutils/po/uk.gmo b/elfutils/po/uk.gmo Binary files differindex 49cfacc8..8276ec3d 100644 --- a/elfutils/po/uk.gmo +++ b/elfutils/po/uk.gmo diff --git a/elfutils/po/uk.po b/elfutils/po/uk.po index 9f60549c..8b5cd615 100644 --- a/elfutils/po/uk.po +++ b/elfutils/po/uk.po @@ -1,12 +1,12 @@ # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. -# Yuri Chornoivan <yurchor@ukr.net>, 2010. +# Yuri Chornoivan <yurchor@ukr.net>, 2010, 2011. msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n" -"POT-Creation-Date: 2010-11-22 22:08-0500\n" -"PO-Revision-Date: 2010-09-01 10:00+0300\n" +"POT-Creation-Date: 2011-01-12 17:51-0500\n" +"PO-Revision-Date: 2011-01-08 09:47+0200\n" "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n" "Language-Team: Ukrainian <kde-i18n-doc@kde.org>\n" "Language: uk\n" @@ -15,7 +15,7 @@ msgstr "" "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.1\n" +"X-Generator: Lokalize 1.2\n" #: lib/xmalloc.c:51 lib/xmalloc.c:65 lib/xmalloc.c:79 src/readelf.c:2829 #: src/readelf.c:3168 src/unstrip.c:2100 src/unstrip.c:2308 @@ -358,6 +358,11 @@ msgstr "не вдалося обробити опис типу DWARF" msgid "ELF file does not match build ID" msgstr "Файл ELF не відповідає ідентифікатору збирання" +#: libdwfl/libdwflP.h:98 +#, fuzzy +msgid "corrupt .gnu.prelink_undo section data" +msgstr "не вдалося прочитати розділ «.gnu.prelink_undo»: %s" + #: libebl/eblbackendname.c:63 msgid "No backend" msgstr "Немає сервера" @@ -588,7 +593,7 @@ msgstr "[АДРЕСА...]" #: src/addr2line.c:189 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:456 src/size.c:219 src/strings.c:227 -#: src/strip.c:204 src/unstrip.c:234 +#: src/strip.c:210 src/unstrip.c:234 #, c-format msgid "" "Copyright (C) %s Red Hat, Inc.\n" @@ -603,7 +608,7 @@ msgstr "" #: src/addr2line.c:194 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:461 src/size.c:224 src/strings.c:232 -#: src/strip.c:209 src/unstrip.c:239 +#: src/strip.c:215 src/unstrip.c:239 #, c-format msgid "Written by %s.\n" msgstr "Автор — %s.\n" @@ -1013,7 +1018,7 @@ msgstr "Некоректне значення «%s» параметра --gaps." #: 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:1913 +#: src/strings.c:183 src/strip.c:443 src/strip.c:478 src/unstrip.c:1913 #: src/unstrip.c:1942 #, c-format msgid "cannot open '%s'" @@ -2925,7 +2930,7 @@ msgid "Locate source of text relocations in FILEs (a.out by default)." msgstr "Шукає джерело переміщеного тексту у ФАЙЛАХ (типово, a.out)." #: src/findtextrel.c:84 src/nm.c:111 src/objdump.c:80 src/size.c:92 -#: src/strings.c:92 src/strip.c:97 +#: src/strings.c:92 src/strip.c:100 msgid "[FILE...]" msgstr "[ФАЙЛ...]" @@ -3433,7 +3438,7 @@ msgstr "Попередження: тип «%s» змінився з %s у %s н msgid "Warning: size of `%s' changed from %<PRIu64> in %s to %<PRIu64> in %s" msgstr "Попередження: розмір «%s» змінено з %<PRIu64> у %s на %<PRIu64> у %s" -#: src/ldgeneric.c:661 src/ldgeneric.c:1122 src/readelf.c:636 src/strip.c:543 +#: src/ldgeneric.c:661 src/ldgeneric.c:1122 src/readelf.c:636 src/strip.c:553 #, c-format msgid "cannot determine number of sections: %s" msgstr "не вдалося визначити кількість розділів: %s" @@ -3744,7 +3749,7 @@ msgstr "символ «%s» оголошено локально і на зага msgid "default visibility set as local and global" msgstr "типову видимість визначено як локальну і загальну" -#: src/nm.c:74 src/strip.c:73 +#: src/nm.c:74 src/strip.c:74 msgid "Output selection:" msgstr "Вибір виводу:" @@ -3808,7 +3813,7 @@ msgstr "Позначати слабкі символи" msgid "Print size of defined symbols" msgstr "Вивести розмір визначених символів" -#: src/nm.c:98 src/size.c:80 src/strip.c:78 src/unstrip.c:81 +#: src/nm.c:98 src/size.c:80 src/strip.c:79 src/unstrip.c:81 msgid "Output options:" msgstr "Параметри виводу:" @@ -3828,18 +3833,18 @@ msgstr "Змінити порядок на протилежний" msgid "List symbols from FILEs (a.out by default)." msgstr "Показати список символів з ФАЙЛів (типово з a.out)." -#: src/nm.c:136 src/objdump.c:105 src/size.c:117 src/strip.c:121 +#: src/nm.c:136 src/objdump.c:105 src/size.c:117 src/strip.c:124 #, c-format msgid "%s: INTERNAL ERROR %d (%s-%s): %s" msgstr "%s: ВНУТРІШНЯ ПОМИЛКА %d (%s-%s): %s" #: src/nm.c:380 src/nm.c:392 src/size.c:317 src/size.c:326 src/size.c:337 -#: src/strip.c:1816 +#: src/strip.c:1878 #, c-format msgid "while closing '%s'" msgstr "під час закриття «%s»" -#: src/nm.c:402 src/objdump.c:296 src/strip.c:359 +#: src/nm.c:402 src/objdump.c:296 src/strip.c:369 #, c-format msgid "%s: File format not recognized" msgstr "%s: не вдалося розпізнати формат файла" @@ -3882,7 +3887,7 @@ msgstr "не вдалося створити дерево пошуку" #: src/readelf.c:1742 src/readelf.c:1952 src/readelf.c:2206 src/readelf.c:2272 #: src/readelf.c:2350 src/readelf.c:2848 src/readelf.c:2884 src/readelf.c:2946 #: src/readelf.c:6934 src/readelf.c:7832 src/readelf.c:7979 src/readelf.c:8047 -#: src/size.c:425 src/size.c:499 src/strip.c:483 +#: src/size.c:425 src/size.c:499 src/strip.c:493 #, c-format msgid "cannot get section header string table index" msgstr "не вдалося визначити індекс заголовка розділу у таблиці рядків" @@ -5840,153 +5845,162 @@ msgstr "помилка повторного використання mmap" msgid "mprotect failed" msgstr "помилка mprotect" -#: src/strip.c:74 +#: src/strip.c:75 msgid "Place stripped output into FILE" msgstr "Вивести дані після вилучення до ФАЙЛа" -#: src/strip.c:75 +#: src/strip.c:76 msgid "Extract the removed sections into FILE" msgstr "Видобути вилучені розділи до ФАЙЛа" -#: src/strip.c:76 +#: src/strip.c:77 msgid "Embed name FILE instead of -f argument" msgstr "Вбудувати назву ФАЙЛа замість аргументу -f" -#: src/strip.c:80 +#: src/strip.c:81 msgid "Remove all debugging symbols" msgstr "Вилучити всі символи зневаджування" -#: src/strip.c:84 +#: src/strip.c:85 +msgid "Remove section headers (not recommended)" +msgstr "Вилучити заголовки розділів (не рекомендовано)" + +#: src/strip.c:87 msgid "Copy modified/access timestamps to the output" msgstr "Скопіювати часові позначки зміни/доступу до виведених даних" -#: src/strip.c:86 +#: src/strip.c:89 msgid "Remove .comment section" msgstr "Вилучити розділ .comment" -#: src/strip.c:89 +#: src/strip.c:92 msgid "Relax a few rules to handle slightly broken ELF files" msgstr "" "Знехтувати декількома правилами для обробки трохи пошкоджених файлів ELF" -#: src/strip.c:94 +#: src/strip.c:97 msgid "Discard symbols from object files." msgstr "Відкинути символи з об’єктних файлів" -#: src/strip.c:186 +#: src/strip.c:192 #, c-format msgid "Only one input file allowed together with '-o' and '-f'" msgstr "" "Разом з «-o» або «-f» можна використовувати лише один файл вхідних даних" -#: src/strip.c:222 +#: src/strip.c:228 #, c-format msgid "-f option specified twice" msgstr "параметр -f вказано двічі" -#: src/strip.c:231 +#: src/strip.c:237 #, c-format msgid "-F option specified twice" msgstr "параметр -F вказано двічі" -#: src/strip.c:240 src/unstrip.c:125 +#: src/strip.c:246 src/unstrip.c:125 #, c-format msgid "-o option specified twice" msgstr "параметр -o вказано двічі" -#: src/strip.c:260 +#: src/strip.c:266 #, c-format msgid "-R option supports only .comment section" msgstr "Для параметра -R передбачено підтримку лише розділу .comment" -#: src/strip.c:298 src/strip.c:322 +#: src/strip.c:308 src/strip.c:332 #, c-format msgid "cannot stat input file '%s'" msgstr "не вдалося отримати дані з вхідного файла «%s» за допомогою stat" -#: src/strip.c:312 +#: src/strip.c:322 #, c-format msgid "while opening '%s'" msgstr "під час спроби відкриття «%s»" -#: src/strip.c:350 +#: src/strip.c:360 #, c-format msgid "%s: cannot use -o or -f when stripping archive" msgstr "" "%s: не можна використовувати -o або -f під час вилучення додаткового вмісту " "архіву" -#: src/strip.c:448 +#: src/strip.c:458 #, c-format msgid "cannot open EBL backend" msgstr "не вдалося відкрити канал сервера EBL" -#: src/strip.c:498 src/strip.c:522 +#: src/strip.c:508 src/strip.c:532 #, c-format msgid "cannot create new file '%s': %s" msgstr "не вдалося створити файл «%s»: %s" -#: src/strip.c:582 +#: src/strip.c:592 #, c-format msgid "illformed file '%s'" msgstr "помилкове форматування файла «%s»" -#: src/strip.c:869 src/strip.c:956 +#: src/strip.c:880 src/strip.c:967 #, c-format msgid "while generating output file: %s" msgstr "під час спроби створення файла з виведеними даними: %s" -#: src/strip.c:929 src/strip.c:1668 +#: src/strip.c:940 src/strip.c:1683 #, c-format msgid "%s: error while creating ELF header: %s" msgstr "%s: помилка під час створення заголовка ELF: %s" -#: src/strip.c:943 +#: src/strip.c:954 #, c-format msgid "while preparing output for '%s'" msgstr "під час приготування виведених даних для «%s»" -#: src/strip.c:994 src/strip.c:1050 +#: src/strip.c:1005 src/strip.c:1061 #, c-format msgid "while create section header section: %s" msgstr "під час створення розділу заголовка розділу: %s" -#: src/strip.c:1000 +#: src/strip.c:1011 #, c-format msgid "cannot allocate section data: %s" msgstr "не вдалося розмістити дані розділу: %s" -#: src/strip.c:1059 +#: src/strip.c:1070 #, c-format msgid "while create section header string table: %s" msgstr "під час створення таблиці рядків заголовка розділу: %s" -#: src/strip.c:1593 src/strip.c:1690 +#: src/strip.c:1595 src/strip.c:1705 #, c-format msgid "while writing '%s': %s" msgstr "під час запису «%s»: %s" -#: src/strip.c:1604 +#: src/strip.c:1606 #, c-format msgid "while creating '%s'" msgstr "під час спроби створення «%s»" -#: src/strip.c:1616 +#: src/strip.c:1628 #, c-format msgid "while computing checksum for debug information" msgstr "під час обчислення контрольної суми для діагностичних даних" -#: src/strip.c:1676 +#: src/strip.c:1691 #, c-format msgid "%s: error while reading the file: %s" msgstr "%s: помилка під час читання файла: %s" -#: src/strip.c:1722 src/strip.c:1729 +#: src/strip.c:1730 src/strip.c:1750 +#, c-format +msgid "while writing '%s'" +msgstr "під час спроби запису «%s»" + +#: src/strip.c:1784 src/strip.c:1791 #, c-format msgid "error while finishing '%s': %s" msgstr "помилка під час завершення «%s»: %s" -#: src/strip.c:1752 src/strip.c:1809 +#: src/strip.c:1814 src/strip.c:1871 #, c-format msgid "cannot set access and modification date of '%s'" msgstr "не вдалося встановити права доступу та дату зміни «%s»" diff --git a/elfutils/src/ChangeLog b/elfutils/src/ChangeLog index 7a151927..8b74ca6d 100644 --- a/elfutils/src/ChangeLog +++ b/elfutils/src/ChangeLog @@ -1,3 +1,14 @@ +2011-01-06 Roland McGrath <roland@redhat.com> + + * strip.c (handle_elf): Under --strip-sections, remove all + non-allocated sections and never generate .gnu_debuglink. + +2011-01-04 Roland McGrath <roland@redhat.com> + + * strip.c (remove_shdrs): New variable. + (options, parse_opt): Grok --strip-sections to set it. + (handle_elf): When that's set, truncate off .shstrtab and shdrs. + 2010-11-10 Roland McGrath <roland@redhat.com> * findtextrel.c (process_file): Don't assume order of sections. diff --git a/elfutils/src/strip.c b/elfutils/src/strip.c index 7b2b889a..99374eb3 100644 --- a/elfutils/src/strip.c +++ b/elfutils/src/strip.c @@ -1,5 +1,5 @@ /* Discard section not used at runtime from object files. - Copyright (C) 2000-2010 Red Hat, Inc. + Copyright (C) 2000-2011 Red Hat, Inc. This file is part of Red Hat elfutils. Written by Ulrich Drepper <drepper@redhat.com>, 2000. @@ -65,6 +65,7 @@ ARGP_PROGRAM_BUG_ADDRESS_DEF = PACKAGE_BUGREPORT; /* Values for the parameters which have no short form. */ #define OPT_REMOVE_COMMENT 0x100 #define OPT_PERMISSIVE 0x101 +#define OPT_STRIP_SECTIONS 0x102 /* Definitions of arguments for argp functions. */ @@ -80,6 +81,8 @@ static const struct argp_option options[] = { "strip-debug", 'g', NULL, 0, N_("Remove all debugging symbols"), 0 }, { NULL, 'd', NULL, OPTION_ALIAS, NULL, 0 }, { NULL, 'S', NULL, OPTION_ALIAS, NULL, 0 }, + { "strip-sections", OPT_STRIP_SECTIONS, NULL, 0, + N_("Remove section headers (not recommended)"), 0 }, { "preserve-dates", 'p', NULL, 0, N_("Copy modified/access timestamps to the output"), 0 }, { "remove-comment", OPT_REMOVE_COMMENT, NULL, 0, @@ -140,6 +143,9 @@ static bool remove_comment; /* If true remove all debug sections. */ static bool remove_debug; +/* If true remove all section headers. */ +static bool remove_shdrs; + /* If true relax some ELF rules for input files. */ static bool permissive; @@ -268,6 +274,10 @@ parse_opt (int key, char *arg, struct argp_state *state) remove_debug = true; break; + case OPT_STRIP_SECTIONS: + remove_shdrs = true; + break; + case OPT_PERMISSIVE: permissive = true; break; @@ -662,9 +672,10 @@ handle_elf (int fd, Elf *elf, const char *prefix, const char *fname, */ for (cnt = 1; cnt < shnum; ++cnt) /* Check whether the section can be removed. */ - if (ebl_section_strip_p (ebl, ehdr, &shdr_info[cnt].shdr, - shdr_info[cnt].name, remove_comment, - remove_debug)) + if (remove_shdrs ? !(shdr_info[cnt].shdr.sh_flags & SHF_ALLOC) + : ebl_section_strip_p (ebl, ehdr, &shdr_info[cnt].shdr, + shdr_info[cnt].name, remove_comment, + remove_debug)) { /* For now assume this section will be removed. */ shdr_info[cnt].idx = 0; @@ -968,7 +979,7 @@ handle_elf (int fd, Elf *elf, const char *prefix, const char *fname, goto fail_close; /* Create the reference to the file with the debug info. */ - if (debug_fname != NULL) + if (debug_fname != NULL && !remove_shdrs) { /* Add the section header string table section name. */ shdr_info[cnt].se = ebl_strtabadd (shst, ".gnu_debuglink", 15); @@ -1578,15 +1589,6 @@ handle_elf (int fd, Elf *elf, const char *prefix, const char *fname, we can actually write out the debug file. */ if (debug_fname != NULL) { - uint32_t debug_crc; - Elf_Data debug_crc_data = - { - .d_type = ELF_T_WORD, - .d_buf = &debug_crc, - .d_size = sizeof (debug_crc), - .d_version = EV_CURRENT - }; - /* Finally write the file. */ if (unlikely (elf_update (debugelf, ELF_C_WRITE) == -1)) { @@ -1609,21 +1611,33 @@ handle_elf (int fd, Elf *elf, const char *prefix, const char *fname, /* The temporary file does not exist anymore. */ tmp_debug_fname = NULL; - /* Compute the checksum which we will add to the executable. */ - if (crc32_file (debug_fd, &debug_crc) != 0) + if (!remove_shdrs) { - error (0, errno, - gettext ("while computing checksum for debug information")); - unlink (debug_fname); - result = 1; - goto fail_close; - } + uint32_t debug_crc; + Elf_Data debug_crc_data = + { + .d_type = ELF_T_WORD, + .d_buf = &debug_crc, + .d_size = sizeof (debug_crc), + .d_version = EV_CURRENT + }; + + /* Compute the checksum which we will add to the executable. */ + if (crc32_file (debug_fd, &debug_crc) != 0) + { + error (0, errno, gettext ("\ +while computing checksum for debug information")); + unlink (debug_fname); + result = 1; + goto fail_close; + } - /* Store it in the debuglink section data. */ - if (unlikely (gelf_xlatetof (newelf, &debuglink_crc_data, - &debug_crc_data, ehdr->e_ident[EI_DATA]) - != &debuglink_crc_data)) - INTERNAL_ERROR (fname); + /* Store it in the debuglink section data. */ + if (unlikely (gelf_xlatetof (newelf, &debuglink_crc_data, + &debug_crc_data, ehdr->e_ident[EI_DATA]) + != &debuglink_crc_data)) + INTERNAL_ERROR (fname); + } } /* Finally finish the ELF header. Fill in the fields not handled by @@ -1639,6 +1653,7 @@ handle_elf (int fd, Elf *elf, const char *prefix, const char *fname, newehdr->e_entry = ehdr->e_entry; newehdr->e_flags = ehdr->e_flags; newehdr->e_phoff = ehdr->e_phoff; + /* We need to position the section header table. */ const size_t offsize = gelf_fsize (elf, ELF_T_OFF, 1, EV_CURRENT); newehdr->e_shoff = ((shdr_info[shdridx].shdr.sh_offset @@ -1692,6 +1707,53 @@ handle_elf (int fd, Elf *elf, const char *prefix, const char *fname, result = 1; } + if (remove_shdrs) + { + /* libelf can't cope without the section headers being properly intact. + So we just let it write them normally, and then we nuke them later. */ + + if (newehdr->e_ident[EI_CLASS] == ELFCLASS32) + { + assert (offsetof (Elf32_Ehdr, e_shentsize) + sizeof (Elf32_Half) + == offsetof (Elf32_Ehdr, e_shnum)); + assert (offsetof (Elf32_Ehdr, e_shnum) + sizeof (Elf32_Half) + == offsetof (Elf32_Ehdr, e_shstrndx)); + const Elf32_Off zero_off = 0; + const Elf32_Half zero[3] = { 0, 0, SHN_UNDEF }; + if (pwrite_retry (fd, &zero_off, sizeof zero_off, + offsetof (Elf32_Ehdr, e_shoff)) != sizeof zero_off + || (pwrite_retry (fd, zero, sizeof zero, + offsetof (Elf32_Ehdr, e_shentsize)) + != sizeof zero) + || ftruncate64 (fd, shdr_info[shdridx].shdr.sh_offset) < 0) + { + error (0, errno, gettext ("while writing '%s'"), + fname); + result = 1; + } + } + else + { + assert (offsetof (Elf64_Ehdr, e_shentsize) + sizeof (Elf64_Half) + == offsetof (Elf64_Ehdr, e_shnum)); + assert (offsetof (Elf64_Ehdr, e_shnum) + sizeof (Elf64_Half) + == offsetof (Elf64_Ehdr, e_shstrndx)); + const Elf64_Off zero_off = 0; + const Elf64_Half zero[3] = { 0, 0, SHN_UNDEF }; + if (pwrite_retry (fd, &zero_off, sizeof zero_off, + offsetof (Elf64_Ehdr, e_shoff)) != sizeof zero_off + || (pwrite_retry (fd, zero, sizeof zero, + offsetof (Elf64_Ehdr, e_shentsize)) + != sizeof zero) + || ftruncate64 (fd, shdr_info[shdridx].shdr.sh_offset) < 0) + { + error (0, errno, gettext ("while writing '%s'"), + fname); + result = 1; + } + } + } + fail_close: if (shdr_info != NULL) { diff --git a/elfutils/tests/ChangeLog b/elfutils/tests/ChangeLog index 0176fb49..9ba08acb 100644 --- a/elfutils/tests/ChangeLog +++ b/elfutils/tests/ChangeLog @@ -1,3 +1,46 @@ +2011-01-12 Roland McGrath <roland@redhat.com> + + * run-prelink-addr-test.sh: Make symlinks to find .debug files + corresponding to .noshdrs files. + +2011-01-11 Josh Stone <jistone@redhat.com> + + * run-prelink-addr-test.sh: Add testfile54, 32 and 64-bit. + * testfile54-32.so.bz2, testfile54-32.so.debug.bz2, + testfile54-32.prelink.so.bz2, testfile54-32.noshdrs.so.bz2, + testfile54-64.so.bz2, testfile54-64.so.debug.bz2, + testfile54-64.prelink.so.bz2, testfile54-64.noshdrs.so.bz2: New. + * Makefile.am (EXTRA_DIST): Add and update all. + + * run-prelink-addr-test.sh: Run 32 and 64-bit testfile53 tests. + * testfile53.bz2, testfile53.debug.bz2, + testfile53.prelink.bz2: Deleted, so... + * testfile53-64.bz2, testfile53-64.debug.bz2, + testfile53-64.prelink.bz2: Recreated with 64-bit names. + * testfile53-32.bz2, testfile53-32.debug.bz2, + testfile53-32.prelink.bz2: New in 32-bit. + * Makefile.am (EXTRA_DIST): Add and update all. + + * run-prelink-addr-test.sh: Run 32 and 64-bit testfile52 tests. + * testfile52.so.bz2, testfile52.so.debug.bz2, + testfile52.prelink.so.bz2: Deleted, so... + * testfile52-32.so.bz2, testfile52-32.so.debug.bz2, + testfile52-32.prelink.so.bz2: Recreated with 32-bit names. + * testfile52-32.noshdrs.so.bz2: New data file, stripped of headers. + * testfile52-64.so.bz2, testfile52-64.so.debug.bz2, + testfile52-64.prelink.so.bz2, testfile52-64.noshdrs.so.bz2: New files. + * Makefile.am (EXTRA_DIST): Add and update all. + +2011-01-10 Josh Stone <jistone@redhat.com> + + * run-prelink-addr-test.sh: New test for prelinked addrs. + * Makefile.am (TESTS, EXTRA_DIST): Add it. + * testfile52.so.bz2, testfile52.so.debug.bz2: New data files. + * testfile52.prelink.so.bz2: New data file, shows REL->RELA. + * testfile53.bz2, testfile53.debug.bz2: New data files. + * testfile53.prelink.bz2: New data file, shows ET_EXEC remap. + * Makefile.am (EXTRA_DIST): Add them. + 2010-06-04 Roland McGrath <roland@redhat.com> * run-unstrip-test.sh: Also test modifying the file in place. diff --git a/elfutils/tests/Makefile.am b/elfutils/tests/Makefile.am index 008008ac..04805f05 100644 --- a/elfutils/tests/Makefile.am +++ b/elfutils/tests/Makefile.am @@ -83,7 +83,7 @@ TESTS = run-arextract.sh run-arsymtest.sh newfile test-nlist \ 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-test-flag-nobits.sh + run-test-flag-nobits.sh run-prelink-addr-test.sh # run-show-ciefde.sh if !STANDALONE @@ -139,7 +139,19 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \ testfile44.S.bz2 testfile44.expect.bz2 run-disasm-x86.sh \ testfile45.S.bz2 testfile45.expect.bz2 run-disasm-x86-64.sh \ testfile46.bz2 testfile47.bz2 testfile48.bz2 testfile48.debug.bz2 \ - testfile49.bz2 testfile50.bz2 testfile51.bz2 + testfile49.bz2 testfile50.bz2 testfile51.bz2 \ + run-prelink-addr-test.sh \ + testfile52-32.so.bz2 testfile52-32.so.debug.bz2 \ + testfile52-32.prelink.so.bz2 testfile52-32.noshdrs.so.bz2 \ + testfile52-64.so.bz2 testfile52-64.so.debug.bz2 \ + testfile52-64.prelink.so.bz2 testfile52-64.noshdrs.so.bz2 \ + testfile53-32.bz2 testfile53-32.debug.bz2 \ + testfile53-32.prelink.bz2 testfile53-64.bz2 \ + testfile53-64.debug.bz2 testfile53-64.prelink.bz2 \ + testfile54-32.so.bz2 testfile54-32.so.debug.bz2 \ + testfile54-32.prelink.so.bz2 testfile54-32.noshdrs.so.bz2 \ + testfile54-64.so.bz2 testfile54-64.so.debug.bz2 \ + testfile54-64.prelink.so.bz2 testfile54-64.noshdrs.so.bz2 installed_TESTS_ENVIRONMENT = libdir=$(DESTDIR)$(libdir) \ bindir=$(DESTDIR)$(bindir) \ diff --git a/elfutils/tests/Makefile.in b/elfutils/tests/Makefile.in index 930b3157..f4969825 100644 --- a/elfutils/tests/Makefile.in +++ b/elfutils/tests/Makefile.in @@ -80,8 +80,8 @@ TESTS = run-arextract.sh run-arsymtest.sh newfile$(EXEEXT) \ dwfl-bug-fd-leak$(EXEEXT) dwfl-bug-report$(EXEEXT) \ 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-test-flag-nobits.sh $(am__EXEEXT_1) \ - $(am__EXEEXT_3) + run-dwarf-getmacros.sh run-test-flag-nobits.sh \ + run-prelink-addr-test.sh $(am__EXEEXT_1) $(am__EXEEXT_3) # run-show-ciefde.sh @STANDALONE_FALSE@am__append_5 = msg_tst sha1-tst @STANDALONE_FALSE@am__append_6 = msg_tst sha1-tst @@ -522,7 +522,19 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \ testfile44.S.bz2 testfile44.expect.bz2 run-disasm-x86.sh \ testfile45.S.bz2 testfile45.expect.bz2 run-disasm-x86-64.sh \ testfile46.bz2 testfile47.bz2 testfile48.bz2 testfile48.debug.bz2 \ - testfile49.bz2 testfile50.bz2 testfile51.bz2 + testfile49.bz2 testfile50.bz2 testfile51.bz2 \ + run-prelink-addr-test.sh \ + testfile52-32.so.bz2 testfile52-32.so.debug.bz2 \ + testfile52-32.prelink.so.bz2 testfile52-32.noshdrs.so.bz2 \ + testfile52-64.so.bz2 testfile52-64.so.debug.bz2 \ + testfile52-64.prelink.so.bz2 testfile52-64.noshdrs.so.bz2 \ + testfile53-32.bz2 testfile53-32.debug.bz2 \ + testfile53-32.prelink.bz2 testfile53-64.bz2 \ + testfile53-64.debug.bz2 testfile53-64.prelink.bz2 \ + testfile54-32.so.bz2 testfile54-32.so.debug.bz2 \ + testfile54-32.prelink.so.bz2 testfile54-32.noshdrs.so.bz2 \ + testfile54-64.so.bz2 testfile54-64.so.debug.bz2 \ + testfile54-64.prelink.so.bz2 testfile54-64.noshdrs.so.bz2 installed_TESTS_ENVIRONMENT = libdir=$(DESTDIR)$(libdir) \ bindir=$(DESTDIR)$(bindir) \ diff --git a/elfutils/tests/run-prelink-addr-test.sh b/elfutils/tests/run-prelink-addr-test.sh new file mode 100755 index 00000000..b7e32889 --- /dev/null +++ b/elfutils/tests/run-prelink-addr-test.sh @@ -0,0 +1,216 @@ +#! /bin/sh +# Copyright (C) 2011 Red Hat, Inc. +# This file is part of Red Hat elfutils. +# +# Red Hat elfutils is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by the +# Free Software Foundation; version 2 of the License. +# +# Red Hat elfutils is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with Red Hat elfutils; if not, write to the Free Software Foundation, +# Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. +# +# Red Hat elfutils is an included package of the Open Invention Network. +# An included package of the Open Invention Network is a package for which +# Open Invention Network licensees cross-license their patents. No patent +# license is granted, either expressly or impliedly, by designation as an +# included package. Should you wish to participate in the Open Invention +# Network licensing program, please visit www.openinventionnetwork.com +# <http://www.openinventionnetwork.com>. + +. $srcdir/test-subr.sh + + +# testfile52.c: +# #include <stdlib.h> +# int foo() { exit(0); } +# +# gcc -m32 -g -shared testfile52-32.c -o testfile52-32.so +# eu-strip -f testfile52-32.so.debug testfile52-32.so +# cp testfile52-32.so testfile52-32.prelink.so +# prelink -N testfile52-32.prelink.so +# cp testfile52-32.so testfile52-32.noshdrs.so +# prelink -r 0x42000000 testfile52-32.noshdrs.so +# eu-strip --remove-comment --strip-sections testfile52-32.noshdrs.so + +testfiles testfile52-32.so testfile52-32.so.debug +testfiles testfile52-32.prelink.so testfile52-32.noshdrs.so +tempfiles testmaps52-32 testfile52-32.noshdrs.so.debug +ln -s testfile52-32.so.debug testfile52-32.noshdrs.so.debug + +cat > testmaps52-32 <<EOF +00111000-00112000 r-xp 00000000 fd:01 1 `pwd`/testfile52-32.so +00112000-00113000 rw-p 00000000 fd:01 1 `pwd`/testfile52-32.so +41000000-41001000 r-xp 00000000 fd:01 2 `pwd`/testfile52-32.prelink.so +41001000-41002000 rw-p 00000000 fd:01 2 `pwd`/testfile52-32.prelink.so +42000000-42001000 r-xp 00000000 fd:01 3 `pwd`/testfile52-32.noshdrs.so +42001000-42002000 rw-p 00000000 fd:01 3 `pwd`/testfile52-32.noshdrs.so +EOF + +# Prior to commit 1743d7f, libdwfl would fail on the second address, +# because it didn't notice that prelink added a 0x20-byte offset from +# what the .debug file reports. +testrun_compare ../src/addr2line -S -M testmaps52-32 \ + 0x11140c 0x4100042d 0x4200040e <<\EOF +foo +/home/jistone/src/elfutils/tests/testfile52-32.c:2 +foo+0x1 +/home/jistone/src/elfutils/tests/testfile52-32.c:2 +foo+0x2 +/home/jistone/src/elfutils/tests/testfile52-32.c:2 +EOF + +# Repeat testfile52 for -m64. The particular REL>RELA issue doesn't exist, but +# we'll make sure the rest works anyway. +testfiles testfile52-64.so testfile52-64.so.debug +testfiles testfile52-64.prelink.so testfile52-64.noshdrs.so +tempfiles testmaps52-64 testfile52-64.noshdrs.so.debug +ln -s testfile52-64.so.debug testfile52-64.noshdrs.so.debug + +cat > testmaps52-64 <<EOF +1000000000-1000001000 r-xp 00000000 fd:11 1 `pwd`/testfile52-64.so +1000001000-1000200000 ---p 00001000 fd:11 1 `pwd`/testfile52-64.so +1000200000-1000201000 rw-p 00000000 fd:11 1 `pwd`/testfile52-64.so +3000000000-3000001000 r-xp 00000000 fd:11 2 `pwd`/testfile52-64.prelink.so +3000001000-3000200000 ---p 00001000 fd:11 2 `pwd`/testfile52-64.prelink.so +3000200000-3000201000 rw-p 00000000 fd:11 2 `pwd`/testfile52-64.prelink.so +3800000000-3800001000 r-xp 00000000 fd:11 3 `pwd`/testfile52-64.noshdrs.so +3800001000-3800200000 ---p 00001000 fd:11 3 `pwd`/testfile52-64.noshdrs.so +3800200000-3800201000 rw-p 00000000 fd:11 3 `pwd`/testfile52-64.noshdrs.so +EOF + +testrun_compare ../src/addr2line -S -M testmaps52-64 \ + 0x100000056c 0x300000056d 0x380000056e <<\EOF +foo +/home/jistone/src/elfutils/tests/testfile52-64.c:2 +foo+0x1 +/home/jistone/src/elfutils/tests/testfile52-64.c:2 +foo+0x2 +/home/jistone/src/elfutils/tests/testfile52-64.c:2 +EOF + + +# testfile53.c: +# char foo[0x1000]; +# int main() { return 0; } +# +# gcc -m32 -g testfile53-32.c -o testfile53-32 +# eu-strip -f testfile53-32.debug testfile53-32 +# cp testfile53-32 testfile53-32.prelink +# prelink -N testfile53-32.prelink +testfiles testfile53-32 testfile53-32.debug testfile53-32.prelink + +testrun_compare ../src/addr2line -S -e testfile53-32 0x8048394 0x8048395 <<\EOF +main +/home/jistone/src/elfutils/tests/testfile53-32.c:2 +main+0x1 +/home/jistone/src/elfutils/tests/testfile53-32.c:2 +EOF + +# prelink shuffled some of the sections, but .text is in the same place. +testrun_compare ../src/addr2line -S -e testfile53-32.prelink 0x8048396 0x8048397 <<\EOF +main+0x2 +/home/jistone/src/elfutils/tests/testfile53-32.c:2 +main+0x3 +/home/jistone/src/elfutils/tests/testfile53-32.c:2 +EOF + +# Repeat testfile53 in 64-bit, except use foo[0x800] to achieve the same +# prelink section shuffling. +testfiles testfile53-64 testfile53-64.debug testfile53-64.prelink + +testrun_compare ../src/addr2line -S -e testfile53-64 0x400474 0x400475 <<\EOF +main +/home/jistone/src/elfutils/tests/testfile53-64.c:2 +main+0x1 +/home/jistone/src/elfutils/tests/testfile53-64.c:2 +EOF + +testrun_compare ../src/addr2line -S -e testfile53-64.prelink 0x400476 0x400477 <<\EOF +main+0x2 +/home/jistone/src/elfutils/tests/testfile53-64.c:2 +main+0x3 +/home/jistone/src/elfutils/tests/testfile53-64.c:2 +EOF + + +# testfile54.c: +# extern void * stdin; +# static void * pstdin = &stdin; +# void * const foo = &pstdin; +# +# gcc -m32 -g -shared -nostartfiles testfile54-32.c -o testfile54-32.so +# eu-strip -f testfile54-32.so.debug testfile54-32.so +# cp testfile54-32.so testfile54-32.prelink.so +# prelink -N testfile54-32.prelink.so +# cp testfile54-32.so testfile54-32.noshdrs.so +# prelink -r 0x42000000 testfile54-32.noshdrs.so +# eu-strip --remove-comment --strip-sections testfile54-32.noshdrs.so +testfiles testfile54-32.so testfile54-32.so.debug +testfiles testfile54-32.prelink.so testfile54-32.noshdrs.so +tempfiles testmaps54-32 + +# Note we have no testfile54-32.noshdrs.so.debug link here, so +# this is testing finding the symbols in .dynsym via PT_DYNAMIC. + +cat > testmaps54-32 <<EOF +00111000-00112000 r--p 00000000 fd:01 1 `pwd`/testfile54-32.so +00112000-00113000 rw-p 00000000 fd:01 1 `pwd`/testfile54-32.so +41000000-41001000 r--p 00000000 fd:01 2 `pwd`/testfile54-32.prelink.so +41001000-41002000 rw-p 00000000 fd:01 2 `pwd`/testfile54-32.prelink.so +42000000-42001000 r--p 00000000 fd:01 3 `pwd`/testfile54-32.noshdrs.so +42001000-42002000 rw-p 00000000 fd:01 3 `pwd`/testfile54-32.noshdrs.so +EOF + +testrun_compare ../src/addr2line -S -M testmaps54-32 \ + 0x1111fc 0x1122a4 0x410001fd 0x410012a5 0x420001fe <<\EOF +foo +??:0 +pstdin +??:0 +foo+0x1 +??:0 +pstdin+0x1 +??:0 +foo+0x2 +??:0 +EOF + +# Repeat testfile64 in 64-bit +testfiles testfile54-64.so testfile54-64.so.debug +testfiles testfile54-64.prelink.so testfile54-64.noshdrs.so +tempfiles testmaps54-64 + +# Note we have no testfile54-64.noshdrs.so.debug link here, so +# this is testing finding the symbols in .dynsym via PT_DYNAMIC. + +cat > testmaps54-64 <<EOF +1000000000-1000001000 r--p 00000000 fd:11 1 `pwd`/testfile54-64.so +1000001000-1000200000 ---p 00001000 fd:11 1 `pwd`/testfile54-64.so +1000200000-1000201000 rw-p 00000000 fd:11 1 `pwd`/testfile54-64.so +3000000000-3000001000 r--p 00000000 fd:11 2 `pwd`/testfile54-64.prelink.so +3000001000-3000200000 ---p 00001000 fd:11 2 `pwd`/testfile54-64.prelink.so +3000200000-3000201000 rw-p 00000000 fd:11 2 `pwd`/testfile54-64.prelink.so +3800000000-3800001000 r--p 00000000 fd:11 3 `pwd`/testfile54-64.noshdrs.so +3800001000-3800200000 ---p 00001000 fd:11 3 `pwd`/testfile54-64.noshdrs.so +3800200000-3800201000 rw-p 00000000 fd:11 3 `pwd`/testfile54-64.noshdrs.so +EOF + +testrun_compare ../src/addr2line -S -M testmaps54-64 \ + 0x10000002f8 0x1000200448 0x30000002f9 0x3000200449 0x38000002fa <<\EOF +foo +??:0 +pstdin +??:0 +foo+0x1 +??:0 +pstdin+0x1 +??:0 +foo+0x2 +??:0 +EOF diff --git a/elfutils/tests/testfile52-32.noshdrs.so.bz2 b/elfutils/tests/testfile52-32.noshdrs.so.bz2 Binary files differnew file mode 100755 index 00000000..01d27424 --- /dev/null +++ b/elfutils/tests/testfile52-32.noshdrs.so.bz2 diff --git a/elfutils/tests/testfile52-32.prelink.so.bz2 b/elfutils/tests/testfile52-32.prelink.so.bz2 Binary files differnew file mode 100755 index 00000000..ccb9ae32 --- /dev/null +++ b/elfutils/tests/testfile52-32.prelink.so.bz2 diff --git a/elfutils/tests/testfile52-32.so.bz2 b/elfutils/tests/testfile52-32.so.bz2 Binary files differnew file mode 100755 index 00000000..2a5b56ea --- /dev/null +++ b/elfutils/tests/testfile52-32.so.bz2 diff --git a/elfutils/tests/testfile52-32.so.debug.bz2 b/elfutils/tests/testfile52-32.so.debug.bz2 Binary files differnew file mode 100755 index 00000000..818b36d5 --- /dev/null +++ b/elfutils/tests/testfile52-32.so.debug.bz2 diff --git a/elfutils/tests/testfile52-64.noshdrs.so.bz2 b/elfutils/tests/testfile52-64.noshdrs.so.bz2 Binary files differnew file mode 100755 index 00000000..5ca310f0 --- /dev/null +++ b/elfutils/tests/testfile52-64.noshdrs.so.bz2 diff --git a/elfutils/tests/testfile52-64.prelink.so.bz2 b/elfutils/tests/testfile52-64.prelink.so.bz2 Binary files differnew file mode 100755 index 00000000..8cb8f482 --- /dev/null +++ b/elfutils/tests/testfile52-64.prelink.so.bz2 diff --git a/elfutils/tests/testfile52-64.so.bz2 b/elfutils/tests/testfile52-64.so.bz2 Binary files differnew file mode 100755 index 00000000..8009f07c --- /dev/null +++ b/elfutils/tests/testfile52-64.so.bz2 diff --git a/elfutils/tests/testfile52-64.so.debug.bz2 b/elfutils/tests/testfile52-64.so.debug.bz2 Binary files differnew file mode 100755 index 00000000..4397788f --- /dev/null +++ b/elfutils/tests/testfile52-64.so.debug.bz2 diff --git a/elfutils/tests/testfile53-32.bz2 b/elfutils/tests/testfile53-32.bz2 Binary files differnew file mode 100755 index 00000000..7bf48d9f --- /dev/null +++ b/elfutils/tests/testfile53-32.bz2 diff --git a/elfutils/tests/testfile53-32.debug.bz2 b/elfutils/tests/testfile53-32.debug.bz2 Binary files differnew file mode 100755 index 00000000..79ea566d --- /dev/null +++ b/elfutils/tests/testfile53-32.debug.bz2 diff --git a/elfutils/tests/testfile53-32.prelink.bz2 b/elfutils/tests/testfile53-32.prelink.bz2 Binary files differnew file mode 100755 index 00000000..8e05abf0 --- /dev/null +++ b/elfutils/tests/testfile53-32.prelink.bz2 diff --git a/elfutils/tests/testfile53-64.bz2 b/elfutils/tests/testfile53-64.bz2 Binary files differnew file mode 100755 index 00000000..235a7631 --- /dev/null +++ b/elfutils/tests/testfile53-64.bz2 diff --git a/elfutils/tests/testfile53-64.debug.bz2 b/elfutils/tests/testfile53-64.debug.bz2 Binary files differnew file mode 100755 index 00000000..675c6eaf --- /dev/null +++ b/elfutils/tests/testfile53-64.debug.bz2 diff --git a/elfutils/tests/testfile53-64.prelink.bz2 b/elfutils/tests/testfile53-64.prelink.bz2 Binary files differnew file mode 100755 index 00000000..853aba78 --- /dev/null +++ b/elfutils/tests/testfile53-64.prelink.bz2 diff --git a/elfutils/tests/testfile54-32.noshdrs.so.bz2 b/elfutils/tests/testfile54-32.noshdrs.so.bz2 Binary files differnew file mode 100755 index 00000000..846bc91e --- /dev/null +++ b/elfutils/tests/testfile54-32.noshdrs.so.bz2 diff --git a/elfutils/tests/testfile54-32.prelink.so.bz2 b/elfutils/tests/testfile54-32.prelink.so.bz2 Binary files differnew file mode 100755 index 00000000..85c8526c --- /dev/null +++ b/elfutils/tests/testfile54-32.prelink.so.bz2 diff --git a/elfutils/tests/testfile54-32.so.bz2 b/elfutils/tests/testfile54-32.so.bz2 Binary files differnew file mode 100755 index 00000000..4bc4fa37 --- /dev/null +++ b/elfutils/tests/testfile54-32.so.bz2 diff --git a/elfutils/tests/testfile54-32.so.debug.bz2 b/elfutils/tests/testfile54-32.so.debug.bz2 Binary files differnew file mode 100755 index 00000000..79dd614d --- /dev/null +++ b/elfutils/tests/testfile54-32.so.debug.bz2 diff --git a/elfutils/tests/testfile54-64.noshdrs.so.bz2 b/elfutils/tests/testfile54-64.noshdrs.so.bz2 Binary files differnew file mode 100755 index 00000000..3da726a6 --- /dev/null +++ b/elfutils/tests/testfile54-64.noshdrs.so.bz2 diff --git a/elfutils/tests/testfile54-64.prelink.so.bz2 b/elfutils/tests/testfile54-64.prelink.so.bz2 Binary files differnew file mode 100755 index 00000000..e296a1d9 --- /dev/null +++ b/elfutils/tests/testfile54-64.prelink.so.bz2 diff --git a/elfutils/tests/testfile54-64.so.bz2 b/elfutils/tests/testfile54-64.so.bz2 Binary files differnew file mode 100755 index 00000000..6072bf19 --- /dev/null +++ b/elfutils/tests/testfile54-64.so.bz2 diff --git a/elfutils/tests/testfile54-64.so.debug.bz2 b/elfutils/tests/testfile54-64.so.debug.bz2 Binary files differnew file mode 100755 index 00000000..6b45390e --- /dev/null +++ b/elfutils/tests/testfile54-64.so.debug.bz2 diff --git a/elfutils/version.h b/elfutils/version.h index f53c42a0..687236d9 100644 --- a/elfutils/version.h +++ b/elfutils/version.h @@ -50,7 +50,7 @@ #ifndef _ELFUTILS_VERSION_H #define _ELFUTILS_VERSION_H 1 -#define _ELFUTILS_VERSION 150 +#define _ELFUTILS_VERSION 151 #define _ELFUTILS_PREREQ(major, minor) \ (_ELFUTILS_VERSION >= ((major) * 1000 + (minor))) |