]> git.pld-linux.org Git - packages/elfutils.git/commitdiff
- updated to 0.155 with upstream portability,robustify patches
authorJakub Bogusz <qboosh@pld-linux.org>
Tue, 26 Mar 2013 20:54:13 +0000 (21:54 +0100)
committerJakub Bogusz <qboosh@pld-linux.org>
Tue, 26 Mar 2013 20:54:13 +0000 (21:54 +0100)
- updated pl.po patch
- removed obsolete upstream patch
- temporarily disable elflint-self test (fails with current binutils also on x86)

elfutils-pl.po.patch
elfutils-portability.patch
elfutils-robustify.patch
elfutils-upstream.patch [deleted file]
elfutils.spec

index 3b600c2f20f7444f6dc2653723912f45fcc2a4ba..891926fcba13b3b7f9b57ea3b9a31a62227083ee 100644 (file)
---- elfutils-0.153/po/pl.po.orig       2012-02-23 12:05:40.000000000 +0100
-+++ elfutils-0.153/po/pl.po    2012-05-07 17:26:58.614998763 +0200
-@@ -378,44 +378,44 @@
+--- elfutils-0.155/po/pl.po.orig       2012-08-27 20:34:13.000000000 +0200
++++ elfutils-0.155/po/pl.po    2013-03-26 17:52:45.907774952 +0100
+@@ -206,7 +206,7 @@
+ #: libdw/dwarf_error.c:94
+ msgid "no alternative debug link found"
+-msgstr ""
++msgstr "nie znaleziono alternatywnego dowiązania diagnostycznego"
+ #: libdwfl/argp-std.c:46 src/unstrip.c:2240
+ msgid "Input selection options:"
+@@ -382,44 +382,44 @@
  msgstr "<nieznany>: %#<PRIx64>"
  
- #: libebl/eblobjnote.c:76
+ #: libebl/eblobjnote.c:55
 -#, fuzzy, c-format
 +#, c-format
  msgid "unknown SDT version %u\n"
 -msgstr "nieznana wersja"
 +msgstr "nieznana wersja SDT %u\n"
  
- #: libebl/eblobjnote.c:94
+ #: libebl/eblobjnote.c:73
 -#, fuzzy, c-format
 +#, c-format
  msgid "invalid SDT probe descriptor\n"
 -msgstr "nieprawidłowy deskryptor pliku"
 +msgstr "nieprawidłowy deskryptor sondy SDT\n"
  
- #: libebl/eblobjnote.c:144
+ #: libebl/eblobjnote.c:123
  #, c-format
  msgid "    PC: "
 -msgstr ""
 +msgstr "    PC: "
  
- #: libebl/eblobjnote.c:146
+ #: libebl/eblobjnote.c:125
  #, c-format
  msgid " Base: "
 -msgstr ""
 +msgstr " Podstawa: "
  
- #: libebl/eblobjnote.c:148
+ #: libebl/eblobjnote.c:127
  #, c-format
  msgid " Semaphore: "
 -msgstr ""
 +msgstr " Semafor: "
  
- #: libebl/eblobjnote.c:150
+ #: libebl/eblobjnote.c:129
  #, c-format
  msgid "    Provider: "
 -msgstr ""
 +msgstr "    Dostawca: "
  
- #: libebl/eblobjnote.c:152
+ #: libebl/eblobjnote.c:131
  #, c-format
  msgid " Name: "
 -msgstr ""
 +msgstr " Nazwa: "
  
- #: libebl/eblobjnote.c:154
+ #: libebl/eblobjnote.c:133
  #, c-format
  msgid " Args: "
 -msgstr ""
 +msgstr " Argumenty: "
  
- #: libebl/eblobjnote.c:164
+ #: libebl/eblobjnote.c:143
  #, c-format
-@@ -805,7 +805,7 @@
- #: src/ar.c:256
+@@ -809,7 +809,7 @@
+ #: src/ar.c:249
  #, c-format
  msgid "command option required"
 -msgstr ""
 +msgstr "wymagana opcja polecenia"
  
- #: src/ar.c:321
+ #: src/ar.c:314
  #, c-format
-@@ -3872,9 +3872,8 @@
+@@ -3876,9 +3876,8 @@
  msgstr "Używa BAZY do wypisywania wartości symboli"
  
- #: src/nm.c:95
+ #: src/nm.c:87
 -#, fuzzy
  msgid "Mark special symbols"
 -msgstr "Oznacza słabe symbole"
 +msgstr "Oznacza symbole specjalne"
  
- #: src/nm.c:97
+ #: src/nm.c:89
  msgid "Print size of defined symbols"
-@@ -3898,16 +3897,15 @@
+@@ -3902,16 +3901,15 @@
  
- #: src/nm.c:106
+ #: src/nm.c:98
  msgid "Decode low-level symbol names into source code names"
 -msgstr ""
 +msgstr "Dekoduje niskopoziomowe nazwy symboli na nazwy z kodu źródłowego"
  
- #: src/nm.c:113
+ #: src/nm.c:105
  msgid "List symbols from FILEs (a.out by default)."
  msgstr "Wyświetla listę symboli z PLIKU (domyślnie a.out)."
  
- #: src/nm.c:124 src/objdump.c:88
+ #: src/nm.c:116 src/objdump.c:80
 -#, fuzzy
  msgid "Output formatting"
 -msgstr "Format wyjścia:"
 +msgstr "Format wyjścia"
  
- #: src/nm.c:148 src/objdump.c:112 src/size.c:117 src/strip.c:128
+ #: src/nm.c:140 src/objdump.c:104 src/size.c:109 src/strip.c:120
  #, c-format
-@@ -3926,13 +3924,12 @@
+@@ -3930,13 +3928,12 @@
  msgstr "%s: nie rozpoznano formatu pliku"
  
- #: src/nm.c:468
+ #: src/nm.c:460
 -#, fuzzy
  msgid ""
  "\n"
 -"Indeks archiwum:"
 +"Indeks archiwum:\n"
  
- #: src/nm.c:477
+ #: src/nm.c:469
  #, c-format
-@@ -4028,9 +4025,8 @@
+@@ -4032,9 +4029,8 @@
  msgstr "Wyświetla kod asemblera sekcji wykonywalnych"
  
- #: src/objdump.c:68
+ #: src/objdump.c:60
 -#, fuzzy
  msgid "Output content selection:"
 -msgstr "Wybór opcji wyjścia:"
 +msgstr "Wybór zawartości wyjścia:"
  
- #: src/objdump.c:70
+ #: src/objdump.c:62
  msgid "Only display information for section NAME."
-@@ -4083,9 +4079,9 @@
+@@ -4087,9 +4083,9 @@
  msgstr "nie można deasemblować"
  
- #: src/objdump.c:744
+ #: src/objdump.c:736
 -#, fuzzy, c-format
 +#, c-format
  msgid "cannot allocate memory"
 -msgstr "nie można przydzielić sekcji PLT: %s"
 +msgstr "nie można przydzielić pamięci"
  
- #: src/ranlib.c:74
+ #: src/ranlib.c:66
  msgid "Generate an index to speed access to archives."
-@@ -4167,14 +4163,13 @@
+@@ -4171,14 +4167,13 @@
  msgstr "Dodatkowy wybór wyjścia:"
  
- #: src/readelf.c:95
+ #: src/readelf.c:89
 -#, fuzzy
  msgid ""
  "Display DWARF section content.  SECTION can be one of abbrev, aranges, "
- "frame, gdb_index, info, loc, line, ranges, pubnames, str, macinfo, or "
+ "frame, gdb_index, info, loc, line, ranges, pubnames, str, macinfo, macro or "
  "exception"
  msgstr ""
  "Wyświetla zawartość sekcji DWARF. SEKCJA może być jednym z abbrev, aranges, "
 -"frame, info, loc, line, ranges, pubnames, str, macinfo lub exception."
-+"frame, gdb_index, info, loc, line, ranges, pubnames, str, macinfo lub exception."
++"frame, gdb_index, info, loc, line, ranges, pubnames, str, macinfo, macro lub exception."
  
- #: src/readelf.c:99
+ #: src/readelf.c:93
  msgid "Dump the uninterpreted contents of SECTION, by number or name"
-@@ -4198,7 +4193,7 @@
+@@ -4202,7 +4197,7 @@
  
- #: src/readelf.c:110
+ #: src/readelf.c:104
  msgid "Ignored for compatibility (lines always wide)"
 -msgstr ""
 +msgstr "Ignorowane dla kompatybilności (linie są zawsze szerokie)"
  
- #: src/readelf.c:115
+ #: src/readelf.c:109
  msgid "Print information from ELF file in human-readable form."
-@@ -5067,9 +5062,9 @@
- msgstr "nieznany atrybut użytkownika %hx"
- #: src/readelf.c:3657
--#, fuzzy, c-format
-+#, c-format
- msgid "unknown form %#<PRIx64>"
--msgstr "nieznana forma %<PRIx64>"
-+msgstr "nieznana forma %#<PRIx64>"
- #: src/readelf.c:3893
- msgid "empty block"
-@@ -5450,21 +5445,18 @@
+@@ -5429,21 +5424,18 @@
  msgstr " instrukcja rozszerzona %u: "
  
- #: src/readelf.c:6258
+ #: src/readelf.c:5781
 -#, fuzzy
  msgid " end of sequence"
 -msgstr "koniec sekwencji"
 +msgstr " koniec sekwencji"
  
- #: src/readelf.c:6275
+ #: src/readelf.c:5798
 -#, fuzzy, c-format
 +#, c-format
  msgid " set address to %s\n"
 -msgstr "ustawienie adresu na %s\n"
 +msgstr " ustawienie adresu na %s\n"
  
- #: src/readelf.c:6296
+ #: src/readelf.c:5819
 -#, fuzzy, c-format
 +#, c-format
  msgid " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
 -"%s\n"
 +msgstr " definicja nowego pliku: dir=%u, mtime=%<PRIu64>, długość=%<PRIu64>, nazwa=%s\n"
  
- #: src/readelf.c:6309
+ #: src/readelf.c:5832
  #, c-format
-@@ -5472,25 +5464,22 @@
+@@ -5451,25 +5443,22 @@
  msgstr " ustawienie dyskryminatora na %u\n"
  
- #: src/readelf.c:6314
+ #: src/readelf.c:5837
 -#, fuzzy
  msgid " unknown opcode"
 -msgstr "nieznana instrukcja"
 +msgstr " nieznana instrukcja"
  
- #: src/readelf.c:6326
+ #: src/readelf.c:5849
  msgid " copy"
  msgstr " kopiowanie"
  
- #: src/readelf.c:6337
+ #: src/readelf.c:5860
 -#, fuzzy, c-format
 +#, c-format
  msgid " advance address by %u to %s, op_index to %u\n"
 -"\n"
 +msgstr " zwiększenie adresu o %u do %s, op_index do %u\n"
  
- #: src/readelf.c:6341
+ #: src/readelf.c:5864
 -#, fuzzy, c-format
 +#, c-format
  msgid " advance address by %u to %s\n"
 -msgstr "zwiększenie adresu o %u do %s\n"
 +msgstr " zwiększenie adresu o %u do %s\n"
  
- #: src/readelf.c:6352
+ #: src/readelf.c:5875
  #, c-format
-@@ -5517,19 +5506,19 @@
+@@ -5496,19 +5485,19 @@
  msgstr " ustawienie podstawowej flagi bloku"
  
- #: src/readelf.c:6392
+ #: src/readelf.c:5915
 -#, fuzzy, c-format
 +#, c-format
  msgid " advance address by constant %u to %s, op_index to %u\n"
 -msgstr "zwiększenie adresu o stałą %u do %s, op_index do %u\n"
 +msgstr " zwiększenie adresu o stałą %u do %s, op_index do %u\n"
  
- #: src/readelf.c:6396
+ #: src/readelf.c:5919
 -#, fuzzy, c-format
 +#, c-format
  msgid " advance address by constant %u to %s\n"
 -msgstr "zwiększenie adresu o stałą %u do %s\n"
 +msgstr " zwiększenie adresu o stałą %u do %s\n"
  
- #: src/readelf.c:6414
+ #: src/readelf.c:5937
 -#, fuzzy, c-format
 +#, c-format
  msgid " advance address by fixed value %u to %s\n"
 -msgstr "zwiększenie adresu o stałą wartość %u do %s\n"
 +msgstr " zwiększenie adresu o stałą wartość %u do %s\n"
  
- #: src/readelf.c:6423
+ #: src/readelf.c:5946
  msgid " set prologue end flag"
