Hello community, here is the log from the commit of package libebl checked in at Wed Jul 4 23:26:51 CEST 2007. -------- --- libebl/libebl.changes 2007-06-11 01:05:35.000000000 +0200 +++ /mounts/work_src_done/STABLE/libebl/libebl.changes 2007-07-04 12:21:23.000000000 +0200 @@ -1,0 +2,6 @@ +Wed Jul 4 12:20:22 CEST 2007 - tiwai@suse.de + +- updated to version 0.128 + * auto-tool fixes + +------------------------------------------------------------------- Old: ---- elfutils-0.127-build-fix.diff elfutils-0.127-no-osl.tar.bz2 New: ---- elfutils-0.128-build-fix.diff elfutils-0.128-no-osl.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libebl.spec ++++++ --- /var/tmp/diff_new_pack.V16948/_old 2007-07-04 23:26:14.000000000 +0200 +++ /var/tmp/diff_new_pack.V16948/_new 2007-07-04 23:26:14.000000000 +0200 @@ -1,5 +1,5 @@ # -# spec file for package libebl (Version 0.127) +# spec file for package libebl (Version 0.128) # # Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -11,9 +11,9 @@ # norootforbuild Name: libebl -License: GNU General Public License (GPL) -Version: 0.127 -Release: 11 +License: GPL v2 or later +Version: 0.128 +Release: 1 Summary: Higher-level library to access ELF Group: System/Libraries Url: ftp://sources.redhat.com/pub/systemtap/elfutils @@ -38,7 +38,7 @@ %package devel Summary: Include Files and Libraries mandatory for Development. Group: Development/Libraries/C and C++ -License: GNU General Public License (GPL) +License: GPL v2 or later Requires: glibc-devel, libebl = %{version}, libdw-devel = %{version} %description devel @@ -54,7 +54,7 @@ %package -n libelf1 Summary: Library to read and write ELF files Group: System/Libraries -License: GNU General Public License (GPL) +License: GPL v2 or later %description -n libelf1 This package provide a high-level library to read and write ELF files. @@ -69,7 +69,7 @@ %package -n libelf-devel Summary: Include Files and Libraries mandatory for Development. Group: Development/Libraries/C and C++ -License: GNU General Public License (GPL) +License: GPL v2 or later Requires: glibc-devel, libelf1 = %{version} Conflicts: libelf0-devel @@ -82,7 +82,7 @@ %package -n libdw1 Summary: Library to access DWARF debugging information Group: System/Libraries -License: GNU General Public License (GPL) +License: GPL v2 or later %description -n libdw1 This package provide a high-level library to access the DWARF debugging @@ -97,7 +97,7 @@ %package -n libdw-devel Summary: Include Files and Libraries mandatory for Development. Group: Development/Libraries/C and C++ -License: GNU General Public License (GPL) +License: GPL v2 or later Requires: glibc-devel, libdw1 = %{version}, libelf-devel = %{version} %description -n libdw-devel @@ -111,7 +111,7 @@ Ulrich Drepper %prep -%setup -n elfutils-%{version} +%setup -q -n elfutils-%{version} %patch -p1 %patch1 -p1 %patch2 -p1 @@ -188,6 +188,9 @@ %{_includedir}/elfutils/libdwfl.h %changelog +* Wed Jul 04 2007 - tiwai@suse.de +- updated to version 0.128 + * auto-tool fixes * Mon Jun 11 2007 - ro@suse.de - use __attribute__ ((gnu_inline)) to fix build with gcc-4.2 * Mon May 21 2007 - tiwai@suse.de ++++++ elfutils-0.127-build-fix.diff -> elfutils-0.128-build-fix.diff ++++++ --- libebl/elfutils-0.127-build-fix.diff 2007-05-16 19:27:04.000000000 +0200 +++ /mounts/work_src_done/STABLE/libebl/elfutils-0.128-build-fix.diff 2007-07-04 12:05:35.000000000 +0200 @@ -1,11 +1,11 @@ ---- Makefile.am-dist 2007-01-24 11:58:53.000000000 +0100 -+++ Makefile.am 2007-01-24 11:59:09.000000000 +0100 +--- Makefile.am-dist 2007-07-04 12:05:20.000000000 +0200 ++++ Makefile.am 2007-07-04 12:05:25.000000000 +0200 @@ -29,7 +29,7 @@ - mini_SUBDIRS = config m4 lib libelf libelf-po # Add doc back when we have some real content. --all_SUBDIRS = libebl libdwfl libdw libcpu libasm backends src po tests -+all_SUBDIRS = libebl libdwfl libdw libcpu libasm backends src - SUBDIRS = $(mini_SUBDIRS) $(all_SUBDIRS) + SUBDIRS = config m4 lib libelf libebl libdwfl libdw libcpu libasm backends \ +- src po tests ++ src EXTRA_DIST = elfutils.spec GPG-KEY NOTES EXCEPTION + ++++++ elfutils-0.127-no-osl.tar.bz2 -> elfutils-0.128-no-osl.tar.bz2 ++++++ ++++ 27686 lines of diff (skipped) ++++++ elfutils-89inline.diff ++++++ --- /var/tmp/diff_new_pack.V16948/_old 2007-07-04 23:26:16.000000000 +0200 +++ /var/tmp/diff_new_pack.V16948/_new 2007-07-04 23:26:16.000000000 +0200 @@ -215,3 +215,61 @@ linked_from_dso_p (struct scninfo *scninfo, size_t symidx) { struct usedfiles *file = scninfo->fileinfo; +--- src/strip.c 2007-07-04 11:50:21.000000000 +0200 ++++ src/strip.c 2007-07-04 11:53:41.000000000 +0200 +@@ -1255,7 +1255,7 @@ handle_elf (int fd, Elf *elf, const char + /* Update section headers when the data size has changed. + We also update the SHT_NOBITS section in the debug + file so that the section headers match in sh_size. */ +- inline void update_section_size (const Elf_Data *newdata) ++ inline void __attribute__ ((gnu_inline)) update_section_size (const Elf_Data *newdata) + { + GElf_Shdr shdr_mem; + GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem); +--- src/unstrip.c 2007-07-04 11:55:44.000000000 +0200 ++++ src/unstrip.c 2007-07-04 11:57:23.000000000 +0200 +@@ -371,7 +371,7 @@ adjust_relocs (Elf_Scn *outscn, Elf_Scn + { + Elf_Data *data = elf_getdata (outscn, NULL); + +- inline void adjust_reloc (GElf_Xword *info) ++ inline __attribute__ ((gnu_inline)) void adjust_reloc (GElf_Xword *info) + { + size_t ndx = GELF_R_SYM (*info); + if (ndx != STN_UNDEF) +@@ -853,7 +853,7 @@ find_alloc_section (const GElf_Shdr *shd + return NULL; + } + +-static inline const char * ++static inline __attribute__ ((gnu_inline)) const char * + get_section_name (size_t ndx, const GElf_Shdr *shdr, const Elf_Data *shstrtab) + { + if (shdr->sh_name >= shstrtab->d_size) +@@ -988,7 +988,7 @@ find_alloc_sections_prelink (Elf *debug, + } + + bool fail = false; +- inline void check_match (bool match, Elf_Scn *scn, const char *name) ++ inline __attribute__ ((gnu_inline)) void check_match (bool match, Elf_Scn *scn, const char *name) + { + if (!match) + { +@@ -1147,7 +1147,7 @@ copy_elided_sections (Elf *unstripped, E + } + + /* Locate a matching unallocated section in SECTIONS. */ +- inline struct section *find_unalloc_section (const GElf_Shdr *shdr, ++ inline __attribute__ ((gnu_inline)) struct section *find_unalloc_section (const GElf_Shdr *shdr, + const char *name) + { + size_t l = nalloc, u = stripped_shnum - 1; +@@ -1983,7 +1983,7 @@ static void + handle_implicit_modules (const struct arg_info *info) + { + struct match_module_info mmi = { info->args, NULL, info->match_files }; +- inline ptrdiff_t next (ptrdiff_t offset) ++ inline __attribute__ ((gnu_inline)) ptrdiff_t next (ptrdiff_t offset) + { + return dwfl_getmodules (info->dwfl, &match_module, &mmi, offset); + } ++++++ elfutils-portability.patch ++++++ ++++ 693 lines (skipped) ++++ between libebl/elfutils-portability.patch ++++ and /mounts/work_src_done/STABLE/libebl/elfutils-portability.patch ++++++ elfutils-robustify.patch ++++++ --- /var/tmp/diff_new_pack.V16948/_old 2007-07-04 23:26:17.000000000 +0200 +++ /var/tmp/diff_new_pack.V16948/_new 2007-07-04 23:26:17.000000000 +0200 @@ -278,9 +278,9 @@ printf (ngettext ("\ \nDWARF section '%s' at offset %#" PRIx64 " contains %zu entry:\n", "\ ---- elfutils-0.127/src/strip.c.robustify -+++ elfutils-0.127/src/strip.c -@@ -412,6 +412,7 @@ handle_elf (int fd, Elf *elf, const char +--- elfutils-0.128/src/strip.c.orig ++++ elfutils-0.128/src/strip.c +@@ -413,6 +413,7 @@ handle_elf (int fd, Elf *elf, const char Elf_Data debuglink_crc_data; bool any_symtab_changes = false; Elf_Data *shstrtab_data = NULL; @@ -288,7 +288,7 @@ /* Create the full name of the file. */ if (prefix != NULL) -@@ -542,6 +543,11 @@ handle_elf (int fd, Elf *elf, const char +@@ -543,6 +544,11 @@ handle_elf (int fd, Elf *elf, const char goto fail_close; } @@ -300,7 +300,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. -@@ -563,7 +569,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -564,7 +570,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). */ @@ -309,7 +309,7 @@ shdr_info[cnt].scn = scn; -@@ -576,6 +582,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -577,6 +583,7 @@ handle_elf (int fd, Elf *elf, const char shdr_info[cnt].shdr.sh_name); if (shdr_info[cnt].name == NULL) { @@ -317,7 +317,7 @@ error (0, 0, gettext ("illformed file '%s'"), fname); goto fail_close; } -@@ -585,6 +592,8 @@ handle_elf (int fd, Elf *elf, const char +@@ -586,6 +593,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; @@ -326,7 +326,7 @@ /* Sections in files other than relocatable object files which are not loaded can be freely moved by us. In relocatable -@@ -597,7 +606,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -598,7 +607,7 @@ handle_elf (int fd, Elf *elf, const char appropriate reference. */ if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB_SHNDX)) { @@ -335,7 +335,7 @@ shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx = cnt; } else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GROUP)) -@@ -614,7 +623,12 @@ handle_elf (int fd, Elf *elf, const char +@@ -615,7 +624,12 @@ handle_elf (int fd, Elf *elf, const char for (inner = 1; inner < shdr_info[cnt].data->d_size / sizeof (Elf32_Word); ++inner) @@ -348,7 +348,7 @@ if (inner == 1 || (inner == 2 && (grpref[0] & GRP_COMDAT) == 0)) /* If the section group contains only one element and this -@@ -625,7 +639,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -626,7 +640,7 @@ handle_elf (int fd, Elf *elf, const char } else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GNU_versym)) { @@ -357,7 +357,7 @@ shdr_info[shdr_info[cnt].shdr.sh_link].version_idx = cnt; } -@@ -633,7 +647,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -634,7 +648,7 @@ handle_elf (int fd, Elf *elf, const char discarded right away. */ if ((shdr_info[cnt].shdr.sh_flags & SHF_GROUP) != 0) { @@ -366,7 +366,7 @@ if (shdr_info[shdr_info[cnt].group_idx].idx == 0) { -@@ -708,11 +722,15 @@ handle_elf (int fd, Elf *elf, const char +@@ -709,11 +723,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. */ @@ -384,7 +384,7 @@ if (shdr_info[cnt].idx == 1) { -@@ -737,7 +755,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -738,7 +756,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) { @@ -393,7 +393,7 @@ shdr_info[shdr_info[cnt].symtab_idx].data = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn, -@@ -777,6 +795,9 @@ handle_elf (int fd, Elf *elf, const char +@@ -778,6 +796,9 @@ handle_elf (int fd, Elf *elf, const char else if (scnidx == SHN_XINDEX) scnidx = xndx; @@ -403,7 +403,7 @@ if (shdr_info[scnidx].idx == 0) { /* Mark this section as used. */ -@@ -808,12 +829,16 @@ handle_elf (int fd, Elf *elf, const char +@@ -809,12 +830,16 @@ handle_elf (int fd, Elf *elf, const char } /* Handle references through sh_info. */ @@ -422,7 +422,7 @@ /* Mark the section as investigated. */ shdr_info[cnt].idx = 2; -@@ -912,7 +937,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -953,7 +978,7 @@ handle_elf (int fd, Elf *elf, const char error (EXIT_FAILURE, 0, gettext ("while generating output file: %s"), elf_errmsg (-1)); @@ -431,7 +431,7 @@ /* Add this name to the section header string table. */ shdr_info[cnt].se = ebl_strtabadd (shst, shdr_info[cnt].name, 0); -@@ -949,7 +974,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -990,7 +1015,7 @@ handle_elf (int fd, Elf *elf, const char error (EXIT_FAILURE, 0, gettext ("while create section header section: %s"), elf_errmsg (-1)); @@ -440,7 +440,7 @@ shdr_info[cnt].data = elf_newdata (shdr_info[cnt].newscn); if (shdr_info[cnt].data == NULL) -@@ -980,7 +1005,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1021,7 +1046,7 @@ handle_elf (int fd, Elf *elf, const char } /* Index of the section header table in the shdr_info array. */ @@ -449,7 +449,7 @@ /* Add the section header string table section name. */ shdr_info[cnt].se = ebl_strtabadd (shst, ".shstrtab", 10); -@@ -1005,7 +1030,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1046,7 +1071,7 @@ handle_elf (int fd, Elf *elf, const char error (EXIT_FAILURE, 0, gettext ("while create section header section: %s"), elf_errmsg (-1)); @@ -458,7 +458,7 @@ /* Finalize the string table and fill in the correct indices in the section headers. */ -@@ -1095,20 +1120,20 @@ handle_elf (int fd, Elf *elf, const char +@@ -1136,20 +1161,20 @@ handle_elf (int fd, Elf *elf, const char shndxdata = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn, NULL); @@ -482,7 +482,7 @@ >= shdr_info[cnt].data->d_size / elsize); } -@@ -1163,7 +1188,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1204,7 +1229,7 @@ handle_elf (int fd, Elf *elf, const char sec = shdr_info[sym->st_shndx].idx; else { @@ -491,7 +491,7 @@ sec = shdr_info[xshndx].idx; } -@@ -1184,7 +1209,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1225,7 +1250,7 @@ handle_elf (int fd, Elf *elf, const char nxshndx = sec; } @@ -500,7 +500,7 @@ if ((inner != destidx || nshndx != sym->st_shndx || (shndxdata != NULL && nxshndx != xshndx)) -@@ -1207,7 +1232,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1248,7 +1273,7 @@ handle_elf (int fd, Elf *elf, const char else /* This is a section symbol for a section which has been removed. */ @@ -509,7 +509,7 @@ } if (destidx != inner) -@@ -1371,11 +1396,11 @@ handle_elf (int fd, Elf *elf, const char +@@ -1441,11 +1466,11 @@ handle_elf (int fd, Elf *elf, const char { GElf_Sym sym_mem; GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem); @@ -523,7 +523,7 @@ size_t hidx = elf_hash (name) % nbucket; if (bucket[hidx] == 0) -@@ -1394,7 +1419,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1464,7 +1489,7 @@ handle_elf (int fd, Elf *elf, const char else { /* Alpha and S390 64-bit use 64-bit SHT_HASH entries. */ @@ -532,7 +532,7 @@ == sizeof (Elf64_Xword)); Elf64_Xword *bucket = (Elf64_Xword *) hashd->d_buf; -@@ -1428,11 +1453,11 @@ handle_elf (int fd, Elf *elf, const char +@@ -1495,11 +1520,11 @@ handle_elf (int fd, Elf *elf, const char { GElf_Sym sym_mem; GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem); ++++++ elfutils-strip-copy-symtab.patch ++++++ --- /var/tmp/diff_new_pack.V16948/_old 2007-07-04 23:26:17.000000000 +0200 +++ /var/tmp/diff_new_pack.V16948/_new 2007-07-04 23:26:17.000000000 +0200 @@ -14,7 +14,7 @@ } *shdr_info = NULL; Elf_Scn *scn; size_t cnt; -@@ -826,8 +827,39 @@ handle_elf (int fd, Elf *elf, const char +@@ -826,6 +827,37 @@ handle_elf (int fd, Elf *elf, const char The ones that are not removed in the stripped file are SHT_NOBITS. */ if (debug_fname != NULL) { @@ -23,8 +23,8 @@ + - libbfd isn't able to look up the .symtab/.strtab in the stripped + object instead. As a workaround, emit .symtab/.strtab in both + places. */ - for (cnt = 1; cnt < shnum; ++cnt) - { ++ for (cnt = 1; cnt < shnum; ++cnt) ++ { + if (shdr_info[cnt].idx == 0 + && (shdr_info[cnt].shdr.sh_type == SHT_REL + || shdr_info[cnt].shdr.sh_type == SHT_RELA) @@ -49,22 +49,18 @@ + } + } + -+ for (cnt = 1; cnt < shnum; ++cnt) -+ { + for (cnt = 1; cnt < shnum; ++cnt) + { scn = elf_newscn (debugelf); - if (scn == NULL) - error (EXIT_FAILURE, 0, -@@ -835,7 +867,8 @@ handle_elf (int fd, Elf *elf, const char +@@ -835,6 +867,7 @@ handle_elf (int fd, Elf *elf, const char elf_errmsg (-1)); bool discard_section = (shdr_info[cnt].idx > 0 -- && cnt != ehdr->e_shstrndx); -+ && cnt != ehdr->e_shstrndx -+ && shdr_info[cnt].debug_data == NULL); - - /* Set the section header in the new file. */ - GElf_Shdr debugshdr = shdr_info[cnt].shdr; -@@ -864,6 +897,13 @@ handle_elf (int fd, Elf *elf, const char ++ && shdr_info[cnt].debug_data == NULL + && shdr_info[cnt].shdr.sh_type != SHT_NOTE + && cnt != ehdr->e_shstrndx); + +@@ -865,6 +898,13 @@ handle_elf (int fd, Elf *elf, const char *debugdata = *shdr_info[cnt].data; if (discard_section) debugdata->d_buf = NULL; @@ -78,7 +74,7 @@ } /* Finish the ELF header. Fill in the fields not handled by -@@ -1055,7 +1095,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1056,7 +1096,7 @@ handle_elf (int fd, Elf *elf, const char shdr_info[shdr_info[cnt].shdr.sh_info].idx; /* Get the data from the old file if necessary. We already @@ -87,7 +83,7 @@ if (cnt < shnum) { if (shdr_info[cnt].data == NULL) -@@ -1264,6 +1304,13 @@ handle_elf (int fd, Elf *elf, const char +@@ -1283,6 +1323,13 @@ handle_elf (int fd, Elf *elf, const char if (shdr_info[shdr_info[cnt].old_sh_link].newsymidx == NULL) continue; @@ -101,7 +97,7 @@ Elf32_Word *newsymidx = shdr_info[shdr_info[cnt].old_sh_link].newsymidx; Elf_Data *d = elf_getdata (shdr_info[cnt].idx == 0 -@@ -1322,6 +1369,13 @@ handle_elf (int fd, Elf *elf, const char +@@ -1341,6 +1388,13 @@ handle_elf (int fd, Elf *elf, const char if (shdr_info[symtabidx].newsymidx == NULL) continue; @@ -115,7 +111,7 @@ assert (shdr_info[cnt].idx > 0); /* The hash section in the new file. */ -@@ -1447,7 +1501,7 @@ handle_elf (int fd, Elf *elf, const char +@@ -1460,7 +1514,7 @@ handle_elf (int fd, Elf *elf, const char chain[hidx] = inner; } } @@ -124,7 +120,7 @@ } else if (shdr_info[cnt].shdr.sh_type == SHT_GNU_versym) { -@@ -1460,6 +1514,13 @@ handle_elf (int fd, Elf *elf, const char +@@ -1473,6 +1527,13 @@ handle_elf (int fd, Elf *elf, const char if (shdr_info[symtabidx].newsymidx == NULL) continue; @@ -138,7 +134,7 @@ assert (shdr_info[cnt].idx > 0); /* The symbol version section in the new file. */ -@@ -1504,20 +1565,27 @@ handle_elf (int fd, Elf *elf, const char +@@ -1515,20 +1576,27 @@ handle_elf (int fd, Elf *elf, const char else if (shdr_info[cnt].shdr.sh_type == SHT_GROUP) { /* Check whether the associated symbol table changed. */ @@ -178,7 +174,7 @@ } } } -@@ -1647,7 +1715,10 @@ handle_elf (int fd, Elf *elf, const char +@@ -1658,7 +1726,10 @@ handle_elf (int fd, Elf *elf, const char table indices. */ if (any_symtab_changes) for (cnt = 1; cnt <= shdridx; ++cnt) @@ -190,9 +186,8 @@ /* Free the memory. */ if ((shnum + 2) * sizeof (struct shdr_info) > MAX_STACK_ALLOC) - ---- elfutils-0.124/tests/run-strip-test5.sh.~1~ -+++ elfutils-0.124/tests/run-strip-test5.sh +--- elfutils/tests/run-strip-test5.sh.~1~ ++++ elfutils/tests/run-strip-test5.sh @@ -1,5 +1,5 @@ original=testfile8 -stripped=testfile16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org