File libdwarf.spec of Package libdwarf
#
# spec file for package libdwarf (Version 20080409)
#
# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
# Please submit bugfixes or comments via http://bugs.opensuse.org/
#
# norootforbuild
Name: libdwarf
Url: http://reality.sgiweb.org/davea/dwarf.html
Summary: Documentation for libdwarf
Version: 20080409
Release: 1
License: GPL v2 or later
Group: System/Libraries
Source: libdwarf-%{version}.tar.gz
Patch0: libdwarf-add-dwarfextract
BuildRoot: %{_tmppath}/%{name}-%{version}-build
BuildRequires: binutils-devel libelf-devel
%description
Documentation for libdwarf.
Authors:
--------
David Anderson <davea42@earthlink.net>
%package devel
Summary: Static libraries of libdwarf
Group: System/Libraries
AutoReqProv: on
PreReq: %install_info_prereq
License: LGPL v2.1 or later
Requires: %{name} = %{version}
%description devel
Contains the static libraries and header files of libdwarf.
Libdwarf is a library of functions to provide creation of DWARF
debugging information records, DWARF line number information, DWARF
address range and pubnames information, weak names information, and
DWARF frame description information.
Authors:
--------
David Anderson <davea42@earthlink.net>
%package tools
Summary: Access DWARF debugging information
Group: System/Libraries
AutoReqProv: on
PreReq: %install_info_prereq
License: LGPL v2.1 or later
%description tools
Library of functions to provide creation of DWARF debugging information
records, DWARF line number information, DWARF address range and
pubnames information, weak names information, and DWARF frame
description information.
Authors:
--------
David Anderson <davea42@earthlink.net>
%package doc
Summary: DWARF-related tools
Group: System/Libraries
AutoReqProv: on
PreReq: %install_info_prereq
%description doc
Contains dwarfdump, a tool to access DWARF debug information.
Authors:
--------
David Anderson <davea42@earthlink.net>
%prep
%setup -q -n dwarf-%{version}
%patch0 -p1
%build
export CFLAGS="$RPM_OPT_FLAGS"
cd libdwarf
CFLAGS="$CFLAGS -fPIC" %configure --enable-shared --disable-nonshared
make
cd -
cd dwarfdump
%configure
make
%install
mkdir -p %{buildroot}%{_libdir}
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_includedir}/libdwarf
install -m 0644 libdwarf/libdwarf.so* %{buildroot}%{_libdir}
install -m 0755 dwarfdump/dwarfdump %{buildroot}%{_bindir}
install -m 0755 dwarfdump/dwarfextract %{buildroot}%{_bindir}
install -m 0644 libdwarf/libdwarf.h %{buildroot}%{_includedir}/libdwarf
install -m 0644 libdwarf/dwarf.h %{buildroot}%{_includedir}/libdwarf
%clean
rm -rf %{buildroot}
%post -n libdwarf -p /sbin/ldconfig
%postun -n libdwarf -p /sbin/ldconfig
%files
%defattr(-,root,root)
%{_libdir}/libdwarf.*so
%files devel
%defattr(-,root,root)
%{_includedir}/libdwarf
%files tools
%defattr(-,root,root)
%{_bindir}/dwarfdump
%{_bindir}/dwarfextract
%doc ./dwarfdump/README
%files doc
%defattr(-,root,root)
%doc libdwarf/*.pdf
%doc ./libdwarf/README
%changelog
* Fri Jan 25 2008 dgollub@suse.de
- removed README.SUSE, which contained obsolate information about
shared library and versioning.
- update to 20080125
o producer interface:
dwarf_die_link() is now O(1) where it was O(N) before.
* Tue Dec 11 2007 dgollub@suse.de
- building shared lib (instead of static)
- added LD_LIBRARY_PATH to dwarfdump Makefile, since it runs
something within the build which is linked against libdwarf.
- update to 20071209
o Renamed 4 functions so they are now exported by libdwarf as dwarf_*:
dwarf_fde_section_offset(), dwarf_cie_section_offset(),
dwarf_print_lines(), and dwarf_ld_sort_lines() are the new names.
o The old _dwarf_* names are still supported in libdwarf.h but anyone
building a shared library could choose to export only dwarf_* names
and dwarfdump will now compile and link successfully with that shared
library.
o Added acceptance of .eh_frame S augmentation
o Updated config.guess config.sub to latest (2006-11-15)
o Added configure tests and some code in dwarf_incl.h and globals.h
to define _GNU_SOURCE so that it will all compile with recent libelf.h
use of off64_t (yet still compile with earlier libelf.h)
- updated to 20071016
o dwarf_siblingof() could try to access a byte past the
end of an Elf section leading to a coredump.
o The dwarf macro reading code could (in the DWARF_SIMPLE_MALLOC
case only) allocate and free memory inconsistently leading to
malloc arena corruption.
(updated to 20071015)
o The special build macro DWARF_SIMPLE_MALLOC was incorrectly
implemented (now fixed): it could lead builds employing that
macro to coredump in libdwarf. Now (just before exit) dwarfdump
free()s some space it previously left mallocd.
(updated to 20070904)
o Added qualifier for DWARF4 DW_AT_high_pc where applicable in
dwarfdump output.
o Added documentation of new producer functions in libdwarf.
o Misc: Updated FSF address everywhere. Deleted 2 files which
were never used.
* Sat Jul 21 2007 bwalle@suse.de
- add 'dwarfextract' from lkcdutils to libdwarf-tools since
we only distribute 'lcrash' from lkcdutils now
* Sat Jul 21 2007 bwalle@suse.de
- updated to 20070703
o Adding new libdwarf function dwarf_get_loclist_entry() to
extract CFA val_expression bytes usefully.
o dwarfdump now uses that info to print those expression bytes
with -v
o DW_CFA_val_expression was handled wrong in libdwarf leading
eventually to an invalid register number reading a GNU
.eh_frame section (dwarfdump reported an error).
* Mon Jun 04 2007 bwalle@suse.de
- initial package