-@@ -5662,84 +5651,84 @@
+@@ -5561,59 +5550,59 @@
+ msgstr "%*s*** niezakończony ciąg na końcu sekcji"
+ #: src/readelf.c:6327
+-#, fuzzy, c-format
++#, c-format
+ msgid " Offset:             0x%<PRIx64>\n"
+-msgstr "  Właściciel          Rozmiar\n"
++msgstr " Offset:             0x%<PRIx64>\n"
+ #: src/readelf.c:6339
+-#, fuzzy, c-format
++#, c-format
+ msgid " Version:            %<PRIu16>\n"
+-msgstr "      %s: %<PRId64>\n"
++msgstr " Wersja:             %<PRIu16>\n"
+ #: src/readelf.c:6345 src/readelf.c:7055
+ #, c-format
+ msgid "  unknown version, cannot parse section\n"
+-msgstr ""
++msgstr "  nieznana wersja, nie można przeanalizować sekcji\n"
+ #: src/readelf.c:6352
+-#, fuzzy, c-format
++#, c-format
+ msgid " Flag:               0x%<PRIx8>\n"
+-msgstr "  Adres punktu wejściowego:          %#<PRIx64>\n"
++msgstr " Flaga:              0x%<PRIx8>\n"
+ #: src/readelf.c:6355
+-#, fuzzy, c-format
++#, c-format
+ msgid " Offset length:      %<PRIu8>\n"
+-msgstr " (offset: %#<PRIx64>)"
++msgstr " Długość offsetu:    %<PRIu8>\n"
+ #: src/readelf.c:6363
+-#, fuzzy, c-format
++#, c-format
+ msgid " .debug_line offset: 0x%<PRIx64>\n"
+-msgstr " (kończący offset: %#<PRIx64>)"
++msgstr " Offset .debug_line: 0x%<PRIx64>\n"
+ #: src/readelf.c:6375
+-#, fuzzy, c-format
++#, c-format
+ msgid "  extension opcode table, %<PRIu8> items:\n"
+-msgstr " nieznana instrukcja z %<PRIu8> parametrem:"
++msgstr "  tablica instrukcji rozszerzeń (elementów: %<PRIu8>):\n"
+ #: src/readelf.c:6382
+ #, c-format
+ msgid "    [%<PRIx8>]"
+-msgstr ""
++msgstr "    [%<PRIx8>]"
+ #: src/readelf.c:6394
+-#, fuzzy, c-format
++#, c-format
+ msgid " %<PRIu8> arguments:"
+-msgstr "  [%*<PRIuFAST8>]  %hhu parametr\n"
++msgstr " argumenty w liczbie %<PRIu8>:"
+ #: src/readelf.c:6422
+ #, c-format
+ msgid " no arguments."
+-msgstr ""
++msgstr " brak argumentów."
+ #: src/readelf.c:6657
+ #, c-format
+ msgid "vendor opcode not verified?"
+-msgstr ""
++msgstr "instrukcja producenta nie zweryfikowana?"
+ #: src/readelf.c:6685
+ #, c-format
+@@ -5696,79 +5685,79 @@
  msgstr "nieprawidłowe kodowanie TType"
  
- #: src/readelf.c:7089
+ #: src/readelf.c:7019
 -#, fuzzy, c-format
 +#, c-format
  msgid ""
 -"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64> zawiera %zu wpis:\n"
 +"Sekcja GDB [%2zu] '%s' pod offsetem %#<PRIx64> o rozmiarze %<PRId64> B :\n"
  
- #: src/readelf.c:7118
+ #: src/readelf.c:7048
 -#, fuzzy, c-format
 +#, c-format
  msgid " Version:         %<PRId32>\n"
 -msgstr "      %s: %<PRId64>\n"
 +msgstr " Wersja:          %<PRId32>\n"
  
- #: src/readelf.c:7124
- #, c-format
- msgid "  unknown version, cannot parse section\n"
--msgstr ""
-+msgstr "  nieznana wersja, nie można przeanalizować sekcji\n"
- #: src/readelf.c:7133
+ #: src/readelf.c:7064
 -#, fuzzy, c-format
 +#, c-format
  msgid " CU offset:       %#<PRIx32>\n"
 -msgstr " (offset: %#<PRIx64>)"
 +msgstr " offset CU:       %#<PRIx32>\n"
  
- #: src/readelf.c:7140
+ #: src/readelf.c:7071
 -#, fuzzy, c-format
 +#, c-format
  msgid " TU offset:       %#<PRIx32>\n"
 -msgstr " (offset: %#<PRIx64>)"
 +msgstr " offset TU:       %#<PRIx32>\n"
  
- #: src/readelf.c:7147
+ #: src/readelf.c:7078
 -#, fuzzy, c-format
 +#, c-format
  msgid " address offset:  %#<PRIx32>\n"
 -msgstr " (kończący offset: %#<PRIx64>)"
 +msgstr " offset adresu:   %#<PRIx32>\n"
  
- #: src/readelf.c:7154
+ #: src/readelf.c:7085
 -#, fuzzy, c-format
 +#, c-format
  msgid " symbol offset:   %#<PRIx32>\n"
 -msgstr " (offset: %#<PRIx64>)"
 +msgstr " offset symbolu:  %#<PRIx32>\n"
  
- #: src/readelf.c:7161
+ #: src/readelf.c:7092
 -#, fuzzy, c-format
 +#, c-format
  msgid " constant offset: %#<PRIx32>\n"
 -msgstr " (kończący offset: %#<PRIx64>)"
 +msgstr " offset stałej:   %#<PRIx32>\n"
  
- #: src/readelf.c:7168
+ #: src/readelf.c:7099
 -#, fuzzy, c-format
 +#, c-format
  msgid ""
 -"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64> zawiera %zu wpis:\n"
 +" Lista CU pod offsetem %#<PRIx32> (wpisów: %zu):\n"
  
- #: src/readelf.c:7190
+ #: src/readelf.c:7121
 -#, fuzzy, c-format
 +#, c-format
  msgid ""
 -"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64> zawiera %zu wpis:\n"
 +" Lista TU pod offsetem %#<PRIx32> (wpisów: %zu):\n"
  
- #: src/readelf.c:7216
+ #: src/readelf.c:7147
 -#, fuzzy, c-format
 +#, c-format
  msgid ""
 -"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64> zawiera %zu wpis:\n"
 +" Lista adresów pod offsetem %#<PRIx32> (wpisów: %zu):\n"
  
- #: src/readelf.c:7243
+ #: src/readelf.c:7174
 -#, fuzzy, c-format
 +#, c-format
  msgid ""
 -"Nieprawidłowa tabela symboli pod offsetem %#0<PRIx64>\n"
 +" Tablica symboli pof offsetem %#<PRIx32> (wpisów: %zu):\n"
  
- #: src/readelf.c:7296
+ #: src/readelf.c:7259
  #, c-format
-@@ -6047,6 +6036,9 @@
+@@ -6076,6 +6065,9 @@
  "sections are placed in a debug file (only relevant for ET_REL files, "
  "operation is not reversable, needs -f)"
  msgstr ""
 +"jeśli usuwane sekcje są umieszczane w pliku debugowym (do używania "
 +"wyłącznie z plikami ET_REL, operacja nieodwracalna, wymaga -f)"
  
- #: src/strip.c:93
+ #: src/strip.c:85
  msgid "Remove .comment section"
-@@ -6063,7 +6055,7 @@
- #: src/strip.c:189
+@@ -6092,7 +6084,7 @@
+ #: src/strip.c:181
  #, c-format
  msgid "--reloc-debug-sections used without -f"
 -msgstr ""
 +msgstr "--reloc-debug-sections użyte bez -f"
  
- #: src/strip.c:203
+ #: src/strip.c:195
  #, c-format
-@@ -6151,9 +6143,9 @@
+@@ -6180,9 +6172,9 @@
  msgstr "podczas tworzenia tabeli ciągów nagłówka sekcji: %s"
  
- #: src/strip.c:1732
+ #: src/strip.c:1724
 -#, fuzzy, c-format
 +#, c-format
  msgid "bad relocation"
 -msgstr "Wyświetla relokacje"
 +msgstr "błędna relokacja"
  
- #: src/strip.c:1849 src/strip.c:1959
+ #: src/strip.c:1841 src/strip.c:1951
  #, c-format
+@@ -6573,30 +6565,3 @@
+ "jeśli obraz ELF jest dostępny, ale nie z żadnego nazwanego pliku. PLIK-"
+ "DEBUGOWANIA jest nazwą oddzielnego pliku debuginfo lub \"-\", jeśli nie "
+ "odnaleziono debuginfo lub \".\", jeśli PLIK zawiera informacje debugowania."
+-
+-#~ msgid "unknown tag %hx"
+-#~ msgstr "nieznany znacznik %hx"
+-
+-#~ msgid "unknown user tag %hx"
+-#~ msgstr "nieznany znacznik użytkownika %hx"
+-
+-#~ msgid "unknown attribute %hx"
+-#~ msgstr "nieznany atrybut %hx"
+-
+-#~ msgid "unknown user attribute %hx"
+-#~ msgstr "nieznany atrybut użytkownika %hx"
+-
+-#, fuzzy
+-#~ msgid "unknown form %#<PRIx64>"
+-#~ msgstr "nieznana forma %<PRIx64>"
+-
+-#~ msgid ""
+-#~ "\n"
+-#~ "\n"
+-#~ "Symbols from %s[%s]:\n"
+-#~ "\n"
+-#~ msgstr ""
+-#~ "\n"
+-#~ "\n"
+-#~ "Symbole z %s[%s]:\n"
+-#~ "\n"
index ec78059ba0639bf2301a22d230d65b9ab828566c..dd9eeb2238997459774eaaf2a3cdff0a70dab1da 100644 (file)
@@ -1,6 +1,6 @@
 --- elfutils/backends/ChangeLog
 +++ elfutils/backends/ChangeLog
-@@ -121,6 +121,10 @@
+@@ -135,6 +135,10 @@
        * ppc_attrs.c (ppc_check_object_attribute): Handle tag
        GNU_Power_ABI_Struct_Return.
  
@@ -11,7 +11,7 @@
  2008-10-04  Ulrich Drepper  <drepper@redhat.com>
  
        * i386_reloc.def: Fix entries for TLS_GOTDESC, TLS_DESC_CALL, and
-@@ -448,6 +452,11 @@
+@@ -462,6 +466,11 @@
        * sparc_init.c: Likewise.
        * x86_64_init.c: Likewise.
  
@@ -23,7 +23,7 @@
  2005-11-19  Roland McGrath  <roland@redhat.com>
  
        * ppc64_reloc.def: REL30 -> ADDR30.
-@@ -470,6 +479,9 @@
+@@ -484,6 +493,9 @@
        * Makefile.am (uninstall): Don't try to remove $(pkgincludedir).
        (CLEANFILES): Add libebl_$(m).so.
  
@@ -35,7 +35,7 @@
  
 --- elfutils/backends/Makefile.am
 +++ elfutils/backends/Makefile.am
-@@ -103,7 +103,7 @@ libebl_%.so libebl_%.map: libebl_%_pic.a
+@@ -111,7 +111,7 @@ libebl_%.so libebl_%.map: libebl_%_pic.a
        $(LINK) -shared -o $(@:.map=.so) \
                -Wl,--whole-archive $< $(cpu_$*) -Wl,--no-whole-archive \
                -Wl,--version-script,$(@:.so=.map) \
@@ -56,7 +56,7 @@
  subdir = backends
  ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
  am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-@@ -165,6 +166,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+@@ -172,6 +173,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
  INSTALL_SCRIPT = @INSTALL_SCRIPT@
  INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
  LDFLAGS = @LDFLAGS@
@@ -64,7 +64,7 @@
  LEX = @LEX@
  LEXLIB = @LEXLIB@
  LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-@@ -194,6 +196,7 @@ SHELL = @SHELL@
+@@ -201,6 +203,7 @@ SHELL = @SHELL@
  STRIP = @STRIP@
  USE_NLS = @USE_NLS@
  VERSION = @VERSION@
@@ -72,7 +72,7 @@
  XGETTEXT = @XGETTEXT@
  XGETTEXT_015 = @XGETTEXT_015@
  XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-@@ -256,10 +259,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
