diff --git a/.gitignore b/.gitignore index b3cf250..828ab22 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -/elfutils-0.150.tar.bz2 +/elfutils-0.151.tar.bz2 diff --git a/elfutils-0.150-dwfl_module_relocations-Remove-over-eager-assert.patch b/elfutils-0.150-dwfl_module_relocations-Remove-over-eager-assert.patch deleted file mode 100644 index 7727c44..0000000 --- a/elfutils-0.150-dwfl_module_relocations-Remove-over-eager-assert.patch +++ /dev/null @@ -1,44 +0,0 @@ -From 33d305fc63d88ce163fd3aba41a0dd0e1a74be38 Mon Sep 17 00:00:00 2001 -From: Roland McGrath -Date: Tue, 30 Nov 2010 17:39:55 -0800 -Subject: [PATCH] dwfl_module_relocations: Remove over-eager assert. - ---- - libdwfl/ChangeLog | 4 ++++ - libdwfl/derelocate.c | 3 +-- - 2 files changed, 5 insertions(+), 2 deletions(-) - -diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog -index dd4eb10..c5746c8 100644 ---- a/libdwfl/ChangeLog -+++ b/libdwfl/ChangeLog -@@ -1,3 +1,7 @@ -+2010-11-30 Roland McGrath -+ -+ * derelocate.c (dwfl_module_relocations): Remove over-eager assert. -+ - 2010-11-12 Roland McGrath - - * libdwflP.h (struct Dwfl_Module): New member main_bias. -diff --git a/libdwfl/derelocate.c b/libdwfl/derelocate.c -index 483b75e..ba6d9db 100644 ---- a/libdwfl/derelocate.c -+++ b/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; - } - --- -1.7.2.3 - diff --git a/elfutils-0.150.tar.bz2.sig b/elfutils-0.150.tar.bz2.sig deleted file mode 100644 index 94b3b7d..0000000 Binary files a/elfutils-0.150.tar.bz2.sig and /dev/null differ diff --git a/elfutils-0.151.tar.bz2.sig b/elfutils-0.151.tar.bz2.sig new file mode 100644 index 0000000..a88420a Binary files /dev/null and b/elfutils-0.151.tar.bz2.sig differ diff --git a/elfutils-portability.patch b/elfutils-portability.patch index 3c30768..eac700c 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 @@ -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 -@@ -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 * 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 * 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 * 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 . @@ -948,7 +948,7 @@ 2006-08-08 Ulrich Drepper * 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 * 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 @@ -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 b50cab4..19764cb 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 * 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 85ccba1..a75ad5f 100644 --- a/elfutils.spec +++ b/elfutils.spec @@ -1,7 +1,7 @@ Name: elfutils Summary: A collection of utilities and DSOs to handle compiled objects -Version: 0.150 -%global baserelease 2 +Version: 0.151 +%global baserelease 1 URL: https://fedorahosted.org/elfutils/ %global source_url http://fedorahosted.org/releases/e/l/elfutils/%{version}/ License: GPLv2 with exceptions @@ -46,8 +46,6 @@ Source: %{?source_url}%{name}-%{version}.tar.bz2 Patch1: %{?source_url}elfutils-robustify.patch Patch2: %{?source_url}elfutils-portability.patch -Patch10: elfutils-0.150-dwfl_module_relocations-Remove-over-eager-assert.patch - %if !%{compat} Release: %{baserelease}%{?dist} %else @@ -205,8 +203,6 @@ sed -i.scanf-m -e 's/%m/%a/g' src/addr2line.c tests/line2addr.c %endif %endif -%patch10 -p1 -b .bad-assert - find . -name \*.sh ! -perm -0100 -print | xargs chmod +x %build @@ -319,6 +315,11 @@ rm -rf ${RPM_BUILD_ROOT} %{_libdir}/libelf.a %changelog +* Wed Jan 12 2011 Roland McGrath - 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 - 0.150-2 - libdwfl: Remove bogus assert. (#658268) diff --git a/sources b/sources index a7b54da..d0217e6 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -3dcfb28fa339090a1d29a9e148cce469 elfutils-0.150.tar.bz2 +9bc04e409a5510ba379afc3f853a59ae elfutils-0.151.tar.bz2