blob: 1b512637a26b0fda51eba7bf7229ba7b17558084 [file] [log] [blame]
Ulrich Drepperb08d5a82005-07-26 05:00:05 +00001# -*- rpm-spec-*-
2%define fake 0
3Summary: A collection of utilities and DSOs to handle compiled objects.
4Name: elfutils
5Version: @PACKAGE_VERSION@
6Release: 1
7%if %{fake}
8License: GPL
9%else
10License: OSL
11%endif
12Group: Development/Tools
13#URL: file://home/devel/drepper/
14Source: elfutils-%{version}.tar.gz
15Obsoletes: libelf libelf-devel
16Requires: elfutils-libelf = %{version}-%{release}
17%if %{fake}
18Requires: binutils >= 2.14.90.0.4-26.2
19%endif
20Requires: glibc >= 2.3.1-2
21
22# ExcludeArch: xxx
23
24BuildRoot: %{_tmppath}/%{name}-root
25BuildRequires: gcc >= 3.4
26BuildRequires: bison >= 1.875
27BuildRequires: flex >= 2.5.4a
28BuildRequires: bzip2
29
30%define _gnu %{nil}
31%define _programprefix eu-
32
33%description
34Elfutils is a collection of utilities, including ld (a linker),
35nm (for listing symbols from object files), size (for listing the
36section sizes of an object or archive file), strip (for discarding
37symbols), readelf (to see the raw ELF file structures), and elflint
38(to check for well-formed ELF files). Also included are numerous
39helper libraries which implement DWARF, ELF, and machine-specific ELF
40handling.
41
42%package devel
43Summary: Development libraries to handle compiled objects.
44Group: Development/Tools
45%if %{fake}
46License: GPL
47%else
48License: OSL
49%endif
50Requires: elfutils = %{version}-%{release}
51Requires: elfutils-libelf-devel = %{version}-%{release}
52
53%description devel
54The elfutils-devel package contains the libraries to create
55applications for handling compiled objects. libebl provides some
56higher-level ELF access functionality. libdw provides access to
57the DWARF debugging information. libasm provides a programmable
58assembler interface.
59
60%package libelf
61Summary: Library to read and write ELF files.
62Group: Development/Tools
63%if %{fake}
64License: GPL
65%endif
66
67%description libelf
68The elfutils-libelf package provides a DSO which allows reading and
69writing ELF files on a high level. Third party programs depend on
70this package to read internals of ELF files. The programs of the
71elfutils package use it also to generate new ELF files.
72
73%package libelf-devel
74Summary: Development support for libelf
75Group: Development/Tools
76Requires: elfutils-libelf = %{version}-%{release}
77Conflicts: libelf-devel
78%if %{fake}
79License: GPL
80%endif
81
82%description libelf-devel
83The elfutils-libelf-devel package contains the libraries to create
84applications for handling compiled objects. libelf allows you to
85access the internals of the ELF object file format, so you can see the
86different sections of an ELF file.
87
88%prep
89%setup -q
90
91%build
92%configure --program-prefix=%{_programprefix}
93make
94
95%install
96rm -rf ${RPM_BUILD_ROOT}
97mkdir -p ${RPM_BUILD_ROOT}%{_prefix}
98
99%makeinstall
100
101chmod +x ${RPM_BUILD_ROOT}%{_prefix}/%{_lib}/lib*.so*
102%if !%{fake}
103chmod +x ${RPM_BUILD_ROOT}%{_prefix}/%{_lib}/elfutils/lib*.so*
104%endif
105
106%if !%{fake}
107# XXX Nuke unpackaged files
108{ cd ${RPM_BUILD_ROOT}
109 rm -f .%{_bindir}/eu-ld
110 rm -f .%{_includedir}/elfutils/libasm.h
111 rm -f .%{_libdir}/libasm-%{version}.so
112 rm -f .%{_libdir}/libasm.so.*
113 rm -f .%{_libdir}/libasm.so
114 rm -f .%{_libdir}/libasm.a
115}
116%endif
117
118%check
119make check
120
121%clean
122rm -rf ${RPM_BUILD_ROOT}
123
124%post -p /sbin/ldconfig
125
126%postun -p /sbin/ldconfig
127
128%post libelf -p /sbin/ldconfig
129
130%postun libelf -p /sbin/ldconfig
131
132%files
133%defattr(-,root,root)
134%doc README TODO
135%if %{fake}
136%doc fake-src/FULL
137%endif
138%{_bindir}/eu-elflint
139%{_bindir}/eu-nm
140%{_bindir}/eu-readelf
141%{_bindir}/eu-size
142%{_bindir}/eu-strip
143%{_bindir}/eu-findtextrel
144%{_bindir}/eu-addr2line
145%{_bindir}/eu-elfcmp
Ulrich Drepperfbe998a2005-08-29 16:27:10 +0000146%{_bindir}/eu-ranlib
147%{_bindir}/eu-strings
Ulrich Drepperb08d5a82005-07-26 05:00:05 +0000148%if !%{fake}
149#%{_bindir}/eu-ld
150#%{_libdir}/libasm-%{version}.so
151%{_libdir}/libdw-%{version}.so
Ulrich Drepperb08d5a82005-07-26 05:00:05 +0000152#%{_libdir}/libasm.so.*
153%{_libdir}/libdw.so.*
Ulrich Drepperb08d5a82005-07-26 05:00:05 +0000154%dir %{_libdir}/elfutils
155%{_libdir}/elfutils/lib*.so
156%endif
157
158%files devel
159%defattr(-,root,root)
160%{_includedir}/dwarf.h
161%dir %{_includedir}/elfutils
162%{_includedir}/elfutils/elf-knowledge.h
163%if !%{fake}
164%{_includedir}/elfutils/libebl.h
165%{_includedir}/elfutils/libdw.h
166%{_includedir}/elfutils/libdwfl.h
167#%{_libdir}/libasm.a
168%{_libdir}/libebl.a
169%{_libdir}/libdw.a
Ulrich Drepperb08d5a82005-07-26 05:00:05 +0000170#%{_libdir}/libasm.so
171%{_libdir}/libdw.so
Ulrich Drepperb08d5a82005-07-26 05:00:05 +0000172%endif
173
174%files libelf
175%defattr(-,root,root)
176%{_libdir}/libelf-%{version}.so
177%{_libdir}/libelf.so.*
178
179%files libelf-devel
180%defattr(-,root,root)
181%{_includedir}/libelf.h
182%{_includedir}/gelf.h
183%{_includedir}/nlist.h
184%{_libdir}/libelf.a
185%{_libdir}/libelf.so
186
187%changelog
Ulrich Dreppercf18d522005-10-31 20:19:31 +0000188* Mon Oct 31 2005 Ulrich Drepper <drepper@redhat.com> 0.116-1
189- libdw: New functions dwarf_ranges, dwarf_entrypc, dwarf_diecu, d
190warf_entry_breakpoints. Removed Dwarf_Func type and functions d
191warf_func_name, dwarf_func_lowpc, dwarf_func_highpc, dwarf_func_
192entrypc, dwarf_func_die; dwarf_getfuncs callback now uses Dwarf_
193Die, and dwarf_func_file, dwarf_func_line, dwarf_func_col replac
194ed by dwarf_decl_file, dwarf_decl_line, dwarf_decl_column; dwarf
195_func_inline, dwarf_func_inline_instances now take Dwarf_Die. Ty
196pe Dwarf_Loc renamed to Dwarf_Op; dwarf_getloclist, dwarf_addrlo
197clists renamed dwarf_getlocation, dwarf_getlocation_addr.
198
Ulrich Drepper3bbc9502005-09-02 20:29:56 +0000199* Fri Sep 2 2005 Ulrich Drepper <drepper@redhat.com> 0.115-1
200- libelf: speed-ups of non-mmap reading.
201- strings: New program.
202- Implement --enable-gcov option for configure.
203- libdw: New function dwarf_getscopes_die.
204
Ulrich Drepper958bf132005-08-24 21:40:55 +0000205* Wed Aug 24 2005 Ulrich Drepper <drepper@redhat.com> 0.114-1
206- libelf: new function elf_getaroff
207- libdw: Added dwarf_func_die, dwarf_func_inline, dwarf_func_inline_inst
208ances.
209- libdwfl: New functions dwfl_report_offline, dwfl_offline_section_addre
210ss, dwfl_linux_kernel_report_offline.
211- ranlib: new program
212
Ulrich Dreppere48c05b2005-08-15 21:47:33 +0000213* Mon Aug 15 2005 Ulrich Drepper <drepper@redhat.com> 0.114-1
214- libelf: new function elf_getaroff
215- ranlib: new program
216
Ulrich Drepperc5c33a62005-08-13 17:50:47 +0000217* Wed Aug 10 2005 Ulrich Drepper <@redhat.com> 0.113-1
218- elflint: relax a bit. Allow version definitions for defined symbols ag
Ulrich Drepperfbe998a2005-08-29 16:27:10 +0000219ainstDSO versions also for symbols in nobits sections. Allow .rodata
Ulrich Drepperc5c33a62005-08-13 17:50:47 +0000220sectionto have STRINGS and MERGE flag set.
221- strip: add some more compatibility with binutils.
222
Ulrich Drepper637963b2005-08-07 05:33:07 +0000223* Sat Aug 6 2005 Ulrich Drepper <@redhat.com> 0.113-1
224- elflint: relax a bit. Allow version definitions for defined symbols ag
Ulrich Drepperfbe998a2005-08-29 16:27:10 +0000225ainstDSO versions also for symbols in nobits sections. Allow .rodata
Ulrich Drepper637963b2005-08-07 05:33:07 +0000226sectionto have STRINGS and MERGE flag set.
227
228* Sat Aug 6 2005 Ulrich Drepper <@redhat.com> 0.113-1
229- elflint: relax a bit. Allow version definitions for defined symbols ag
230ainstDSO versions also for symbols in nobits sections.
231
Ulrich Drepperca2db8a2005-08-06 06:44:50 +0000232* Fri Aug 5 2005 Ulrich Drepper <@redhat.com> 0.112-1
233- elfcmp: some more relaxation.
234- elflint: many more tests, especially regarding to symbol versioning.
235- libelf: Add elfXX_offscn and gelf_offscn.
236- libasm: asm_begin interface changes.
237- libebl: Add three new interfaces to directly access machine, class, an
238ddata encoding information.
239- objdump: New program. Just the beginning.
240
Ulrich Drepper282bf322005-07-28 21:49:05 +0000241* Thu Jul 28 2005 Ulrich Drepper <@redhat.com> 0.111-1
242- libdw: now contains all of libdwfl. The latter is not installed anymore.
243- elfcmp: little usability tweak, name and index of differing section is
244 printed.
Roland McGrath5a765672005-07-28 09:12:43 +0000245
Ulrich Drepperb08d5a82005-07-26 05:00:05 +0000246* Sun Jul 24 2005 Ulrich Drepper <@redhat.com> 0.110-1
247- libelf: fix a numbe rof problems with elf_update
248- elfcmp: fix a few bugs. Compare gaps.
249- Fix a few PLT problems and mudflap build issues.
250- libebl: Don't expose Ebl structure definition in libebl.h. It's now p
251rivate.
252
253* Thu Jul 21 2005 Ulrich Drepper <@redhat.com> 0.109-1
254- libebl: Check for matching modules.
255- elflint: Check that copy relocations only happen for OBJECT or NOTYPE
256symbols.
257- elfcmp: New program.
258- libdwfl: New library.
259
260* Mon May 9 2005 Ulrich Drepper <@redhat.com> 0.108-1
261- strip: fix bug introduced in last change
262- libdw: records returned by dwarf_getsrclines are now sorted by address
263
264* Sun May 8 2005 Ulrich Drepper <@redhat.com> 0.108-1
265- strip: fix bug introduced in last change
266
267* Sun May 8 2005 Ulrich Drepper <@redhat.com> 0.107-1
268- readelf: improve DWARF output format
269- strip: support Linux kernel modules
270
271* Fri Apr 29 2005 Ulrich Drepper <drepper@redhat.com> 0.107-1
272- readelf: improve DWARF output format
273
274* Mon Apr 4 2005 Ulrich Drepper <drepper@redhat.com> 0.106-1
275- libdw: Updated dwarf.h from DWARF3 speclibdw: add new funtions dwarf_f
276unc_entrypc, dwarf_func_file, dwarf_func_line,dwarf_func_col, dwarf_ge
277tsrc_file
278
279* Fri Apr 1 2005 Ulrich Drepper <drepper@redhat.com> 0.105-1
280- addr2line: New program
281- libdw: add new functions: dwarf_addrdie, dwarf_macro_*, dwarf_getfuncs
282,dwarf_func_*.
283- findtextrel: use dwarf_addrdie
284
285* Mon Mar 28 2005 Ulrich Drepper <drepper@redhat.com> 0.104-1
286- findtextrel: New program.
287
288* Mon Mar 21 2005 Ulrich Drepper <drepper@redhat.com> 0.103-1
289- libdw: Fix using libdw.h with gcc < 4 and C++ code. Compiler bug.
290
291* Tue Feb 22 2005 Ulrich Drepper <drepper@redhat.com> 0.102-1
292- More Makefile and spec file cleanups.
293
294* Fri Jan 16 2004 Jakub Jelinek <jakub@redhat.com> 0.94-1
295- upgrade to 0.94
296
297* Fri Jan 16 2004 Jakub Jelinek <jakub@redhat.com> 0.93-1
298- upgrade to 0.93
299
300* Thu Jan 8 2004 Jakub Jelinek <jakub@redhat.com> 0.92-1
301- full version
302- macroized spec file for GPL or OSL builds
303- include only libelf under GPL plus wrapper scripts
304
305* Wed Jan 7 2004 Jakub Jelinek <jakub@redhat.com> 0.91-2
306- macroized spec file for GPL or OSL builds
307
308* Wed Jan 7 2004 Ulrich Drepper <drepper@redhat.com>
309- split elfutils-devel into two packages.
310
311* Wed Jan 7 2004 Jakub Jelinek <jakub@redhat.com> 0.91-1
312- include only libelf under GPL plus wrapper scripts
313
314* Tue Dec 23 2003 Jeff Johnson <jbj@redhat.com> 0.89-3
315- readelf, not readline, in %%description (#111214).
316
317* Fri Sep 26 2003 Bill Nottingham <notting@redhat.com> 0.89-1
318- update to 0.89 (fix eu-strip)
319
320* Tue Sep 23 2003 Jakub Jelinek <jakub@redhat.com> 0.86-3
321- update to 0.86 (fix eu-strip on s390x/alpha)
322- libebl is an archive now; remove references to DSO
323
324* Mon Jul 14 2003 Jeff Johnson <jbj@redhat.com> 0.84-3
325- upgrade to 0.84 (readelf/elflint improvements, rawhide bugs fixed).
326
327* Fri Jul 11 2003 Jeff Johnson <jbj@redhat.com> 0.83-3
328- upgrade to 0.83 (fix invalid ELf handle on *.so strip, more).
329
330* Wed Jul 9 2003 Jeff Johnson <jbj@redhat.com> 0.82-3
331- upgrade to 0.82 (strip tests fixed on big-endian).
332
333* Tue Jul 8 2003 Jeff Johnson <jbj@redhat.com> 0.81-3
334- upgrade to 0.81 (strip excludes unused symtable entries, test borked).
335
336* Thu Jun 26 2003 Jeff Johnson <jbj@redhat.com> 0.80-3
337- upgrade to 0.80 (debugedit changes for kernel in progress).
338
339* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com>
340- rebuilt
341
342* Wed May 21 2003 Jeff Johnson <jbj@redhat.com> 0.79-2
343- upgrade to 0.79 (correct formats for size_t, more of libdw "works").
344
345* Mon May 19 2003 Jeff Johnson <jbj@redhat.com> 0.78-2
346- upgrade to 0.78 (libdwarf bugfix, libdw additions).
347
348* Mon Feb 24 2003 Elliot Lee <sopwith@redhat.com>
349- debuginfo rebuild
350
351* Thu Feb 20 2003 Jeff Johnson <jbj@redhat.com> 0.76-2
352- use the correct way of identifying the section via the sh_info link.
353
354* Sat Feb 15 2003 Jakub Jelinek <jakub@redhat.com> 0.75-2
355- update to 0.75 (eu-strip -g fix)
356
357* Tue Feb 11 2003 Jakub Jelinek <jakub@redhat.com> 0.74-2
358- update to 0.74 (fix for writing with some non-dirty sections)
359
360* Thu Feb 6 2003 Jeff Johnson <jbj@redhat.com> 0.73-3
361- another -0.73 update (with sparc fixes).
362- do "make check" in %%check, not %%install, section.
363
364* Mon Jan 27 2003 Jeff Johnson <jbj@redhat.com> 0.73-2
365- update to 0.73 (with s390 fixes).
366
367* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
368- rebuilt
369
370* Wed Jan 22 2003 Jakub Jelinek <jakub@redhat.com> 0.72-4
371- fix arguments to gelf_getsymshndx and elf_getshstrndx
372- fix other warnings
373- reenable checks on s390x
374
375* Sat Jan 11 2003 Karsten Hopp <karsten@redhat.de> 0.72-3
376- temporarily disable checks on s390x, until someone has
377 time to look at it
378
379* Thu Dec 12 2002 Jakub Jelinek <jakub@redhat.com> 0.72-2
380- update to 0.72
381
382* Wed Dec 11 2002 Jakub Jelinek <jakub@redhat.com> 0.71-2
383- update to 0.71
384
385* Wed Dec 11 2002 Jeff Johnson <jbj@redhat.com> 0.69-4
386- update to 0.69.
387- add "make check" and segfault avoidance patch.
388- elfutils-libelf needs to run ldconfig.
389
390* Tue Dec 10 2002 Jeff Johnson <jbj@redhat.com> 0.68-2
391- update to 0.68.
392
393* Fri Dec 6 2002 Jeff Johnson <jbj@redhat.com> 0.67-2
394- update to 0.67.
395
396* Tue Dec 3 2002 Jeff Johnson <jbj@redhat.com> 0.65-2
397- update to 0.65.
398
399* Mon Dec 2 2002 Jeff Johnson <jbj@redhat.com> 0.64-2
400- update to 0.64.
401
402* Sun Dec 1 2002 Ulrich Drepper <drepper@redhat.com> 0.64
403- split packages further into elfutils-libelf
404
405* Sat Nov 30 2002 Jeff Johnson <jbj@redhat.com> 0.63-2
406- update to 0.63.
407
408* Fri Nov 29 2002 Ulrich Drepper <drepper@redhat.com> 0.62
409- Adjust for dropping libtool
410
411* Sun Nov 24 2002 Jeff Johnson <jbj@redhat.com> 0.59-2
412- update to 0.59
413
414* Thu Nov 14 2002 Jeff Johnson <jbj@redhat.com> 0.56-2
415- update to 0.56
416
417* Thu Nov 7 2002 Jeff Johnson <jbj@redhat.com> 0.54-2
418- update to 0.54
419
420* Sun Oct 27 2002 Jeff Johnson <jbj@redhat.com> 0.53-2
421- update to 0.53
422- drop x86_64 hack, ICE fixed in gcc-3.2-11.
423
424* Sat Oct 26 2002 Jeff Johnson <jbj@redhat.com> 0.52-3
425- get beehive to punch a rhpkg generated package.
426
427* Wed Oct 23 2002 Jeff Johnson <jbj@redhat.com> 0.52-2
428- build in 8.0.1.
429- x86_64: avoid gcc-3.2 ICE on x86_64 for now.
430
431* Tue Oct 22 2002 Ulrich Drepper <drepper@redhat.com> 0.52
432- Add libelf-devel to conflicts for elfutils-devel
433
434* Mon Oct 21 2002 Ulrich Drepper <drepper@redhat.com> 0.50
435- Split into runtime and devel package
436
437* Fri Oct 18 2002 Ulrich Drepper <drepper@redhat.com> 0.49
438- integrate into official sources
439
440* Wed Oct 16 2002 Jeff Johnson <jbj@redhat.com> 0.46-1
441- Swaddle.