+@@ -263,10 +266,9 @@ INCLUDES = -I. -I$(srcdir) -I$(top_srcdi
        -I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \
        -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw
  AM_CFLAGS = -std=gnu99 -Wall -Wshadow $(if \
@@ -85,7 +85,7 @@
  @MUDFLAP_FALSE@libmudflap = 
  @MUDFLAP_TRUE@libmudflap = -lmudflap
  COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
-@@ -698,7 +700,7 @@ libebl_%.so libebl_%.map: libebl_%_pic.a
+@@ -719,7 +721,7 @@ libebl_%.so libebl_%.map: libebl_%_pic.a
        $(LINK) -shared -o $(@:.map=.so) \
                -Wl,--whole-archive $< $(cpu_$*) -Wl,--no-whole-archive \
                -Wl,--version-script,$(@:.so=.map) \
  libebl_i386.so: $(cpu_i386)
 --- elfutils/ChangeLog
 +++ elfutils/ChangeLog
-@@ -14,6 +14,9 @@
+@@ -16,6 +16,8 @@
+ 2012-01-24  Mark Wielaard  <mjw@redhat.com>
++      * configure.ac: Wrap AC_COMPILE_IFELSE sources in AC_LANG_SOURCE.
++
+       * COPYING: Fix address. Updated version from gnulib.
+ 2012-01-23  Mark Wielaard  <mjw@redhat.com>
+@@ -34,6 +36,9 @@
  
  2011-10-08  Mike Frysinger  <vapier@gentoo.org>
  
        * configure.ac: Fix use of AC_ARG_ENABLE to handle $enableval correctly.
  
  2011-10-02  Ulrich Drepper  <drepper@gmail.com>
-@@ -35,6 +38,10 @@
+@@ -55,6 +60,10 @@
  
        * configure.ac (LOCALEDIR, DATADIRNAME): Removed.
  
  2009-09-21  Ulrich Drepper  <drepper@redhat.com>
  
        * configure.ac: Update for more modern autoconf.
-@@ -43,6 +50,10 @@
+@@ -63,6 +72,10 @@
  
        * configure.ac (zip_LIBS): Check for liblzma too.
  
  2009-04-19  Roland McGrath  <roland@redhat.com>
  
        * configure.ac (eu_version): Round down here, not in version.h macros.
-@@ -54,6 +65,8 @@
+@@ -74,6 +87,8 @@
  
  2009-01-23  Roland McGrath  <roland@redhat.com>
  
        * configure.ac (zlib check): Check for gzdirect, need zlib >= 1.2.2.3.
  
        * configure.ac (__thread check): Use AC_LINK_IFELSE, in case of
-@@ -134,6 +147,10 @@
+@@ -154,6 +169,10 @@
        * configure.ac: Add dummy automake conditional to get dependencies
        for non-generic linker right.  See src/Makefile.am.
  
  2005-11-18  Roland McGrath  <roland@redhat.com>
  
        * Makefile.am (DISTCHECK_CONFIGURE_FLAGS): New variable.
-@@ -181,6 +198,17 @@
+@@ -201,6 +220,17 @@
        * Makefile.am (all_SUBDIRS): Add libdwfl.
        * configure.ac: Write libdwfl/Makefile.
  
        * configure.ac [AH_BOTTOM] (INTDECL, _INTDECL): New macros.
 --- elfutils/config/ChangeLog
 +++ elfutils/config/ChangeLog
-@@ -6,6 +6,10 @@
+@@ -19,6 +19,10 @@
  
        * known-dwarf.awk: Use gawk.
  
  ##
 -## Copyright (C) 2010 Red Hat, Inc.
 +## Copyright (C) 2010-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
-@@ -25,14 +25,20 @@
- ## <http://www.openinventionnetwork.com>.
+ ## This file is part of elfutils.
+ ##
+@@ -29,14 +29,20 @@
+ ## not, see <http://www.gnu.org/licenses/>.
  ##
  
 +WEXTRA = @WEXTRA@
  XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 --- elfutils/config.h.in
 +++ elfutils/config.h.in
-@@ -3,6 +3,9 @@
- /* Should ar and ranlib use -D behavior by default? */
- #undef DEFAULT_AR_DETERMINISTIC
+@@ -6,6 +6,9 @@
+ /* Defined if libdw should support GNU ref_alt FORM, dwz multi files. */
+ #undef ENABLE_DWZ
  
 +/* Have __builtin_popcount. */
 +#undef HAVE_BUILTIN_POPCOUNT
  /* $libdir subdirectory containing libebl modules. */
  #undef LIBEBL_SUBDIR
  
-@@ -61,4 +64,7 @@
+@@ -64,4 +67,7 @@
  /* Define for large files, on AIX-style hosts. */
  #undef _LARGE_FILES
  
  LEXLIB
  LEX_OUTPUT_ROOT
  LEX
-@@ -722,6 +726,7 @@ enable_mudflap
+@@ -725,6 +729,7 @@ enable_mudflap
  enable_debugpred
  enable_gprof
  enable_gcov
  enable_tests_rpath
  enable_libebl_subdir
  with_zlib
-@@ -1373,6 +1378,7 @@ Optional Features:
+@@ -1378,6 +1383,7 @@ Optional Features:
                            prediction
    --enable-gprof          build binaries with gprof support
    --enable-gcov           build binaries with gcov support
    --enable-tests-rpath    build $ORIGIN-using rpath into tests
    --enable-libebl-subdir=DIR
                            install libebl_CPU modules in $(libdir)/DIR
-@@ -3890,6 +3896,130 @@ if test "x$ac_cv_c99" != xyes; then :
+@@ -3917,6 +3923,130 @@ if test "x$ac_cv_c99" != xyes; then :
    as_fn_error $? "gcc with C99 support required" "$LINENO" 5
  fi
  
  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for __thread support" >&5
  $as_echo_n "checking for __thread support... " >&6; }
  if ${ac_cv_tls+:} false; then :
-@@ -3926,7 +4056,13 @@ fi
+@@ -3953,7 +4083,13 @@ fi
  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_tls" >&5
  $as_echo "$ac_cv_tls" >&6; }
  if test "x$ac_cv_tls" != xyes; then :
  fi
  
  # Check whether --enable-largefile was given.
-@@ -4275,6 +4411,22 @@ else
+@@ -4302,6 +4438,22 @@ else
  fi
  
  
  # Check whether --enable-tests-rpath was given.
  if test "${enable_tests_rpath+set}" = set; then :
    enableval=$enable_tests_rpath; tests_use_rpath=$enableval
-@@ -4995,7 +5147,7 @@ case "$eu_version" in
+@@ -5022,7 +5174,7 @@ case "$eu_version" in
  esac
  
  # Round up to the next release API (x.y) version.
  
  cat >confcache <<\_ACEOF
  # This file is a shell script that caches the results of configure
-@@ -5154,6 +5306,10 @@ if test -z "${BUILD_STATIC_TRUE}" && tes
+@@ -5185,6 +5337,10 @@ if test -z "${BUILD_STATIC_TRUE}" && tes
    as_fn_error $? "conditional \"BUILD_STATIC\" was never defined.
  Usually this means the macro was only invoked conditionally." "$LINENO" 5
  fi
  Usually this means the macro was only invoked conditionally." "$LINENO" 5
 --- elfutils/configure.ac
 +++ elfutils/configure.ac
-@@ -81,6 +81,54 @@ CFLAGS="$old_CFLAGS"])
+@@ -90,6 +90,54 @@ CFLAGS="$old_CFLAGS"])
  AS_IF([test "x$ac_cv_c99" != xyes],
        AC_MSG_ERROR([gcc with C99 support required]))
  
 +AC_CACHE_CHECK([for -Wextra option to $CC], ac_cv_cc_wextra, [dnl
 +old_CFLAGS="$CFLAGS"
 +CFLAGS="$CFLAGS -Wextra"
-+AC_COMPILE_IFELSE([void foo (void) { }],
++AC_COMPILE_IFELSE([AC_LANG_SOURCE([void foo (void) { }])],
 +                ac_cv_cc_wextra=yes, ac_cv_cc_wextra=no)
 +CFLAGS="$old_CFLAGS"])
 +AC_SUBST(WEXTRA)
 +AC_CACHE_CHECK([for -fgnu89-inline option to $CC], ac_cv_cc_gnu89_inline, [dnl
 +old_CFLAGS="$CFLAGS"
 +CFLAGS="$CFLAGS -fgnu89-inline -Werror"
-+AC_COMPILE_IFELSE([
++AC_COMPILE_IFELSE([AC_LANG_SOURCE([
 +void foo (void)
 +{
 +  inline void bar (void) {}
 +  bar ();
 +}
 +extern inline void baz (void) {}
-+], ac_cv_cc_gnu89_inline=yes, ac_cv_cc_gnu89_inline=no)
++])], ac_cv_cc_gnu89_inline=yes, ac_cv_cc_gnu89_inline=no)
 +CFLAGS="$old_CFLAGS"])
 +AS_IF([test "x$ac_cv_cc_gnu89_inline" = xyes],
 +      [WEXTRA="${WEXTRA:+$WEXTRA }-fgnu89-inline"])
  AC_CACHE_CHECK([for __thread support], ac_cv_tls, [dnl
  # Use the same flags that we use for our DSOs, so the test is representative.
  # Some old compiler/linker/libc combinations fail some ways and not others.
-@@ -96,7 +144,10 @@ static __thread int a; int foo (int b) {
+@@ -105,7 +153,10 @@ static __thread int a; int foo (int b) {
  CFLAGS="$save_CFLAGS"
  LDFLAGS="$save_LDFLAGS"])
  AS_IF([test "x$ac_cv_tls" != xyes],
  
  dnl This test must come as early as possible after the compiler configuration
  dnl tests, because the choice of the file model can (in principle) affect
-@@ -184,6 +235,11 @@ AM_CONDITIONAL(GCOV, test "$use_gcov" =
+@@ -193,6 +244,11 @@ AM_CONDITIONAL(GCOV, test "$use_gcov" =
  AM_CONDITIONAL(BUILD_STATIC, [dnl
  test "$use_mudflap" = yes -o "$use_gprof" = yes -o "$use_gcov" = yes])
  
  AC_ARG_ENABLE([tests-rpath],
  AS_HELP_STRING([--enable-tests-rpath],[build $ORIGIN-using rpath into tests]),
               [tests_use_rpath=$enableval], [tests_use_rpath=no])
-@@ -295,6 +351,6 @@ case "$eu_version" in
+@@ -304,6 +360,6 @@ case "$eu_version" in
  esac
  
  # Round up to the next release API (x.y) version.
        * Makefile.am: Use -ffunction-sections for xmalloc.c.
 --- elfutils/lib/eu-config.h
 +++ elfutils/lib/eu-config.h
-@@ -182,6 +182,17 @@ asm (".section predict_data, \"aw\"; .pr
+@@ -162,6 +162,17 @@ asm (".section predict_data, \"aw\"; .pr
  /* This macro is used by the tests conditionalize for standalone building.  */
  #define ELFUTILS_HEADER(name) <lib##name.h>
  
  EXTRA_DIST = libasm.map
 --- elfutils/libcpu/ChangeLog
 +++ elfutils/libcpu/ChangeLog
-@@ -29,6 +29,9 @@
+@@ -38,6 +38,9 @@
  
  2009-01-23  Roland McGrath  <roland@redhat.com>
  
        * Makefile.am (i386_parse_CFLAGS): Use quotes around command
        substitution that can produce leading whitespace.
  
-@@ -358,6 +361,11 @@
+@@ -367,6 +370,11 @@
        * defs/i386.doc: New file.
        * defs/x86_64: New file.
  
        * Makefile (AM_CFLAGS): Add -Wunused -Wextra -Wformat=2.
 --- elfutils/libcpu/i386_disasm.c
 +++ elfutils/libcpu/i386_disasm.c
-@@ -819,6 +819,7 @@ i386_disasm (const uint8_t **startp, con
+@@ -822,6 +822,7 @@ i386_disasm (const uint8_t **startp, con
  
                        default:
                          assert (! "INVALID not handled");
  COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
 --- elfutils/libdw/ChangeLog
 +++ elfutils/libdw/ChangeLog
-@@ -6,6 +6,10 @@
+@@ -82,6 +82,10 @@
  
        * Makefile.am (known-dwarf.h): Run gawk on config/known-dwarf.awk.
  
  2011-07-14  Mark Wielaard  <mjw@redhat.com>
  
        * libdw.h (dwarf_offdie): Fix documentation to mention .debug_info.
-@@ -365,6 +369,10 @@
+@@ -441,6 +445,10 @@
  
        * dwarf_hasattr_integrate.c: Integrate DW_AT_specification too.
  
  2009-08-10  Roland McGrath  <roland@redhat.com>
  
        * dwarf_getscopevar.c: Use dwarf_diename.
-@@ -1133,6 +1141,11 @@
+@@ -1209,6 +1217,11 @@
  
  2005-05-31  Roland McGrath  <roland@redhat.com>
  
  
 --- elfutils/libdw/dwarf_begin_elf.c
 +++ elfutils/libdw/dwarf_begin_elf.c
-@@ -64,6 +64,14 @@
+@@ -48,6 +48,14 @@
  #if USE_ZLIB
  # include <endian.h>
  # define crc32                loser_crc32
  #endif
 --- elfutils/libdw/libdw.h
 +++ elfutils/libdw/libdw.h
-@@ -852,7 +852,7 @@ extern Dwarf_OOM dwarf_new_oom_handler (
+@@ -831,7 +831,7 @@ extern Dwarf_OOM dwarf_new_oom_handler (
  
  
  /* Inline optimizations.  */
  COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
 --- elfutils/libdwfl/ChangeLog
 +++ elfutils/libdwfl/ChangeLog
-@@ -1409,6 +1409,11 @@
+@@ -1420,6 +1420,11 @@
  
  2005-07-21  Roland McGrath  <roland@redhat.com>
  
  @MUDFLAP_FALSE@libdw = ../libdw/libdw.so
 --- elfutils/libebl/ChangeLog
 +++ elfutils/libebl/ChangeLog
-@@ -650,6 +650,11 @@
+@@ -658,6 +658,11 @@
        * Makefile.am (libebl_*_so_SOURCES): Set to $(*_SRCS) so dependency
        tracking works right.
  
  COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
 --- elfutils/libelf/ChangeLog
 +++ elfutils/libelf/ChangeLog
-@@ -1,3 +1,8 @@
+@@ -34,6 +34,11 @@
+       * elf-knowledge.h (SECTION_STRIP_P): Remove < SHT_NUM check.
 +2011-03-10  Roland McGrath  <roland@redhat.com>
 +
 +      * gnuhash_xlate.h (elf_cvt_gnuhash): Avoid post-increment in bswap_32
 +      argument, since some implementations are buggy macros.
 +
- 2011-01-05  Jan Kratochvil  <jan.kratochvil@redhat.com>
+ 2011-02-26  Mark Wielaard  <mjw@redhat.com>
  
-       * elf_getdata_rawchunk.c (elf_getdata_rawchunk): Fix off64_t overflow
-@@ -671,6 +676,11 @@
+       * elf_end.c (elf_end): Call rwlock_unlock before rwlock_fini.
+@@ -711,6 +716,11 @@
  
        * elf.h: Update from glibc.
  
        * elf_begin.c (read_file) [_MUDFLAP]: Don't use mmap for now.
 --- elfutils/libelf/common.h
 +++ elfutils/libelf/common.h
-@@ -160,7 +160,7 @@ libelf_release_all (Elf *elf)
+@@ -139,7 +139,7 @@ libelf_release_all (Elf *elf)
    (Var) = (sizeof (Var) == 1                                                \
           ? (unsigned char) (Var)                                            \
           : (sizeof (Var) == 2                                               \
              : (sizeof (Var) == 4                                            \
                 ? bswap_32 (Var)                                             \
                 : bswap_64 (Var))))
-@@ -169,7 +169,7 @@ libelf_release_all (Elf *elf)
+@@ -148,7 +148,7 @@ libelf_release_all (Elf *elf)
    (Dst) = (sizeof (Var) == 1                                                \
           ? (unsigned char) (Var)                                            \
           : (sizeof (Var) == 2                                               \
  /* Conversion functions for versioning information.
 -   Copyright (C) 2006, 2007 Red Hat, Inc.
 +   Copyright (C) 2006-2011 Red Hat, Inc.
-    This file is part of Red Hat elfutils.
+    This file is part of elfutils.
     Written by Ulrich Drepper <drepper@redhat.com>, 2006.
  
-@@ -89,7 +89,9 @@ elf_cvt_gnuhash (void *dest, const void
+@@ -68,7 +68,9 @@ elf_cvt_gnuhash (void *dest, const void
    dest32 = (Elf32_Word *) &dest64[bitmask_words];
    while (len >= 4)
      {
  XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
 --- elfutils/src/addr2line.c
 +++ elfutils/src/addr2line.c
-@@ -455,10 +455,10 @@ handle_address (const char *string, Dwfl
+@@ -447,10 +447,10 @@ handle_address (const char *string, Dwfl
        bool parsed = false;
        int i, j;
        char *name = NULL;
          break;
 --- elfutils/src/ChangeLog
 +++ elfutils/src/ChangeLog
-@@ -490,8 +490,16 @@
+@@ -606,8 +606,16 @@
        * readelf.c (attr_callback): Use print_block only when we don't use
        print_ops.
  
        * ar.c (do_oper_extract): Use pathconf instead of statfs.
  
  2009-08-01  Ulrich Drepper  <drepper@redhat.com>
-@@ -655,6 +663,8 @@
+@@ -771,6 +779,8 @@
        * readelf.c (print_debug_frame_section): Use t instead of j formats
        for ptrdiff_t OFFSET.
  
  2009-01-21  Ulrich Drepper  <drepper@redhat.com>
  
        * elflint.c (check_program_header): Fix typo in .eh_frame_hdr section
-@@ -838,6 +848,11 @@
+@@ -954,6 +964,11 @@
        that matches its PT_LOAD's p_flags &~ PF_W.  On sparc, PF_X really
        is valid in RELRO.
  
  2008-02-29  Roland McGrath  <roland@redhat.com>
  
        * readelf.c (print_attributes): Add a cast.
-@@ -1089,6 +1104,8 @@
+@@ -1205,6 +1220,8 @@
  
        * readelf.c (hex_dump): Fix rounding error in whitespace calculation.
  
  2007-10-15  Roland McGrath  <roland@redhat.com>
  
        * make-debug-archive.in: New file.
-@@ -1528,6 +1545,10 @@
+@@ -1644,6 +1661,10 @@
        * elflint.c (valid_e_machine): Add EM_ALPHA.
        Reported by Christian Aichinger <Greek0@gmx.net>.
  
  2006-08-08  Ulrich Drepper  <drepper@redhat.com>
  
        * elflint.c (check_dynamic): Don't require DT_HASH for DT_SYMTAB.
-@@ -1604,6 +1625,10 @@
+@@ -1720,6 +1741,10 @@
        * Makefile.am: Add hacks to create dependency files for non-generic
        linker.
  
  2006-06-12  Ulrich Drepper  <drepper@redhat.com>
  
        * ldgeneric.c (ld_generic_generate_sections): Don't create .interp
-@@ -1952,6 +1977,11 @@
+@@ -2068,6 +2093,11 @@
        * readelf.c (print_debug_loc_section): Fix indentation for larger
        address size.
  
        * readelf.c (print_debug_line_section): Print section offset of each
 --- elfutils/src/findtextrel.c
 +++ elfutils/src/findtextrel.c
-@@ -504,7 +504,11 @@ ptrcompare (const void *p1, const void *
+@@ -496,7 +496,11 @@ ptrcompare (const void *p1, const void *
  
  
  static void
  {
 --- elfutils/src/ld.h
 +++ elfutils/src/ld.h
-@@ -1122,6 +1122,7 @@ extern bool dynamically_linked_p (void);
+@@ -1114,6 +1114,7 @@ extern bool dynamically_linked_p (void);
  
  /* Checked whether the symbol is undefined and referenced from a DSO.  */
  extern bool linked_from_dso_p (struct scninfo *scninfo, size_t symidx);
  #ifdef __GNUC_STDC_INLINE__
  __attribute__ ((__gnu_inline__))
  #endif
-@@ -1139,5 +1140,6 @@ linked_from_dso_p (struct scninfo *scnin
+@@ -1131,5 +1132,6 @@ linked_from_dso_p (struct scninfo *scnin
  
    return sym->defined && sym->in_dso;
  }
  #endif        /* ld.h */
 --- elfutils/src/Makefile.am
 +++ elfutils/src/Makefile.am
-@@ -103,6 +103,9 @@ addr2line_no_Wformat = yes
+@@ -95,6 +95,9 @@ addr2line_no_Wformat = yes
  # XXX While the file is not finished, don't warn about this
  ldgeneric_no_Wunused = yes
  
 @@ -40,7 +40,8 @@ host_triplet = @host@
  DIST_COMMON = $(noinst_HEADERS) $(srcdir)/Makefile.am \
        $(srcdir)/Makefile.in $(top_srcdir)/config/eu.am ChangeLog \
-       ldlex.c ldscript.c ylwrap
+       ldlex.c ldscript.c
 -@MUDFLAP_TRUE@am__append_1 = -fmudflap
 +@BUILD_WERROR_TRUE@am__append_1 = $(if $($(*F)_no_Werror),,-Werror)
 +@MUDFLAP_TRUE@am__append_2 = -fmudflap
  findtextrel_LDADD = $(libdw) $(libelf) $(libmudflap)
 --- elfutils/src/readelf.c
 +++ elfutils/src/readelf.c
-@@ -4434,10 +4434,11 @@ struct listptr
+@@ -3949,10 +3949,11 @@ struct listptr
  #define listptr_offset_size(p)        ((p)->dwarf64 ? 8 : 4)
  #define listptr_address_size(p)       ((p)->addr64 ? 8 : 4)
  
    struct listptr *p1 = (void *) a;
    struct listptr *p2 = (void *) b;
  
-@@ -4518,8 +4519,11 @@ static void
+@@ -4033,8 +4034,11 @@ static void
  sort_listptr (struct listptr_table *table, const char *name)
  {
    if (table->n > 0)
  }
  
  static bool
-@@ -8478,7 +8482,7 @@ dump_archive_index (Elf *elf, const char
+@@ -8442,7 +8446,7 @@ dump_archive_index (Elf *elf, const char
          if (unlikely (elf_rand (elf, as_off) == 0)
              || unlikely ((subelf = elf_begin (-1, ELF_C_READ_MMAP, elf))
                           == NULL))
              error (EXIT_FAILURE, 0,
 --- elfutils/src/strings.c
 +++ elfutils/src/strings.c
-@@ -51,6 +51,10 @@
+@@ -43,6 +43,10 @@
  
  #include <system.h>
  
  
  /* Prototypes of local functions.  */
  static int read_fd (int fd, const char *fname, off64_t fdlen);
-@@ -491,8 +495,13 @@ map_file (int fd, off64_t start_off, off
+@@ -483,8 +487,13 @@ map_file (int fd, off64_t start_off, off
                    fd, start_off);
        if (mem != MAP_FAILED)
        {
          break;
        }
        if (errno != EINVAL && errno != ENOMEM)
-@@ -584,9 +593,11 @@ read_block (int fd, const char *fname, o
+@@ -576,9 +585,11 @@ read_block (int fd, const char *fname, o
        elfmap_off = from & ~(ps - 1);
        elfmap_base = elfmap = map_file (fd, elfmap_off, fdlen, &elfmap_size);
  
    if (unlikely (elfmap == MAP_FAILED))
 --- elfutils/src/strip.c
 +++ elfutils/src/strip.c
-@@ -53,6 +53,12 @@
+@@ -45,6 +45,12 @@
  #include <libebl.h>
  #include <system.h>
  
  typedef uint8_t GElf_Byte;
  
  /* Name and version of program.  */
-@@ -326,8 +332,18 @@ process_file (const char *fname)
+@@ -318,8 +324,18 @@ process_file (const char *fname)
  
        /* If we have to preserve the timestamp, we need it in the
         format utimes() understands.  */
      }
  
    /* Open the file.  */
-@@ -2063,7 +2079,7 @@ while computing checksum for debug infor
+@@ -2055,7 +2071,7 @@ while computing checksum for debug infor
    /* If requested, preserve the timestamp.  */
    if (tvp != NULL)
      {
        {
          error (0, errno, gettext ("\
  cannot set access and modification date of '%s'"),
-@@ -2120,7 +2136,7 @@ handle_ar (int fd, Elf *elf, const char
+@@ -2112,7 +2128,7 @@ handle_ar (int fd, Elf *elf, const char
  
    if (tvp != NULL)
      {
  cannot set access and modification date of '%s'"), fname);
 --- elfutils/tests/ChangeLog
 +++ elfutils/tests/ChangeLog
-@@ -279,6 +279,8 @@
+@@ -439,6 +439,8 @@
  
  2008-01-21  Roland McGrath  <roland@redhat.com>
  
        * testfile45.S.bz2: Add tests for cltq, cqto.
        * testfile45.expect.bz2: Adjust.
  
-@@ -987,6 +989,11 @@
+@@ -1147,6 +1149,11 @@
        * Makefile.am (TESTS): Add run-elflint-test.sh.
        (EXTRA_DIST): Add run-elflint-test.sh and testfile18.bz2.
  
        * get-files.c (main): Use correct format specifier.
 --- elfutils/tests/line2addr.c
 +++ elfutils/tests/line2addr.c
-@@ -132,7 +132,7 @@ main (int argc, char *argv[])
+@@ -124,7 +124,7 @@ main (int argc, char *argv[])
      {
        struct args a = { .arg = argv[cnt] };
  
        case 0:
 --- elfutils/tests/Makefile.in
 +++ elfutils/tests/Makefile.in
-@@ -36,14 +36,15 @@ build_triplet = @build@
+@@ -35,14 +35,15 @@ build_triplet = @build@
  host_triplet = @host@
  DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in \
        $(top_srcdir)/config/eu.am ChangeLog
 -@TESTS_RPATH_TRUE@am__append_4 = -Wl,-rpath,$(BUILD_RPATH)
 +@STANDALONE_FALSE@am__append_4 = -Wl,-rpath-link,../libasm:../libdw:../libelf
 +@TESTS_RPATH_TRUE@am__append_5 = -Wl,-rpath,$(BUILD_RPATH)
noinst_PROGRAMS = arextract$(EXEEXT) arsymtest$(EXEEXT) \
check_PROGRAMS = arextract$(EXEEXT) arsymtest$(EXEEXT) \
        newfile$(EXEEXT) saridx$(EXEEXT) scnnames$(EXEEXT) \
        sectiondump$(EXEEXT) showptable$(EXEEXT) update1$(EXEEXT) \
-@@ -87,10 +88,10 @@ TESTS = run-arextract.sh run-arsymtest.s
-       run-prelink-addr-test.sh run-dwarf-getstring.sh \
-       run-rerequest_tag.sh $(am__EXEEXT_1) $(am__EXEEXT_3)
- # run-show-ciefde.sh
+@@ -92,12 +93,12 @@ TESTS = run-arextract.sh run-arsymtest.s
+       run-readelf-gdb_index.sh run-unstrip-n.sh run-low_high_pc.sh \
+       run-macro-test.sh run-elf_cntl_gelf_getshdr.sh \
+       run-test-archive64.sh $(am__EXEEXT_1) $(am__EXEEXT_3) \
+-      $(am__append_9)
 -@STANDALONE_FALSE@am__append_5 = msg_tst md5-sha1-test
++      $(am__append_10)
  @STANDALONE_FALSE@am__append_6 = msg_tst md5-sha1-test
 -@HAVE_LIBASM_TRUE@am__append_7 = $(asm_TESTS)
 +@STANDALONE_FALSE@am__append_7 = msg_tst md5-sha1-test
  @HAVE_LIBASM_TRUE@am__append_8 = $(asm_TESTS)
+-@ENABLE_DWZ_TRUE@am__append_9 = run-readelf-dwz-multi.sh
 +@HAVE_LIBASM_TRUE@am__append_9 = $(asm_TESTS)
++@ENABLE_DWZ_TRUE@am__append_10 = run-readelf-dwz-multi.sh
  subdir = tests
  ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
  am__aclocal_m4_deps = $(top_srcdir)/m4/nls.m4 $(top_srcdir)/m4/po.m4 \
-@@ -391,6 +392,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
+@@ -412,6 +413,7 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
  INSTALL_SCRIPT = @INSTALL_SCRIPT@
  INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
  LDFLAGS = @LDFLAGS@
  LEX = @LEX@
  LEXLIB = @LEXLIB@
  LEX_OUTPUT_ROOT = @LEX_OUTPUT_ROOT@
-@@ -420,6 +422,7 @@ SHELL = @SHELL@
+@@ -441,6 +443,7 @@ SHELL = @SHELL@
  STRIP = @STRIP@
  USE_NLS = @USE_NLS@
  VERSION = @VERSION@
  XGETTEXT = @XGETTEXT@
  XGETTEXT_015 = @XGETTEXT_015@
  XGETTEXT_EXTRA_OPTIONS = @XGETTEXT_EXTRA_OPTIONS@
-@@ -478,12 +481,11 @@ top_build_prefix = @top_build_prefix@
+@@ -499,12 +502,11 @@ top_build_prefix = @top_build_prefix@
  top_builddir = @top_builddir@
  top_srcdir = @top_srcdir@
  zip_LIBS = @zip_LIBS@
  @MUDFLAP_FALSE@libmudflap = 
  @MUDFLAP_TRUE@libmudflap = -lmudflap
  COMPILE.os = $(filter-out -fprofile-arcs -ftest-coverage $(no_mudflap.os),\
-@@ -493,7 +495,7 @@ CLEANFILES = *.gcno *.gcda
+@@ -514,7 +516,7 @@ CLEANFILES = *.gcno *.gcda
  textrel_check = if readelf -d $@ | fgrep -q TEXTREL; then exit 1; fi
  @MUDFLAP_FALSE@BUILD_RPATH = \$$ORIGIN/../libasm:\$$ORIGIN/../libdw:\$$ORIGIN/../backends:\$$ORIGIN/../libelf
  @MUDFLAP_TRUE@BUILD_RPATH = \$$ORIGIN/../backends
index d4ecbf010c86eb6289e3efe6d2c574dd33f96ed6..9eee98412d98906b5009a571bb62f1c60657639f 100644 (file)
@@ -1,6 +1,6 @@
 --- elfutils/libdwfl/ChangeLog
 +++ elfutils/libdwfl/ChangeLog
-@@ -41,6 +41,11 @@
+@@ -52,6 +52,11 @@
        * dwfl_module_getdwarf.c (open_elf): Clear errno before CBFAIL.
        Reported by Kurt Roeckx <kurt@roeckx.be>.
  
  /* Relocate debug information.
 -   Copyright (C) 2005-2010 Red Hat, Inc.
 +   Copyright (C) 2005-2011 Red Hat, Inc.
-    This file is part of Red Hat elfutils.
+    This file is part of elfutils.
  
-    Red Hat elfutils is free software; you can redistribute it and/or modify
-@@ -478,7 +478,10 @@ relocate_section (Dwfl_Module *mod, Elf
+    This file is free software; you can redistribute it and/or modify
+@@ -457,7 +457,10 @@ relocate_section (Dwfl_Module *mod, Elf
        }
    }
  
@@ -33,7 +33,7 @@
    size_t complete = 0;
    if (shdr->sh_type == SHT_REL)
      for (size_t relidx = 0; !result && relidx < nrels; ++relidx)
-@@ -580,7 +583,7 @@ relocate_section (Dwfl_Module *mod, Elf
+@@ -559,7 +562,7 @@ relocate_section (Dwfl_Module *mod, Elf
          nrels = next;
        }
  
@@ -44,7 +44,7 @@
  
 --- elfutils/libelf/ChangeLog
 +++ elfutils/libelf/ChangeLog
-@@ -663,10 +663,53 @@
+@@ -703,10 +703,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.
  
        * elf.h: Update from glibc.
 --- elfutils/libelf/elf32_getphdr.c
 +++ elfutils/libelf/elf32_getphdr.c
-@@ -114,6 +114,16 @@ __elfw2(LIBELFBITS,getphdr_wrlock) (elf)
+@@ -93,6 +93,16 @@ __elfw2(LIBELFBITS,getphdr_wrlock) (elf)
  
        if (elf->map_address != NULL)
        {
                             + elf->start_offset + ehdr->e_phoff);
 --- elfutils/libelf/elf32_getshdr.c
 +++ elfutils/libelf/elf32_getshdr.c
-@@ -1,5 +1,5 @@
- /* Return section header.
--   Copyright (C) 1998, 1999, 2000, 2001, 2002, 2005, 2007, 2009 Red Hat, Inc.
-+   Copyright (C) 1998-2009 Red Hat, Inc.
-    This file is part of Red Hat elfutils.
-    Written by Ulrich Drepper <drepper@redhat.com>, 1998.
-@@ -81,7 +81,8 @@ load_shdr_wrlock (Elf_Scn *scn)
+@@ -60,7 +60,8 @@ load_shdr_wrlock (Elf_Scn *scn)
      goto out;
  
    size_t shnum;
      goto out;
    size_t size = shnum * sizeof (ElfW2(LIBELFBITS,Shdr));
  
-@@ -98,6 +99,16 @@ load_shdr_wrlock (Elf_Scn *scn)
+@@ -77,6 +78,16 @@ load_shdr_wrlock (Elf_Scn *scn)
  
    if (elf->map_address != NULL)
      {
        /* All the data is already mapped.  If we could use it
 --- elfutils/libelf/elf32_newphdr.c
 +++ elfutils/libelf/elf32_newphdr.c
-@@ -135,6 +135,12 @@ elfw2(LIBELFBITS,newphdr) (elf, count)
+@@ -114,6 +114,12 @@ elfw2(LIBELFBITS,newphdr) (elf, count)
           || count == PN_XNUM
           || elf->state.ELFW(elf,LIBELFBITS).phdr == NULL)
      {
        result = (ElfW2(LIBELFBITS,Phdr) *)
 --- elfutils/libelf/elf32_updatefile.c
 +++ elfutils/libelf/elf32_updatefile.c
-@@ -223,6 +223,9 @@ __elfw2(LIBELFBITS,updatemmap) (Elf *elf
+@@ -202,6 +202,9 @@ __elfw2(LIBELFBITS,updatemmap) (Elf *elf
    /* Write all the sections.  Well, only those which are modified.  */
    if (shnum > 0)
      {
        Elf_ScnList *list = &elf->state.ELFW(elf,LIBELFBITS).scns;
        Elf_Scn **scns = (Elf_Scn **) alloca (shnum * sizeof (Elf_Scn *));
        char *const shdr_start = ((char *) elf->map_address + elf->start_offset
-@@ -645,6 +648,10 @@ __elfw2(LIBELFBITS,updatefile) (Elf *elf
+@@ -624,6 +627,10 @@ __elfw2(LIBELFBITS,updatefile) (Elf *elf
    /* Write all the sections.  Well, only those which are modified.  */
    if (shnum > 0)
      {
        xfct_t shdr_fctp = __elf_xfctstom[__libelf_version - 1][EV_CURRENT - 1][ELFW(ELFCLASS, LIBELFBITS) - 1][ELF_T_SHDR];
 --- elfutils/libelf/elf_begin.c
 +++ elfutils/libelf/elf_begin.c
-@@ -165,7 +165,8 @@ get_shnum (void *map_address, unsigned c
+@@ -144,7 +144,8 @@ get_shnum (void *map_address, unsigned c
  
        if (unlikely (result == 0) && ehdr.e32->e_shoff != 0)
        {
            /* Cannot read the first section header.  */
            return 0;
  
-@@ -213,7 +214,8 @@ get_shnum (void *map_address, unsigned c
+@@ -192,7 +193,8 @@ get_shnum (void *map_address, unsigned c
  
        if (unlikely (result == 0) && ehdr.e64->e_shoff != 0)
        {
            /* Cannot read the first section header.  */
            return 0;
  
-@@ -285,6 +287,15 @@ file_read_elf (int fildes, void *map_add
+@@ -264,6 +266,15 @@ file_read_elf (int fildes, void *map_add
      /* Could not determine the number of sections.  */
      return NULL;
  
    /* We can now allocate the memory.  Even if there are no section headers,
       we allocate space for a zeroth section in case we need it later.  */
    const size_t scnmax = (scncnt ?: (cmd == ELF_C_RDWR || cmd == ELF_C_RDWR_MMAP)
-@@ -324,6 +335,16 @@ file_read_elf (int fildes, void *map_add
+@@ -303,6 +314,16 @@ file_read_elf (int fildes, void *map_add
        {
          /* We can use the mmapped memory.  */
          elf->state.elf32.ehdr = ehdr;
          elf->state.elf32.shdr
            = (Elf32_Shdr *) ((char *) ehdr + ehdr->e_shoff);
  
-@@ -410,6 +431,11 @@ file_read_elf (int fildes, void *map_add
+@@ -389,6 +410,11 @@ file_read_elf (int fildes, void *map_add
        {
          /* We can use the mmapped memory.  */
          elf->state.elf64.ehdr = ehdr;
  
 --- elfutils/libelf/elf_getarsym.c
 +++ elfutils/libelf/elf_getarsym.c
-@@ -179,6 +179,9 @@ elf_getarsym (elf, ptr)
+@@ -181,6 +181,9 @@ elf_getarsym (elf, ptr)
        size_t index_size = atol (tmpbuf);
  
        if (SARMAG + sizeof (struct ar_hdr) + index_size > elf->maximum_size
 +#if SIZE_MAX <= 4294967295U
 +        || n >= SIZE_MAX / sizeof (Elf_Arsym)
 +#endif
-         || n * sizeof (uint32_t) > index_size)
+         || n * w > index_size)
        {
          /* This index table cannot be right since it does not fit into
 --- elfutils/libelf/elf_getshdrstrndx.c
 +++ elfutils/libelf/elf_getshdrstrndx.c
-@@ -125,10 +125,25 @@ elf_getshdrstrndx (elf, dst)
+@@ -104,10 +104,25 @@ elf_getshdrstrndx (elf, dst)
              if (elf->map_address != NULL
                  && elf->state.elf32.ehdr->e_ident[EI_DATA] == MY_ELFDATA
                  && (ALLOW_UNALIGNED
              else
                {
                  /* We avoid reading in all the section headers.  Just read
-@@ -163,10 +178,25 @@ elf_getshdrstrndx (elf, dst)
+@@ -142,10 +157,25 @@ elf_getshdrstrndx (elf, dst)
              if (elf->map_address != NULL
                  && elf->state.elf64.ehdr->e_ident[EI_DATA] == MY_ELFDATA
                  && (ALLOW_UNALIGNED
                  /* We avoid reading in all the section headers.  Just read
 --- elfutils/libelf/elf_newscn.c
 +++ elfutils/libelf/elf_newscn.c
-@@ -104,10 +104,18 @@ elf_newscn (elf)
+@@ -83,10 +83,18 @@ elf_newscn (elf)
    else
      {
        /* We must allocate a new element.  */
  /* Get information from dynamic table at the given index.
 -   Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
 +   Copyright (C) 2000-2009 Red Hat, Inc.
-    This file is part of Red Hat elfutils.
+    This file is part of elfutils.
     Written by Ulrich Drepper <drepper@redhat.com>, 2000.
  
-@@ -93,7 +93,7 @@ gelf_getdyn (data, ndx, dst)
+@@ -72,7 +72,7 @@ gelf_getdyn (data, ndx, dst)
         table entries has to be adopted.  The user better has provided
         a buffer where we can store the information.  While copying the
         data we are converting the format.  */
        {
          __libelf_seterrno (ELF_E_INVALID_INDEX);
          goto out;
-@@ -114,7 +114,7 @@ gelf_getdyn (data, ndx, dst)
+@@ -93,7 +93,7 @@ gelf_getdyn (data, ndx, dst)
  
        /* The data is already in the correct form.  Just make sure the
         index is OK.  */
  /* Get library from table at the given index.
 -   Copyright (C) 2004 Red Hat, Inc.
 +   Copyright (C) 2004-2009 Red Hat, Inc.
-    This file is part of Red Hat elfutils.
+    This file is part of elfutils.
     Written by Ulrich Drepper <drepper@redhat.com>, 2004.
  
-@@ -86,7 +86,7 @@ gelf_getlib (data, ndx, dst)
+@@ -65,7 +65,7 @@ gelf_getlib (data, ndx, dst)
    /* The data is already in the correct form.  Just make sure the
       index is OK.  */
    GElf_Lib *result = NULL;
  /* Get move structure at the given index.
 -   Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
 +   Copyright (C) 2000-2009 Red Hat, Inc.
-    This file is part of Red Hat elfutils.
+    This file is part of elfutils.
     Written by Ulrich Drepper <drepper@redhat.com>, 2000.
  
-@@ -83,7 +83,7 @@ gelf_getmove (data, ndx, dst)
+@@ -62,7 +62,7 @@ gelf_getmove (data, ndx, dst)
  
    /* The data is already in the correct form.  Just make sure the
       index is OK.  */
  /* Get RELA relocation information at given index.
 -   Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
 +   Copyright (C) 2000-2009 Red Hat, Inc.
-    This file is part of Red Hat elfutils.
+    This file is part of elfutils.
     Written by Ulrich Drepper <drepper@redhat.com>, 2000.
  
-@@ -71,12 +71,6 @@ gelf_getrela (data, ndx, dst)
+@@ -50,12 +50,6 @@ gelf_getrela (data, ndx, dst)
    if (data_scn == NULL)
      return NULL;
  
    if (unlikely (data_scn->d.d_type != ELF_T_RELA))
      {
        __libelf_seterrno (ELF_E_INVALID_HANDLE);
-@@ -93,7 +87,7 @@ gelf_getrela (data, ndx, dst)
+@@ -72,7 +66,7 @@ gelf_getrela (data, ndx, dst)
    if (scn->elf->class == ELFCLASS32)
      {
        /* We have to convert the data.  */
        {
          __libelf_seterrno (ELF_E_INVALID_INDEX);
          result = NULL;
-@@ -114,7 +108,7 @@ gelf_getrela (data, ndx, dst)
+@@ -93,7 +87,7 @@ gelf_getrela (data, ndx, dst)
      {
        /* Simply copy the data after we made sure we are actually getting
         correct data.  */
  /* Get REL relocation information at given index.
 -   Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
 +   Copyright (C) 2000-2009 Red Hat, Inc.
-    This file is part of Red Hat elfutils.
+    This file is part of elfutils.
     Written by Ulrich Drepper <drepper@redhat.com>, 2000.
  
-@@ -71,12 +71,6 @@ gelf_getrel (data, ndx, dst)
+@@ -50,12 +50,6 @@ gelf_getrel (data, ndx, dst)
    if (data_scn == NULL)
      return NULL;
  
    if (unlikely (data_scn->d.d_type != ELF_T_REL))
      {
        __libelf_seterrno (ELF_E_INVALID_HANDLE);
-@@ -93,7 +87,7 @@ gelf_getrel (data, ndx, dst)
+@@ -72,7 +66,7 @@ gelf_getrel (data, ndx, dst)
    if (scn->elf->class == ELFCLASS32)
      {
        /* We have to convert the data.  */
        {
          __libelf_seterrno (ELF_E_INVALID_INDEX);
          result = NULL;
-@@ -113,7 +107,7 @@ gelf_getrel (data, ndx, dst)
+@@ -92,7 +86,7 @@ gelf_getrel (data, ndx, dst)
      {
        /* Simply copy the data after we made sure we are actually getting
         correct data.  */
  /* Get symbol information from symbol table at the given index.
 -   Copyright (C) 1999, 2000, 2001, 2002 Red Hat, Inc.
 +   Copyright (C) 1999-2009 Red Hat, Inc.
-    This file is part of Red Hat elfutils.
+    This file is part of elfutils.
     Written by Ulrich Drepper <drepper@redhat.com>, 1999.
  
-@@ -90,7 +90,7 @@ gelf_getsym (data, ndx, dst)
+@@ -69,7 +69,7 @@ gelf_getsym (data, ndx, dst)
         table entries has to be adopted.  The user better has provided
         a buffer where we can store the information.  While copying the
         data we are converting the format.  */
        {
          __libelf_seterrno (ELF_E_INVALID_INDEX);
          goto out;
-@@ -119,7 +119,7 @@ gelf_getsym (data, ndx, dst)
+@@ -98,7 +98,7 @@ gelf_getsym (data, ndx, dst)
  
        /* The data is already in the correct form.  Just make sure the
         index is OK.  */
  /* Get additional symbol information from symbol table at the given index.
 -   Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
 +   Copyright (C) 2000-2009 Red Hat, Inc.
-    This file is part of Red Hat elfutils.
+    This file is part of elfutils.
     Written by Ulrich Drepper <drepper@redhat.com>, 2000.
  
-@@ -84,7 +84,7 @@ gelf_getsyminfo (data, ndx, dst)
+@@ -63,7 +63,7 @@ gelf_getsyminfo (data, ndx, dst)
  
    /* The data is already in the correct form.  Just make sure the
       index is OK.  */
     at the given index.
 -   Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
 +   Copyright (C) 2000-2009 Red Hat, Inc.
-    This file is part of Red Hat elfutils.
+    This file is part of elfutils.
     Written by Ulrich Drepper <drepper@redhat.com>, 2000.
  
-@@ -90,7 +90,7 @@ gelf_getsymshndx (symdata, shndxdata, nd
+@@ -69,7 +69,7 @@ gelf_getsymshndx (symdata, shndxdata, nd
       section index table.  */
    if (likely (shndxdata_scn != NULL))
      {
        {
          __libelf_seterrno (ELF_E_INVALID_INDEX);
          goto out;
-@@ -110,7 +110,7 @@ gelf_getsymshndx (symdata, shndxdata, nd
+@@ -89,7 +89,7 @@ gelf_getsymshndx (symdata, shndxdata, nd
         table entries has to be adopted.  The user better has provided
         a buffer where we can store the information.  While copying the
         data we are converting the format.  */
        {
          __libelf_seterrno (ELF_E_INVALID_INDEX);
          goto out;
-@@ -139,7 +139,7 @@ gelf_getsymshndx (symdata, shndxdata, nd
+@@ -118,7 +118,7 @@ gelf_getsymshndx (symdata, shndxdata, nd
  
        /* The data is already in the correct form.  Just make sure the
         index is OK.  */
  /* Get symbol version information at the given index.
 -   Copyright (C) 1999, 2000, 2001, 2002 Red Hat, Inc.
 +   Copyright (C) 1999-2009 Red Hat, Inc.
-    This file is part of Red Hat elfutils.
+    This file is part of elfutils.
     Written by Ulrich Drepper <drepper@redhat.com>, 1999.
  
-@@ -92,7 +92,7 @@ gelf_getversym (data, ndx, dst)
+@@ -71,7 +71,7 @@ gelf_getversym (data, ndx, dst)
  
    /* The data is already in the correct form.  Just make sure the
       index is OK.  */
  /* Update information in dynamic table at the given index.
 -   Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
 +   Copyright (C) 2000-2009 Red Hat, Inc.
-    This file is part of Red Hat elfutils.
+    This file is part of elfutils.
     Written by Ulrich Drepper <drepper@redhat.com>, 2000.
  
-@@ -71,12 +71,6 @@ gelf_update_dyn (data, ndx, src)
+@@ -50,12 +50,6 @@ gelf_update_dyn (data, ndx, src)
    if (data == NULL)
      return 0;
  
    if (unlikely (data_scn->d.d_type != ELF_T_DYN))
      {
        /* The type of the data better should match.  */
-@@ -102,7 +96,7 @@ gelf_update_dyn (data, ndx, src)
+@@ -81,7 +75,7 @@ gelf_update_dyn (data, ndx, src)
        }
  
        /* Check whether we have to resize the data buffer.  */
        {
          __libelf_seterrno (ELF_E_INVALID_INDEX);
          goto out;
-@@ -116,7 +110,7 @@ gelf_update_dyn (data, ndx, src)
+@@ -95,7 +89,7 @@ gelf_update_dyn (data, ndx, src)
    else
      {
        /* Check whether we have to resize the data buffer.  */
  /* Update library in table at the given index.
 -   Copyright (C) 2004 Red Hat, Inc.
 +   Copyright (C) 2004-2009 Red Hat, Inc.
-    This file is part of Red Hat elfutils.
+    This file is part of elfutils.
     Written by Ulrich Drepper <drepper@redhat.com>, 2004.
  
-@@ -68,12 +68,6 @@ gelf_update_lib (data, ndx, src)
+@@ -47,12 +47,6 @@ gelf_update_lib (data, ndx, src)
    if (data == NULL)
      return 0;
  
    Elf_Data_Scn *data_scn = (Elf_Data_Scn *) data;
    if (unlikely (data_scn->d.d_type != ELF_T_LIB))
      {
-@@ -87,7 +81,7 @@ gelf_update_lib (data, ndx, src)
+@@ -66,7 +60,7 @@ gelf_update_lib (data, ndx, src)
  
    /* Check whether we have to resize the data buffer.  */
    int result = 0;
  /* Update move structure at the given index.
 -   Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
 +   Copyright (C) 2000-2009 Red Hat, Inc.
-    This file is part of Red Hat elfutils.
+    This file is part of elfutils.
     Written by Ulrich Drepper <drepper@redhat.com>, 2000.
  
-@@ -75,8 +75,7 @@ gelf_update_move (data, ndx, src)
+@@ -54,8 +54,7 @@ gelf_update_move (data, ndx, src)
    assert (sizeof (GElf_Move) == sizeof (Elf64_Move));
  
    /* Check whether we have to resize the data buffer.  */
  /* Update RELA relocation information at given index.
 -   Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
 +   Copyright (C) 2000-2009 Red Hat, Inc.
-    This file is part of Red Hat elfutils.
+    This file is part of elfutils.
     Written by Ulrich Drepper <drepper@redhat.com>, 2000.
  
-@@ -68,12 +68,6 @@ gelf_update_rela (Elf_Data *dst, int ndx
+@@ -47,12 +47,6 @@ gelf_update_rela (Elf_Data *dst, int ndx
    if (dst == NULL)
      return 0;
  
    if (unlikely (data_scn->d.d_type != ELF_T_RELA))
      {
        /* The type of the data better should match.  */
-@@ -101,7 +95,7 @@ gelf_update_rela (Elf_Data *dst, int ndx
+@@ -80,7 +74,7 @@ gelf_update_rela (Elf_Data *dst, int ndx
        }
  
        /* Check whether we have to resize the data buffer.  */
        {
          __libelf_seterrno (ELF_E_INVALID_INDEX);
          goto out;
-@@ -117,7 +111,7 @@ gelf_update_rela (Elf_Data *dst, int ndx
+@@ -96,7 +90,7 @@ gelf_update_rela (Elf_Data *dst, int ndx
    else
      {
        /* Check whether we have to resize the data buffer.  */
  /* Update REL relocation information at given index.
 -   Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
 +   Copyright (C) 2000-2009 Red Hat, Inc.
-    This file is part of Red Hat elfutils.
+    This file is part of elfutils.
     Written by Ulrich Drepper <drepper@redhat.com>, 2000.
  
-@@ -68,12 +68,6 @@ gelf_update_rel (Elf_Data *dst, int ndx,
+@@ -47,12 +47,6 @@ gelf_update_rel (Elf_Data *dst, int ndx,
    if (dst == NULL)
      return 0;
  
    if (unlikely (data_scn->d.d_type != ELF_T_REL))
      {
        /* The type of the data better should match.  */
-@@ -99,7 +93,7 @@ gelf_update_rel (Elf_Data *dst, int ndx,
+@@ -78,7 +72,7 @@ gelf_update_rel (Elf_Data *dst, int ndx,
        }
  
        /* Check whether we have to resize the data buffer.  */
        {
          __libelf_seterrno (ELF_E_INVALID_INDEX);
          goto out;
-@@ -114,7 +108,7 @@ gelf_update_rel (Elf_Data *dst, int ndx,
+@@ -93,7 +87,7 @@ gelf_update_rel (Elf_Data *dst, int ndx,
    else
      {
        /* Check whether we have to resize the data buffer.  */
  /* Update symbol information in symbol table at the given index.
 -   Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
 +   Copyright (C) 2000-2009 Red Hat, Inc.
-    This file is part of Red Hat elfutils.
+    This file is part of elfutils.
     Written by Ulrich Drepper <drepper@redhat.com>, 2000.
  
-@@ -72,12 +72,6 @@ gelf_update_sym (data, ndx, src)
+@@ -51,12 +51,6 @@ gelf_update_sym (data, ndx, src)
    if (data == NULL)
      return 0;
  
    if (unlikely (data_scn->d.d_type != ELF_T_SYM))
      {
        /* The type of the data better should match.  */
-@@ -102,7 +96,7 @@ gelf_update_sym (data, ndx, src)
+@@ -81,7 +75,7 @@ gelf_update_sym (data, ndx, src)
        }
  
        /* Check whether we have to resize the data buffer.  */
        {
          __libelf_seterrno (ELF_E_INVALID_INDEX);
          goto out;
-@@ -125,7 +119,7 @@ gelf_update_sym (data, ndx, src)
+@@ -104,7 +98,7 @@ gelf_update_sym (data, ndx, src)
    else
      {
        /* Check whether we have to resize the data buffer.  */
  /* Update additional symbol information in symbol table at the given index.
 -   Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
 +   Copyright (C) 2000-2009 Red Hat, Inc.
-    This file is part of Red Hat elfutils.
+    This file is part of elfutils.
     Written by Ulrich Drepper <drepper@redhat.com>, 2000.
  
-@@ -72,12 +72,6 @@ gelf_update_syminfo (data, ndx, src)
+@@ -51,12 +51,6 @@ gelf_update_syminfo (data, ndx, src)
    if (data == NULL)
      return 0;
  
    if (unlikely (data_scn->d.d_type != ELF_T_SYMINFO))
      {
        /* The type of the data better should match.  */
-@@ -93,7 +87,7 @@ gelf_update_syminfo (data, ndx, src)
+@@ -72,7 +66,7 @@ gelf_update_syminfo (data, ndx, src)
    rwlock_wrlock (scn->elf->lock);
  
    /* Check whether we have to resize the data buffer.  */
     given index.
 -   Copyright (C) 2000, 2001, 2002 Red Hat, Inc.
 +   Copyright (C) 2000-2009 Red Hat, Inc.
-    This file is part of Red Hat elfutils.
+    This file is part of elfutils.
     Written by Ulrich Drepper <drepper@redhat.com>, 2000.
  
-@@ -77,12 +77,6 @@ gelf_update_symshndx (symdata, shndxdata
+@@ -56,12 +56,6 @@ gelf_update_symshndx (symdata, shndxdata
    if (symdata == NULL)
      return 0;
  
    if (unlikely (symdata_scn->d.d_type != ELF_T_SYM))
      {
        /* The type of the data better should match.  */
-@@ -128,7 +122,7 @@ gelf_update_symshndx (symdata, shndxdata
+@@ -107,7 +101,7 @@ gelf_update_symshndx (symdata, shndxdata
        }
  
        /* Check whether we have to resize the data buffer.  */
        {
          __libelf_seterrno (ELF_E_INVALID_INDEX);
          goto out;
-@@ -151,7 +145,7 @@ gelf_update_symshndx (symdata, shndxdata
+@@ -130,7 +124,7 @@ gelf_update_symshndx (symdata, shndxdata
    else
      {
        /* Check whether we have to resize the data buffer.  */
  /* Update symbol version information.
 -   Copyright (C) 2001, 2002 Red Hat, Inc.
 +   Copyright (C) 2001-2009 Red Hat, Inc.
-    This file is part of Red Hat elfutils.
+    This file is part of elfutils.
     Written by Ulrich Drepper <drepper@redhat.com>, 2001.
  
-@@ -75,8 +75,7 @@ gelf_update_versym (data, ndx, src)
+@@ -54,8 +54,7 @@ gelf_update_versym (data, ndx, src)
    assert (sizeof (GElf_Versym) == sizeof (Elf64_Versym));
  
    /* Check whether we have to resize the data buffer.  */
        return 0;
 --- elfutils/libelf/libelfP.h
 +++ elfutils/libelf/libelfP.h
-@@ -608,4 +608,8 @@ extern uint32_t __libelf_crc32 (uint32_t
+@@ -587,4 +587,8 @@ extern uint32_t __libelf_crc32 (uint32_t
  /* Align offset to 4 bytes as needed for note name and descriptor data.  */
  #define NOTE_ALIGN(n) (((n) + 3) & -4U)
  
  #endif  /* libelfP.h */
 --- elfutils/src/ChangeLog
 +++ elfutils/src/ChangeLog
-@@ -228,6 +228,12 @@
+@@ -344,6 +344,12 @@
  
        * readelf.c (dwarf_attr_string): Grok DW_AT_GNU_odr_signature.
  
  2011-02-11  Roland McGrath  <roland@redhat.com>
  
        * elfcmp.c (verbose): New variable.
-@@ -1940,6 +1946,16 @@
+@@ -2056,6 +2062,16 @@
        object symbols or symbols with unknown type.
        (check_rel): Likewise.
  
  2005-06-08  Roland McGrath  <roland@redhat.com>
  
        * readelf.c (print_ops): Add consts.
-@@ -1985,6 +2001,19 @@
+@@ -2101,6 +2117,19 @@
  
        * readelf.c (dwarf_tag_string): Add new tags.
  
        * strip.c (handle_elf): Don't translate hash and versym data formats,
 --- elfutils/src/elflint.c
 +++ elfutils/src/elflint.c
-@@ -131,6 +131,10 @@ static uint32_t shstrndx;
+@@ -123,6 +123,10 @@ static uint32_t shstrndx;
  /* Array to count references in section groups.  */
  static int *scnref;
  
  
  int
  main (int argc, char *argv[])
-@@ -319,10 +323,19 @@ section_name (Ebl *ebl, int idx)
+@@ -311,10 +315,19 @@ section_name (Ebl *ebl, int idx)
  {
    GElf_Shdr shdr_mem;
    GElf_Shdr *shdr;
  }
  
  
-@@ -344,11 +357,6 @@ static const int valid_e_machine[] =
+@@ -337,11 +350,6 @@ static const int valid_e_machine[] =
    (sizeof (valid_e_machine) / sizeof (valid_e_machine[0]))
  
  
  static void
  check_elf_header (Ebl *ebl, GElf_Ehdr *ehdr, size_t size)
  {
-@@ -632,7 +640,8 @@ section [%2d] '%s': symbol table cannot
+@@ -625,7 +633,8 @@ section [%2d] '%s': symbol table cannot
          }
        }
  
      ERROR (gettext ("\
  section [%2u] '%s': entry size is does not match ElfXX_Sym\n"),
           idx, section_name (ebl, idx));
-@@ -670,7 +679,7 @@ section [%2d] '%s': XINDEX for zeroth en
+@@ -663,7 +672,7 @@ section [%2d] '%s': XINDEX for zeroth en
               xndxscnidx, section_name (ebl, xndxscnidx));
      }
  
      {
        sym = gelf_getsymshndx (data, xndxdata, cnt, &sym_mem, &xndx);
        if (sym == NULL)
-@@ -690,7 +699,8 @@ section [%2d] '%s': symbol %zu: invalid
+@@ -683,7 +692,8 @@ section [%2d] '%s': symbol %zu: invalid
        else
        {
          name = elf_strptr (ebl->elf, shdr->sh_link, sym->st_name);
        }
  
        if (sym->st_shndx == SHN_XINDEX)
-@@ -1039,9 +1049,11 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e
+@@ -1032,9 +1042,11 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e
      {
        GElf_Shdr rcshdr_mem;
        const GElf_Shdr *rcshdr = gelf_getshdr (scn, &rcshdr_mem);
        {
          /* Found the dynamic section.  Look through it.  */
          Elf_Data *d = elf_getdata (scn, NULL);
-@@ -1051,7 +1063,9 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e
+@@ -1044,7 +1056,9 @@ is_rel_dyn (Ebl *ebl, const GElf_Ehdr *e
            {
              GElf_Dyn dyn_mem;
              GElf_Dyn *dyn = gelf_getdyn (d, cnt, &dyn_mem);
  
              if (dyn->d_tag == DT_RELCOUNT)
                {
-@@ -1065,7 +1079,9 @@ section [%2d] '%s': DT_RELCOUNT used for
+@@ -1058,7 +1072,9 @@ section [%2d] '%s': DT_RELCOUNT used for
                      /* Does the number specified number of relative
                         relocations exceed the total number of
                         relocations?  */
                        ERROR (gettext ("\
  section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"),
                               idx, section_name (ebl, idx),
-@@ -1225,7 +1241,8 @@ section [%2d] '%s': no relocations for m
+@@ -1218,7 +1234,8 @@ section [%2d] '%s': no relocations for m
        }
      }
  
      ERROR (gettext (reltype == ELF_T_RELA ? "\
  section [%2d] '%s': section entry size does not match ElfXX_Rela\n" : "\
  section [%2d] '%s': section entry size does not match ElfXX_Rel\n"),
-@@ -1448,7 +1465,8 @@ check_rela (Ebl *ebl, GElf_Ehdr *ehdr, G
+@@ -1441,7 +1458,8 @@ check_rela (Ebl *ebl, GElf_Ehdr *ehdr, G
    Elf_Data *symdata = elf_getdata (symscn, NULL);
    enum load_state state = state_undecided;
  
      {
        GElf_Rela rela_mem;
        GElf_Rela *rela = gelf_getrela (data, cnt, &rela_mem);
-@@ -1498,7 +1516,8 @@ check_rel (Ebl *ebl, GElf_Ehdr *ehdr, GE
+@@ -1491,7 +1509,8 @@ check_rel (Ebl *ebl, GElf_Ehdr *ehdr, GE
    Elf_Data *symdata = elf_getdata (symscn, NULL);
    enum load_state state = state_undecided;
  
      {
        GElf_Rel rel_mem;
        GElf_Rel *rel = gelf_getrel (data, cnt, &rel_mem);
-@@ -1597,7 +1616,8 @@ section [%2d] '%s': referenced as string
+@@ -1590,7 +1609,8 @@ section [%2d] '%s': referenced as string
           shdr->sh_link, section_name (ebl, shdr->sh_link),
           idx, section_name (ebl, idx));
  
      ERROR (gettext ("\
  section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"),
           idx, section_name (ebl, idx));
-@@ -1607,7 +1627,7 @@ section [%2d] '%s': section entry size d
+@@ -1600,7 +1620,7 @@ section [%2d] '%s': section entry size d
           idx, section_name (ebl, idx));
  
    bool non_null_warned = false;
      {
        GElf_Dyn dyn_mem;
        GElf_Dyn *dyn = gelf_getdyn (data, cnt, &dyn_mem);
-@@ -1879,6 +1899,8 @@ section [%2d] '%s': entry size does not
+@@ -1872,6 +1892,8 @@ section [%2d] '%s': entry size does not
           idx, section_name (ebl, idx));
  
    if (symshdr != NULL
        && (shdr->sh_size / shdr->sh_entsize
          < symshdr->sh_size / symshdr->sh_entsize))
      ERROR (gettext ("\
-@@ -1905,6 +1927,12 @@ section [%2d] '%s': extended section ind
+@@ -1898,6 +1920,12 @@ section [%2d] '%s': extended section ind
      }
  
    Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
  
    if (*((Elf32_Word *) data->d_buf) != 0)
      ERROR (gettext ("symbol 0 should have zero extended section index\n"));
-@@ -1947,7 +1975,7 @@ section [%2d] '%s': hash table section i
+@@ -1940,7 +1968,7 @@ section [%2d] '%s': hash table section i
  
    size_t maxidx = nchain;
  
      {
        size_t symsize = symshdr->sh_size / symshdr->sh_entsize;
  
-@@ -1958,18 +1986,28 @@ section [%2d] '%s': hash table section i
+@@ -1951,18 +1979,28 @@ section [%2d] '%s': hash table section i
        maxidx = symsize;
      }
  
  }
  
  
-@@ -1999,18 +2037,28 @@ section [%2d] '%s': hash table section i
+@@ -1992,18 +2030,28 @@ section [%2d] '%s': hash table section i
        maxidx = symsize;
      }
  
  }
  
  
-@@ -2035,7 +2083,7 @@ section [%2d] '%s': bitmask size not pow
+@@ -2028,7 +2076,7 @@ section [%2d] '%s': bitmask size not pow
    if (shdr->sh_size < (4 + bitmask_words + nbuckets) * sizeof (Elf32_Word))
      {
        ERROR (gettext ("\
             idx, section_name (ebl, idx), (long int) shdr->sh_size,
             (long int) ((4 + bitmask_words + nbuckets) * sizeof (Elf32_Word)));
        return;
-@@ -2707,8 +2755,9 @@ section [%2d] '%s' refers in sh_link to
+@@ -2700,8 +2748,9 @@ section [%2d] '%s' refers in sh_link to
  
    /* The number of elements in the version symbol table must be the
       same as the number of symbols.  */
           idx, section_name (ebl, idx),
 --- elfutils/src/readelf.c
 +++ elfutils/src/readelf.c
-@@ -1191,6 +1191,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G
+@@ -1189,6 +1189,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G
    Elf32_Word *grpref = (Elf32_Word *) data->d_buf;
  
    GElf_Sym sym_mem;
    printf ((grpref[0] & GRP_COMDAT)
          ? ngettext ("\
  \nCOMDAT section group [%2zu] '%s' with signature '%s' contains %zu entry:\n",
-@@ -1203,8 +1205,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G
+@@ -1201,8 +1203,8 @@ handle_scngrp (Ebl *ebl, Elf_Scn *scn, G
                      data->d_size / sizeof (Elf32_Word) - 1),
          elf_ndxscn (scn),
          elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
          ?: gettext ("<INVALID SYMBOL>"),
          data->d_size / sizeof (Elf32_Word) - 1);
  
-@@ -1355,10 +1357,12 @@ static void
+@@ -1353,10 +1355,12 @@ static void
  handle_dynamic (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr)
  {
    int class = gelf_getclass (ebl->elf);
  
    /* Get the data of the section.  */
    data = elf_getdata (scn, NULL);
-@@ -1370,21 +1374,26 @@ handle_dynamic (Ebl *ebl, Elf_Scn *scn,
+@@ -1368,21 +1372,26 @@ handle_dynamic (Ebl *ebl, Elf_Scn *scn,
      error (EXIT_FAILURE, 0,
           gettext ("cannot get section header string table index"));
  
      {
        GElf_Dyn dynmem;
        GElf_Dyn *dyn = gelf_getdyn (data, cnt, &dynmem);
-@@ -1533,7 +1542,8 @@ static void
+@@ -1531,7 +1540,8 @@ static void
  handle_relocs_rel (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr)
  {
    int class = gelf_getclass (ebl->elf);
  
    /* Get the data of the section.  */
    Elf_Data *data = elf_getdata (scn, NULL);
-@@ -1719,7 +1729,8 @@ static void
+@@ -1717,7 +1727,8 @@ static void
  handle_relocs_rela (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr)
  {
    int class = gelf_getclass (ebl->elf);
  
    /* Get the data of the section.  */
    Elf_Data *data = elf_getdata (scn, NULL);
-@@ -1966,6 +1977,13 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
+@@ -1964,6 +1975,13 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
      error (EXIT_FAILURE, 0,
           gettext ("cannot get section header string table index"));
  
    /* Now we can compute the number of entries in the section.  */
    unsigned int nsyms = data->d_size / (class == ELFCLASS32
                                       ? sizeof (Elf32_Sym)
-@@ -1976,15 +1994,12 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
+@@ -1974,15 +1992,12 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, G
                    nsyms),
          (unsigned int) elf_ndxscn (scn),
          elf_strptr (ebl->elf, shstrndx, shdr->sh_name), nsyms);
  
    fputs_unlocked (class == ELFCLASS32
                  ? gettext ("\
-@@ -2220,7 +2235,13 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn,
+@@ -2218,7 +2233,13 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn,
      error (EXIT_FAILURE, 0,
           gettext ("cannot get section header string table index"));
  
    printf (ngettext ("\
  \nVersion needs section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 "  Offset: %#08" PRIx64 "  Link to section: [%2u] '%s'\n",
                    "\
-@@ -2231,9 +2252,7 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn,
+@@ -2229,9 +2250,7 @@ handle_verneed (Ebl *ebl, Elf_Scn *scn,
          class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
          shdr->sh_offset,
          (unsigned int) shdr->sh_link,
  
    unsigned int offset = 0;
    for (int cnt = shdr->sh_info; --cnt >= 0; )
-@@ -2286,8 +2305,14 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G
+@@ -2284,8 +2303,14 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G
      error (EXIT_FAILURE, 0,
           gettext ("cannot get section header string table index"));
  
    printf (ngettext ("\
  \nVersion definition section [%2u] '%s' contains %d entry:\n Addr: %#0*" PRIx64 "  Offset: %#08" PRIx64 "  Link to section: [%2u] '%s'\n",
                    "\
-@@ -2299,9 +2324,7 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G
+@@ -2297,9 +2322,7 @@ handle_verdef (Ebl *ebl, Elf_Scn *scn, G
          class == ELFCLASS32 ? 10 : 18, shdr->sh_addr,
          shdr->sh_offset,
          (unsigned int) shdr->sh_link,
  
    unsigned int offset = 0;
    for (int cnt = shdr->sh_info; --cnt >= 0; )
-@@ -2563,25 +2586,30 @@ handle_versym (Ebl *ebl, Elf_Scn *scn, G
+@@ -2561,25 +2584,30 @@ handle_versym (Ebl *ebl, Elf_Scn *scn, G
        filename = NULL;
      }
  
      {
        if (cnt % 2 == 0)
        printf ("\n %4d:", cnt);
-@@ -2630,7 +2658,17 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
+@@ -2628,7 +2656,17 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
    for (Elf32_Word cnt = 0; cnt < nbucket; ++cnt)
      ++counts[lengths[cnt]];
  
    printf (ngettext ("\
  \nHistogram for bucket list length in section [%2u] '%s' (total of %d bucket):\n Addr: %#0*" PRIx64 "  Offset: %#08" PRIx64 "  Link to section: [%2u] '%s'\n",
                    "\
-@@ -2643,9 +2681,7 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
+@@ -2641,9 +2679,7 @@ print_hash_info (Ebl *ebl, Elf_Scn *scn,
          shdr->sh_addr,
          shdr->sh_offset,
          (unsigned int) shdr->sh_link,
  
    if (extrastr != NULL)
      fputs (extrastr, stdout);
-@@ -2905,7 +2941,8 @@ print_liblist (Ebl *ebl)
+@@ -2903,7 +2939,8 @@ print_liblist (Ebl *ebl)
  
        if (shdr != NULL && shdr->sh_type == SHT_GNU_LIBLIST)
        {
          printf (ngettext ("\
  \nLibrary list section [%2zu] '%s' at offset %#0" PRIx64 " contains %d entry:\n",
                            "\
-@@ -4646,6 +4683,16 @@ print_debug_aranges_section (Dwfl_Module
+@@ -4164,6 +4201,16 @@ print_debug_aranges_section (Dwfl_Module
        return;
      }
  
                    "\
 --- elfutils/src/strip.c
 +++ elfutils/src/strip.c
-@@ -572,6 +572,11 @@ handle_elf (int fd, Elf *elf, const char
+@@ -564,6 +564,11 @@ handle_elf (int fd, Elf *elf, const char
        goto fail_close;
      }
  
    /* 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.
-@@ -593,7 +598,7 @@ handle_elf (int fd, Elf *elf, const char
+@@ -585,7 +590,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).  */
  
        shdr_info[cnt].scn = scn;
  
-@@ -606,6 +611,7 @@ handle_elf (int fd, Elf *elf, const char
+@@ -598,6 +603,7 @@ handle_elf (int fd, Elf *elf, const char
                                        shdr_info[cnt].shdr.sh_name);
        if (shdr_info[cnt].name == NULL)
        {
          error (0, 0, gettext ("illformed file '%s'"), fname);
          goto fail_close;
        }
-@@ -615,6 +621,8 @@ handle_elf (int fd, Elf *elf, const char
+@@ -607,6 +613,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;
  
        /* Sections in files other than relocatable object files which
         are not loaded can be freely moved by us.  In relocatable
-@@ -627,7 +635,7 @@ handle_elf (int fd, Elf *elf, const char
+@@ -619,7 +627,7 @@ handle_elf (int fd, Elf *elf, const char
         appropriate reference.  */
        if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_SYMTAB_SHNDX))
        {
          shdr_info[shdr_info[cnt].shdr.sh_link].symtab_idx = cnt;
        }
        else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GROUP))
-@@ -644,7 +652,12 @@ handle_elf (int fd, Elf *elf, const char
+@@ -636,7 +644,12 @@ handle_elf (int fd, Elf *elf, const char
          for (inner = 1;
               inner < shdr_info[cnt].data->d_size / sizeof (Elf32_Word);
               ++inner)
  
          if (inner == 1 || (inner == 2 && (grpref[0] & GRP_COMDAT) == 0))
            /* If the section group contains only one element and this
-@@ -655,7 +668,7 @@ handle_elf (int fd, Elf *elf, const char
+@@ -647,7 +660,7 @@ handle_elf (int fd, Elf *elf, const char
        }
        else if (unlikely (shdr_info[cnt].shdr.sh_type == SHT_GNU_versym))
        {
          shdr_info[shdr_info[cnt].shdr.sh_link].version_idx = cnt;
        }
  
-@@ -663,7 +676,7 @@ handle_elf (int fd, Elf *elf, const char
+@@ -655,7 +668,7 @@ handle_elf (int fd, Elf *elf, const char
         discarded right away.  */
        if ((shdr_info[cnt].shdr.sh_flags & SHF_GROUP) != 0)
        {
  
          if (shdr_info[shdr_info[cnt].group_idx].idx == 0)
            {
-@@ -739,10 +752,14 @@ handle_elf (int fd, Elf *elf, const char
+@@ -731,10 +744,14 @@ 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.  */
  
              /* If a group section is marked as being removed make
                 sure all the sections it contains are being removed, too.  */
-@@ -786,7 +803,7 @@ handle_elf (int fd, Elf *elf, const char
+@@ -778,7 +795,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)
                    {
  
                      shdr_info[shdr_info[cnt].symtab_idx].data
                        = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn,
-@@ -826,6 +843,9 @@ handle_elf (int fd, Elf *elf, const char
+@@ -818,6 +835,9 @@ handle_elf (int fd, Elf *elf, const char
                      else if (scnidx == SHN_XINDEX)
                        scnidx = xndx;
  
                      if (shdr_info[scnidx].idx == 0)
                        /* This symbol table has a real symbol in
                           a discarded section.  So preserve the
-@@ -856,12 +876,16 @@ handle_elf (int fd, Elf *elf, const char
+@@ -848,12 +868,16 @@ handle_elf (int fd, Elf *elf, const char
                }
  
              /* Handle references through sh_info.  */
  
              /* Mark the section as investigated.  */
              shdr_info[cnt].idx = 2;
-@@ -1002,7 +1026,7 @@ handle_elf (int fd, Elf *elf, const char
+@@ -994,7 +1018,7 @@ handle_elf (int fd, Elf *elf, const char
          error (EXIT_FAILURE, 0, gettext ("while generating output file: %s"),
                 elf_errmsg (-1));
  
  
        /* Add this name to the section header string table.  */
        shdr_info[cnt].se = ebl_strtabadd (shst, shdr_info[cnt].name, 0);
-@@ -1039,7 +1063,7 @@ handle_elf (int fd, Elf *elf, const char
+@@ -1031,7 +1055,7 @@ handle_elf (int fd, Elf *elf, const char
        error (EXIT_FAILURE, 0,
               gettext ("while create section header section: %s"),
               elf_errmsg (-1));
  
        shdr_info[cnt].data = elf_newdata (shdr_info[cnt].newscn);
        if (shdr_info[cnt].data == NULL)
-@@ -1095,7 +1119,7 @@ handle_elf (int fd, Elf *elf, const char
+@@ -1087,7 +1111,7 @@ handle_elf (int fd, Elf *elf, const char
      error (EXIT_FAILURE, 0,
           gettext ("while create section header section: %s"),
           elf_errmsg (-1));
  
    /* Finalize the string table and fill in the correct indices in the
       section headers.  */
-@@ -1185,20 +1209,20 @@ handle_elf (int fd, Elf *elf, const char
+@@ -1177,20 +1201,20 @@ handle_elf (int fd, Elf *elf, const char
                    shndxdata = elf_getdata (shdr_info[shdr_info[cnt].symtab_idx].scn,
                                             NULL);
  
                            >= shdr_info[cnt].data->d_size / elsize);
                  }
  
-@@ -1253,7 +1277,7 @@ handle_elf (int fd, Elf *elf, const char
+@@ -1245,7 +1269,7 @@ handle_elf (int fd, Elf *elf, const char
                      sec = shdr_info[sym->st_shndx].idx;
                    else
                      {
  
                        sec = shdr_info[xshndx].idx;
                      }
-@@ -1274,7 +1298,7 @@ handle_elf (int fd, Elf *elf, const char
+@@ -1266,7 +1290,7 @@ handle_elf (int fd, Elf *elf, const char
                            nxshndx = sec;
                          }
  
  
                        if ((inner != destidx || nshndx != sym->st_shndx
                             || (shndxdata != NULL && nxshndx != xshndx))
-@@ -1301,9 +1325,11 @@ handle_elf (int fd, Elf *elf, const char
+@@ -1293,9 +1317,11 @@ handle_elf (int fd, Elf *elf, const char
                      {
                        size_t sidx = (sym->st_shndx != SHN_XINDEX
                                        ? sym->st_shndx : xshndx);
                      }
                  }
  
-@@ -1491,11 +1517,11 @@ handle_elf (int fd, Elf *elf, const char
+@@ -1483,11 +1509,11 @@ handle_elf (int fd, Elf *elf, const char
                  {
                    GElf_Sym sym_mem;
                    GElf_Sym *sym = gelf_getsym (symd, inner, &sym_mem);
                    size_t hidx = elf_hash (name) % nbucket;
  
                    if (bucket[hidx] == 0)
-@@ -1514,8 +1540,8 @@ handle_elf (int fd, Elf *elf, const char
+@@ -1506,8 +1532,8 @@ handle_elf (int fd, Elf *elf, const char
            else
              {
                /* Alpha and S390 64-bit use 64-bit SHT_HASH entries.  */
  
                Elf64_Xword *bucket = (Elf64_Xword *) hashd->d_buf;
  
-@@ -1545,11 +1571,11 @@ handle_elf (int fd, Elf *elf, const char
+@@ -1537,11 +1563,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-upstream.patch b/elfutils-upstream.patch
deleted file mode 100644 (file)
index bf209e7..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-commit 738c18312e0db36dce5e1cd2cddaf66eb8947f1a
-Author: Roland McGrath <roland@hack.frob.com>
-Date:   Wed Mar 28 15:01:49 2012 -0700
-
-    elflint: Accept SHF_INFO_LINK for reloc sections.
-
-commit 191d1f0b9163593eee8c4f5cbe3e95cabf6ae9a9
-Author: Mark Wielaard <mjw@redhat.com>
-Date:   Mon Apr 2 17:11:25 2012 +0200
-
-    elf32_offscn.c: Do not match SHT_NOBITS sections at OFFSET.
-    
-    readelf -d doesn't work if a SHT_NOBITS section is right before the actual
-    .dynamic section at the same offset. elflint also fails on such binaries.
-    So skip SHT_NOBITS sections at the same offset in [g]elf[32|64]_offscn().
-
-diff --git a/src/elflint.c b/src/elflint.c
-index abca8b7..a03caac 100644
---- a/src/elflint.c
-+++ b/src/elflint.c
-@@ -3357,8 +3357,8 @@ static const struct
-     { ".note", 6, SHT_NOTE, atleast, 0, SHF_ALLOC },
-     { ".plt", 5, SHT_PROGBITS, unused, 0, 0 }, // XXX more tests
-     { ".preinit_array", 15, SHT_PREINIT_ARRAY, exact, SHF_ALLOC | SHF_WRITE, 0 },
--    { ".rela", 5, SHT_RELA, atleast, 0, SHF_ALLOC }, // XXX more tests
--    { ".rel", 4, SHT_REL, atleast, 0, SHF_ALLOC }, // XXX more tests
-+    { ".rela", 5, SHT_RELA, atleast, 0, SHF_ALLOC | SHF_INFO_LINK }, // XXX more tests
-+    { ".rel", 4, SHT_REL, atleast, 0, SHF_ALLOC | SHF_INFO_LINK }, // XXX more tests
-     { ".rodata", 8, SHT_PROGBITS, atleast, SHF_ALLOC, SHF_MERGE | SHF_STRINGS },
-     { ".rodata1", 9, SHT_PROGBITS, atleast, SHF_ALLOC, SHF_MERGE | SHF_STRINGS },
-     { ".shstrtab", 10, SHT_STRTAB, exact, 0, 0 },
-diff --git a/libelf/elf32_offscn.c b/libelf/elf32_offscn.c
-index 86eff8b..5dcfc4a 100644
---- a/libelf/elf32_offscn.c
-+++ b/libelf/elf32_offscn.c
-@@ -101,7 +101,8 @@ elfw2(LIBELFBITS,offscn) (elf, offset)
-           /* If this section is empty, the following one has the same
-              sh_offset.  We presume the caller is looking for a nonempty
-              section, so keep looking if this one is empty.  */
--          if (runp->data[i].shdr.ELFW(e,LIBELFBITS)->sh_size != 0)
-+          if (runp->data[i].shdr.ELFW(e,LIBELFBITS)->sh_size != 0
-+              && runp->data[i].shdr.ELFW(e,LIBELFBITS)->sh_type != SHT_NOBITS)
-             goto out;
-         }
index 3e18508b2a5c665d5170b0782fadd967f5ba38d3..940f9db31c0cf4c227cf3626ae56ba94416d0475 100644 (file)
@@ -5,12 +5,12 @@
 Summary:       A collection of utilities and DSOs to handle compiled objects
 Summary(pl.UTF-8):     Zestaw narzędzi i bibliotek do obsługi skompilowanych obiektów
 Name:          elfutils
-Version:       0.153
-Release:       2
-License:       GPL v2 with OSL linking exception
+Version:       0.155
+Release:       1
+License:       GPL v2+ or LGPL v3+ (libraries), GPL v3+ (programs)
 Group:         Development/Tools
 Source0:       https://fedorahosted.org/releases/e/l/elfutils/%{version}/%{name}-%{version}.tar.bz2
-# Source0-md5: 289a146182bc29f0236eaa15d8ebdf98
+# Source0-md5: 163a5712b86f6bdfebdf233cc6e2192d
 Patch0:                %{name}-pl.po.patch
 Patch1:                %{name}-debian-manpages.patch
 Patch2:                %{name}-portability.patch
@@ -21,7 +21,7 @@ Patch6:               %{name}-sparc.patch
 Patch7:                %{name}-inline.patch
 Patch8:                %{name}-scanf.patch
 Patch9:                %{name}-strings_c.patch
-Patch10:       %{name}-upstream.patch
+Patch10:       %{name}-am.patch
 URL:           https://fedorahosted.org/elfutils/
 BuildRequires: autoconf >= 2.63
 BuildRequires: automake >= 1:1.8
@@ -154,9 +154,10 @@ programowalny interfejs asemblera.
 %{__rm} po/stamp-po
 
 # temporarily disable test failing on specific archs
-%ifarch alpha
-%{__perl} -pi -e 's/run-elflint-self.sh//' tests/Makefile
-%endif
+# - as for 0.155/binutils-2.23.52.0.1 this fails also on x86
+#ifarch alpha
+%{__perl} -pi -e 's/run-elflint-self.sh//' tests/Makefile.am
+#endif
 
 %build
 #%%{__gettextize}
@@ -206,7 +207,7 @@ rm -rf $RPM_BUILD_ROOT
 
 %files
 %defattr(644,root,root,755)
-%doc AUTHORS EXCEPTION NEWS NOTES README THANKS TODO
+%doc AUTHORS CONTRIBUTING ChangeLog NEWS NOTES README THANKS TODO
 %attr(755,root,root) %{_bindir}/eu-*
 %attr(755,root,root) %{_libdir}/libasm-*.so
 %attr(755,root,root) %ghost %{_libdir}/libasm.so.1
This page took 0.399787 seconds and 4 git commands to generate.