Compare commits
131 Commits
Author | SHA1 | Date |
---|---|---|
Fedora Release Engineering | f22bd588de | |
roland | a420134d00 | |
Bill Nottingham | f255bd8148 | |
roland | 4fe10e3a66 | |
roland | d7048fd736 | |
roland | e4cdb0bd9e | |
Tom Callaway | 4bd0329cd3 | |
roland | a6ac629554 | |
roland | 08b5681dd8 | |
roland | 7ecb9b4fbf | |
roland | c8e99b36aa | |
roland | 0b6e51d617 | |
roland | f6dcaea931 | |
roland | f82c9bce42 | |
Jesse Keating | cbdd80d48b | |
roland | e9921c8bd1 | |
roland | 7c00e73df6 | |
roland | 61ea20cb33 | |
roland | aae552b165 | |
roland | 7ecb3ee6a0 | |
roland | b1b6db7572 | |
roland | 7f96a312c1 | |
roland | 48541a3969 | |
roland | c233116b35 | |
roland | 5b81377323 | |
roland | 6143949d66 | |
roland | 00f0d21690 | |
roland | 3193ac1575 | |
roland | 975a083f66 | |
roland | 13b94e9542 | |
roland | 2fa04c0a17 | |
roland | c252add8b1 | |
roland | 78a5501e48 | |
roland | 694a1332d8 | |
roland | 23355783ec | |
roland | 4a88b3dba1 | |
roland | 8763674e9b | |
roland | 326459b85b | |
roland | b8d2cf66c0 | |
roland | b6fcd668c6 | |
roland | 0546ba46d3 | |
roland | cebf7161bd | |
roland | 0efb9d2b64 | |
roland | 21a05c76f8 | |
roland | b3382b9be4 | |
roland | 57cea9040b | |
roland | dd9715e843 | |
aoliva | 9fbe0ada96 | |
roland | 99289b528e | |
roland | d93f4f706d | |
roland | 5526d0b1fb | |
roland | d0fc231220 | |
roland | 5ca70bfc0b | |
roland | ae50b9b7eb | |
roland | f73b0743a8 | |
roland | b08b0c24e1 | |
roland | acf77d5d2a | |
roland | fd98f05182 | |
roland | a8b63d473f | |
Jesse Keating | 10df867f53 | |
roland | 7b4e27b5c4 | |
roland | 9cc8f4a526 | |
Jeremy Katz | 88f38a0f34 | |
roland | 64fcaf09dc | |
roland | 26b409a292 | |
roland | 9729e74df2 | |
roland | dd4d2004d1 | |
Jesse Keating | ec111043bd | |
Jesse Keating | cee7a0ae56 | |
Jesse Keating | fe17202c70 | |
Jesse Keating | 35e1aaecbf | |
roland | cc9c56e2b3 | |
roland | 27a97c2b74 | |
roland | cacbadc6e0 | |
roland | 18fe67c1fe | |
Jesse Keating | 66b42765d1 | |
roland | 0e1f68bf3e | |
roland | 28d5fbcc06 | |
roland | c4d3dbc660 | |
roland | 37d3ead4a1 | |
roland | 3cd46aabb7 | |
roland | 04c2ad2926 | |
roland | 579730aa5e | |
roland | cb9b2a16fe | |
roland | 91b2218e10 | |
roland | 07e7ea19e0 | |
roland | 5b0d025b5c | |
roland | 77b7f54338 | |
roland | 8c984c09f2 | |
roland | 4af02cf22a | |
roland | 9f0b429d88 | |
fche | b3fc8b2a5b | |
roland | 01b73a574a | |
roland | e39c7bcc9c | |
roland | b504429538 | |
roland | d87ee109c8 | |
roland | f6bdc692ec | |
roland | 62bf5c65f4 | |
roland | 6d45a85a67 | |
roland | a95786f95a | |
roland | 4b0489df66 | |
roland | f3e8192e8b | |
roland | b9eb285936 | |
roland | 06757fcc5c | |
roland | 3d83b53856 | |
roland | 52b13f0b6c | |
roland | a66aa3ef67 | |
roland | 1ac6b2e42e | |
roland | 455bc49077 | |
roland | fe71c192d3 | |
roland | 88db6a6b13 | |
roland | 2728103090 | |
roland | 10316ee7f3 | |
roland | d4a531edf3 | |
roland | b60c5a72ed | |
roland | 8e95b1238c | |
roland | f71f4026a5 | |
roland | 8bd7cac757 | |
roland | 3957ed5247 | |
roland | 6afeb40c0d | |
roland | 00629b72c0 | |
roland | 6a3517ade1 | |
roland | 6a3b889baf | |
roland | f9d2e4ad9f | |
roland | 838091a9ef | |
roland | 57b544d62d | |
roland | bb6522ee4e | |
roland | 2c9c7d12ef | |
roland | aaef36a52f | |
roland | 2b510d605c | |
roland | 76905ff5ba |
|
@ -1 +0,0 @@
|
|||
elfutils-0.106.tar.gz
|
|
@ -0,0 +1 @@
|
|||
elfutils-0.137.tar.gz
|
6
Makefile
6
Makefile
|
@ -1,6 +0,0 @@
|
|||
# Makefile for source rpm: elfutils
|
||||
# $Id$
|
||||
NAME := elfutils
|
||||
SPECFILE = $(firstword $(wildcard *.spec))
|
||||
|
||||
include ../common/Makefile.common
|
|
@ -0,0 +1,174 @@
|
|||
--- elfutils-0.137/libdwfl/ChangeLog
|
||||
+++ elfutils-0.137/libdwfl/ChangeLog
|
||||
@@ -1,3 +1,17 @@
|
||||
+2008-09-29 Roland McGrath <roland@redhat.com>
|
||||
+
|
||||
+ * segment.c (insert): Must realloc DWFL->lookup_module here too.
|
||||
+ (dwfl_report_segment): Clear DWFL->lookup_module before insert calls.
|
||||
+
|
||||
+2008-08-28 Roland McGrath <roland@redhat.com>
|
||||
+
|
||||
+ * segment.c (reify_segments): Fix last change.
|
||||
+
|
||||
+2008-08-27 Roland McGrath <roland@redhat.com>
|
||||
+
|
||||
+ * linux-proc-maps.c (read_proc_memory): Return 0 for EINVAL or EPERM
|
||||
+ failure from pread64.
|
||||
+
|
||||
2008-08-26 Roland McGrath <roland@redhat.com>
|
||||
|
||||
* segment.c (reify_segments): Insert a trailing segment for a module
|
||||
--- elfutils-0.137/libdwfl/linux-proc-maps.c
|
||||
+++ elfutils-0.137/libdwfl/linux-proc-maps.c
|
||||
@@ -267,6 +267,9 @@ read_proc_memory (void *arg, void *data,
|
||||
{
|
||||
const int fd = *(const int *) arg;
|
||||
ssize_t nread = pread64 (fd, data, maxread, (off64_t) address);
|
||||
+ /* Some kernels don't actually let us do this read, ignore those errors. */
|
||||
+ if (nread < 0 && (errno == EINVAL || errno == EPERM))
|
||||
+ return 0;
|
||||
if (nread > 0 && (size_t) nread < minread)
|
||||
nread = 0;
|
||||
return nread;
|
||||
--- elfutils-0.137/libdwfl/segment.c
|
||||
+++ elfutils-0.137/libdwfl/segment.c
|
||||
@@ -83,12 +83,26 @@ insert (Dwfl *dwfl, size_t i, GElf_Addr
|
||||
int *nsegndx = realloc (dwfl->lookup_segndx, sizeof nsegndx[0] * n);
|
||||
if (unlikely (nsegndx == NULL))
|
||||
{
|
||||
- free (naddr);
|
||||
+ if (naddr != dwfl->lookup_addr)
|
||||
+ free (naddr);
|
||||
return true;
|
||||
}
|
||||
dwfl->lookup_alloc = n;
|
||||
dwfl->lookup_addr = naddr;
|
||||
dwfl->lookup_segndx = nsegndx;
|
||||
+
|
||||
+ if (dwfl->lookup_module != NULL)
|
||||
+ {
|
||||
+ /* Make sure this array is big enough too. */
|
||||
+ Dwfl_Module **old = dwfl->lookup_module;
|
||||
+ dwfl->lookup_module = realloc (dwfl->lookup_module,
|
||||
+ sizeof dwfl->lookup_module[0] * n);
|
||||
+ if (unlikely (dwfl->lookup_module == NULL))
|
||||
+ {
|
||||
+ free (old);
|
||||
+ return true;
|
||||
+ }
|
||||
+ }
|
||||
}
|
||||
|
||||
if (unlikely (i < dwfl->lookup_elts))
|
||||
@@ -175,9 +189,17 @@ reify_segments (Dwfl *dwfl)
|
||||
return true;
|
||||
++idx;
|
||||
}
|
||||
+ else if (dwfl->lookup_addr[idx] < start)
|
||||
+ {
|
||||
+ /* The module starts past the end of this segment.
|
||||
+ Add a new one. */
|
||||
+ if (unlikely (insert (dwfl, idx + 1, start, end, -1)))
|
||||
+ return true;
|
||||
+ ++idx;
|
||||
+ }
|
||||
|
||||
- if (((size_t) idx + 1 == dwfl->lookup_elts
|
||||
- || end < dwfl->lookup_addr[idx + 1])
|
||||
+ if ((size_t) idx + 1 < dwfl->lookup_elts
|
||||
+ && end < dwfl->lookup_addr[idx + 1]
|
||||
/* The module ends in the middle of this segment. Split it. */
|
||||
&& unlikely (insert (dwfl, idx + 1,
|
||||
end, dwfl->lookup_addr[idx + 1], -1)))
|
||||
@@ -261,6 +283,12 @@ dwfl_report_segment (Dwfl *dwfl, int ndx
|
||||
phdr->p_align < dwfl->segment_align))
|
||||
dwfl->segment_align = phdr->p_align;
|
||||
|
||||
+ if (unlikely (dwfl->lookup_module != NULL))
|
||||
+ {
|
||||
+ free (dwfl->lookup_module);
|
||||
+ dwfl->lookup_module = NULL;
|
||||
+ }
|
||||
+
|
||||
GElf_Addr start = segment_start (dwfl, bias + phdr->p_vaddr);
|
||||
GElf_Addr end = segment_end (dwfl, bias + phdr->p_vaddr + phdr->p_memsz);
|
||||
|
||||
@@ -289,12 +317,6 @@ dwfl_report_segment (Dwfl *dwfl, int ndx
|
||||
dwfl->lookup_tail_offset = end - bias - phdr->p_vaddr + phdr->p_offset;
|
||||
dwfl->lookup_tail_ndx = ndx + 1;
|
||||
|
||||
- if (unlikely (dwfl->lookup_module != NULL))
|
||||
- {
|
||||
- free (dwfl->lookup_module);
|
||||
- dwfl->lookup_module = NULL;
|
||||
- }
|
||||
-
|
||||
return ndx;
|
||||
}
|
||||
INTDEF (dwfl_report_segment)
|
||||
--- elfutils-0.137/libelf/ChangeLog
|
||||
+++ elfutils-0.137/libelf/ChangeLog
|
||||
@@ -1,3 +1,9 @@
|
||||
+2008-08-27 Roland McGrath <roland@redhat.com>
|
||||
+
|
||||
+ * elf_begin.c (get_shnum): Avoid misaligned reads for matching endian.
|
||||
+
|
||||
+ * libelfP.h [!ALLOW_UNALIGNED] (__libelf_type_align): Fix CLASS index.
|
||||
+
|
||||
2008-08-25 Roland McGrath <roland@redhat.com>
|
||||
|
||||
* Makefile.am (libelf_so_LDLIBS): New variable.
|
||||
--- elfutils-0.137/libelf/elf_begin.c
|
||||
+++ elfutils-0.137/libelf/elf_begin.c
|
||||
@@ -111,7 +111,11 @@ get_shnum (void *map_address, unsigned c
|
||||
bool is32 = e_ident[EI_CLASS] == ELFCLASS32;
|
||||
|
||||
/* Make the ELF header available. */
|
||||
- if (e_ident[EI_DATA] == MY_ELFDATA)
|
||||
+ if (e_ident[EI_DATA] == MY_ELFDATA
|
||||
+ && (ALLOW_UNALIGNED
|
||||
+ || (((size_t) e_ident
|
||||
+ & ((is32 ? __alignof__ (Elf32_Ehdr) : __alignof__ (Elf64_Ehdr))
|
||||
+ - 1)) == 0)))
|
||||
ehdr.p = e_ident;
|
||||
else
|
||||
{
|
||||
@@ -130,8 +134,11 @@ get_shnum (void *map_address, unsigned c
|
||||
else
|
||||
memcpy (&ehdr_mem, e_ident, sizeof (Elf32_Ehdr));
|
||||
|
||||
- CONVERT (ehdr_mem.e32.e_shnum);
|
||||
- CONVERT (ehdr_mem.e32.e_shoff);
|
||||
+ if (e_ident[EI_DATA] != MY_ELFDATA)
|
||||
+ {
|
||||
+ CONVERT (ehdr_mem.e32.e_shnum);
|
||||
+ CONVERT (ehdr_mem.e32.e_shoff);
|
||||
+ }
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -143,8 +150,11 @@ get_shnum (void *map_address, unsigned c
|
||||
else
|
||||
memcpy (&ehdr_mem, e_ident, sizeof (Elf64_Ehdr));
|
||||
|
||||
- CONVERT (ehdr_mem.e64.e_shnum);
|
||||
- CONVERT (ehdr_mem.e64.e_shoff);
|
||||
+ if (e_ident[EI_DATA] != MY_ELFDATA)
|
||||
+ {
|
||||
+ CONVERT (ehdr_mem.e64.e_shnum);
|
||||
+ CONVERT (ehdr_mem.e64.e_shoff);
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
--- elfutils-0.137/libelf/libelfP.h
|
||||
+++ elfutils-0.137/libelf/libelfP.h
|
||||
@@ -460,7 +460,7 @@ extern const uint_fast8_t __libelf_type_
|
||||
version, binary class, and type. */
|
||||
extern const uint_fast8_t __libelf_type_aligns[EV_NUM - 1][ELFCLASSNUM - 1][ELF_T_NUM] attribute_hidden;
|
||||
# define __libelf_type_align(class, type) \
|
||||
- (__libelf_type_aligns[LIBELF_EV_IDX][class][type] ?: 1)
|
||||
+ (__libelf_type_aligns[LIBELF_EV_IDX][class - 1][type] ?: 1)
|
||||
#else
|
||||
# define __libelf_type_align(class, type) 1
|
||||
#endif
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
486
elfutils.spec
486
elfutils.spec
|
@ -1,43 +1,45 @@
|
|||
%define version 0.106
|
||||
%define release 3
|
||||
%define eu_version 0.137
|
||||
%define eu_release 3
|
||||
|
||||
%define gpl 0
|
||||
%if %{?_with_compat:1}%{!?_with_compat:0}
|
||||
%define compat 1
|
||||
%else
|
||||
%define compat 0
|
||||
%endif
|
||||
|
||||
Summary: A collection of utilities and DSOs to handle compiled objects.
|
||||
%if 0%{?fedora} >= 8
|
||||
%define scanf_has_m 1
|
||||
%endif
|
||||
%if 0%{?rhel} >= 6
|
||||
%define scanf_has_m 1
|
||||
%endif
|
||||
|
||||
%if 0%{?fedora} >= 7
|
||||
%define separate_devel_static 1
|
||||
%endif
|
||||
%if 0%{?rhel} >= 6
|
||||
%define separate_devel_static 1
|
||||
%endif
|
||||
|
||||
Summary: A collection of utilities and DSOs to handle compiled objects
|
||||
Name: elfutils
|
||||
Version: %{version}
|
||||
Version: %{eu_version}
|
||||
%if !%{compat}
|
||||
Release: %{release}
|
||||
Release: %{eu_release}%{?dist}
|
||||
%else
|
||||
Release: 0.%{release}
|
||||
%endif
|
||||
%if %{gpl}
|
||||
License: GPL
|
||||
%else
|
||||
License: OSL
|
||||
Release: 0.%{eu_release}
|
||||
%endif
|
||||
License: GPLv2 with exceptions
|
||||
Group: Development/Tools
|
||||
#URL: file://home/devel/drepper/
|
||||
Source: elfutils-%{version}.tar.gz
|
||||
Patch1: elfutils-0.106-libdw-compile.patch
|
||||
%if %{compat}
|
||||
Patch100: elfutils-portability.patch
|
||||
Patch101: elfutils-bswap.patch
|
||||
%endif
|
||||
Obsoletes: libelf libelf-devel
|
||||
Requires: elfutils-libelf = %{version}-%{release}
|
||||
%if %{gpl}
|
||||
Requires: binutils >= 2.14.90.0.4-26.2
|
||||
%endif
|
||||
URL: https://fedorahosted.org/elfutils/
|
||||
Source: http://fedorahosted.org/releases/e/l/elfutils/%{name}-%{version}.tar.gz
|
||||
Patch1: elfutils-portability.patch
|
||||
Patch2: elfutils-robustify.patch
|
||||
Patch3: elfutils-0.137-fixes.patch
|
||||
Requires: elfutils-libelf-%{_arch} = %{version}-%{release}
|
||||
Requires: elfutils-libs-%{_arch} = %{version}-%{release}
|
||||
|
||||
# ExcludeArch: xxx
|
||||
|
||||
BuildRoot: %{_tmppath}/%{name}-root
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
BuildRequires: bison >= 1.875
|
||||
BuildRequires: flex >= 2.5.4a
|
||||
BuildRequires: bzip2
|
||||
|
@ -57,20 +59,30 @@ Elfutils is a collection of utilities, including ld (a linker),
|
|||
nm (for listing symbols from object files), size (for listing the
|
||||
section sizes of an object or archive file), strip (for discarding
|
||||
symbols), readelf (to see the raw ELF file structures), and elflint
|
||||
(to check for well-formed ELF files). Also included are numerous
|
||||
helper libraries which implement DWARF, ELF, and machine-specific ELF
|
||||
handling.
|
||||
(to check for well-formed ELF files).
|
||||
|
||||
|
||||
%package libs
|
||||
Summary: Libraries to handle compiled objects
|
||||
Group: Development/Tools
|
||||
Provides: elfutils-libs-%{_arch} = %{version}-%{release}
|
||||
Requires: elfutils-libelf-%{_arch} = %{version}-%{release}
|
||||
|
||||
%description libs
|
||||
The elfutils-libs package contains libraries which implement DWARF, ELF,
|
||||
and machine-specific ELF handling. These libraries are used by the programs
|
||||
in the elfutils package. The elfutils-devel package enables building
|
||||
other programs using these libraries.
|
||||
|
||||
%package devel
|
||||
Summary: Development libraries to handle compiled objects.
|
||||
Summary: Development libraries to handle compiled objects
|
||||
Group: Development/Tools
|
||||
%if %{gpl}
|
||||
License: GPL
|
||||
%else
|
||||
License: OSL
|
||||
Provides: elfutils-devel-%{_arch} = %{version}-%{release}
|
||||
Requires: elfutils-libs-%{_arch} = %{version}-%{release}
|
||||
Requires: elfutils-libelf-devel-%{_arch} = %{version}-%{release}
|
||||
%if !0%{?separate_devel_static}
|
||||
Requires: elfutils-devel-static-%{_arch} = %{version}-%{release}
|
||||
%endif
|
||||
Requires: elfutils = %{version}-%{release}
|
||||
Requires: elfutils-libelf-devel = %{version}-%{release}
|
||||
|
||||
%description devel
|
||||
The elfutils-devel package contains the libraries to create
|
||||
|
@ -79,12 +91,22 @@ higher-level ELF access functionality. libdw provides access to
|
|||
the DWARF debugging information. libasm provides a programmable
|
||||
assembler interface.
|
||||
|
||||
%package libelf
|
||||
Summary: Library to read and write ELF files.
|
||||
%package devel-static
|
||||
Summary: Static archives to handle compiled objects
|
||||
Group: Development/Tools
|
||||
%if %{gpl}
|
||||
License: GPL
|
||||
%endif
|
||||
Provides: elfutils-devel-static-%{_arch} = %{version}-%{release}
|
||||
Requires: elfutils-devel-%{_arch} = %{version}-%{release}
|
||||
Requires: elfutils-libelf-devel-static-%{_arch} = %{version}-%{release}
|
||||
|
||||
%description devel-static
|
||||
The elfutils-devel-static package contains the static archives
|
||||
with the code to handle compiled objects.
|
||||
|
||||
%package libelf
|
||||
Summary: Library to read and write ELF files
|
||||
Group: Development/Tools
|
||||
Provides: elfutils-libelf-%{_arch} = %{version}-%{release}
|
||||
Obsoletes: libelf <= 0.8.2-2
|
||||
|
||||
%description libelf
|
||||
The elfutils-libelf package provides a DSO which allows reading and
|
||||
|
@ -95,11 +117,12 @@ elfutils package use it also to generate new ELF files.
|
|||
%package libelf-devel
|
||||
Summary: Development support for libelf
|
||||
Group: Development/Tools
|
||||
Requires: elfutils-libelf = %{version}-%{release}
|
||||
Conflicts: libelf-devel
|
||||
%if %{gpl}
|
||||
License: GPL
|
||||
Provides: elfutils-libelf-devel-%{_arch} = %{version}-%{release}
|
||||
Requires: elfutils-libelf-%{_arch} = %{version}-%{release}
|
||||
%if !0%{?separate_devel_static}
|
||||
Requires: elfutils-libelf-devel-static-%{_arch} = %{version}-%{release}
|
||||
%endif
|
||||
Obsoletes: libelf-devel <= 0.8.2-2
|
||||
|
||||
%description libelf-devel
|
||||
The elfutils-libelf-devel package contains the libraries to create
|
||||
|
@ -107,66 +130,73 @@ applications for handling compiled objects. libelf allows you to
|
|||
access the internals of the ELF object file format, so you can see the
|
||||
different sections of an ELF file.
|
||||
|
||||
%package libelf-devel-static
|
||||
Summary: Static archive of libelf
|
||||
Group: Development/Tools
|
||||
Provides: elfutils-libelf-devel-static-%{_arch} = %{version}-%{release}
|
||||
Requires: elfutils-libelf-devel-%{_arch} = %{version}-%{release}
|
||||
|
||||
%description libelf-devel-static
|
||||
The elfutils-libelf-static package contains the static archive
|
||||
for libelf.
|
||||
|
||||
%prep
|
||||
%setup -q
|
||||
|
||||
%patch1 -p1
|
||||
%if !0%{?scanf_has_m}
|
||||
sed -i.scanf-m -e 's/%m/%a/' tests/line2addr.c
|
||||
%endif
|
||||
|
||||
%if %{compat}
|
||||
%patch100 -p1
|
||||
%patch101 -p1
|
||||
%patch1 -p1 -b .portability
|
||||
sleep 1
|
||||
find . \( -name Makefile.in -o -name aclocal.m4 \) -print | xargs touch
|
||||
sleep 1
|
||||
find . \( -name configure -o -name config.h.in \) -print | xargs touch
|
||||
%endif
|
||||
|
||||
%patch2 -p1 -b .robustify
|
||||
|
||||
%patch3 -p1 -b .fixes
|
||||
|
||||
find . -name \*.sh ! -perm -0100 -print | xargs chmod +x
|
||||
|
||||
%build
|
||||
mkdir build-%{_target_platform}
|
||||
cd build-%{_target_platform}
|
||||
cat > configure <<\EOF
|
||||
#!/bin/sh
|
||||
exec ../configure "$@"
|
||||
EOF
|
||||
chmod +x configure
|
||||
%configure --enable-shared
|
||||
make
|
||||
cd ..
|
||||
# Remove -Wall from default flags. The makefiles enable enough warnings
|
||||
# themselves, and they use -Werror. Appending -Wall defeats the cases where
|
||||
# the makefiles disable some specific warnings for specific code.
|
||||
RPM_OPT_FLAGS=${RPM_OPT_FLAGS/-Wall/}
|
||||
|
||||
%if %{compat}
|
||||
# Some older glibc headers can run afoul of -Werror all by themselves.
|
||||
# Disabling the fancy inlines avoids those problems.
|
||||
RPM_OPT_FLAGS="$RPM_OPT_FLAGS -D__NO_INLINE__"
|
||||
%endif
|
||||
|
||||
%configure CFLAGS="$RPM_OPT_FLAGS -fexceptions"
|
||||
make -s %{?_smp_mflags}
|
||||
|
||||
%install
|
||||
rm -rf ${RPM_BUILD_ROOT}
|
||||
mkdir -p ${RPM_BUILD_ROOT}%{_prefix}
|
||||
|
||||
cd build-%{_target_platform}
|
||||
%makeinstall
|
||||
make -s install DESTDIR=${RPM_BUILD_ROOT}
|
||||
|
||||
chmod +x ${RPM_BUILD_ROOT}%{_prefix}/%{_lib}/lib*.so*
|
||||
%if !%{gpl}
|
||||
chmod +x ${RPM_BUILD_ROOT}%{_prefix}/%{_lib}/elfutils/lib*.so*
|
||||
%endif
|
||||
|
||||
cd ..
|
||||
|
||||
%if !%{gpl}
|
||||
# XXX Nuke unpackaged files
|
||||
{ cd ${RPM_BUILD_ROOT}
|
||||
rm -f .%{_bindir}/eu-ld
|
||||
rm -f .%{_includedir}/elfutils/libasm.h
|
||||
rm -f .%{_libdir}/libasm-%{version}.so
|
||||
rm -f .%{_libdir}/libasm.a
|
||||
}
|
||||
%endif
|
||||
|
||||
%check
|
||||
cd build-%{_target_platform}
|
||||
make check
|
||||
make -s check
|
||||
|
||||
%clean
|
||||
rm -rf ${RPM_BUILD_ROOT}
|
||||
|
||||
%post -p /sbin/ldconfig
|
||||
%post libs -p /sbin/ldconfig
|
||||
|
||||
%postun -p /sbin/ldconfig
|
||||
%postun libs -p /sbin/ldconfig
|
||||
|
||||
%post libelf -p /sbin/ldconfig
|
||||
|
||||
|
@ -175,55 +205,329 @@ rm -rf ${RPM_BUILD_ROOT}
|
|||
%files
|
||||
%defattr(-,root,root)
|
||||
%doc README TODO
|
||||
%if %{gpl}
|
||||
%doc fake-src/FULL
|
||||
%endif
|
||||
%{_bindir}/eu-addr2line
|
||||
%{_bindir}/eu-ar
|
||||
%{_bindir}/eu-elfcmp
|
||||
%{_bindir}/eu-elflint
|
||||
%{_bindir}/eu-findtextrel
|
||||
%{_bindir}/eu-nm
|
||||
%{_bindir}/eu-objdump
|
||||
%{_bindir}/eu-ranlib
|
||||
%{_bindir}/eu-readelf
|
||||
%{_bindir}/eu-size
|
||||
%{_bindir}/eu-strings
|
||||
%{_bindir}/eu-strip
|
||||
%if !%{gpl}
|
||||
#%{_bindir}/eu-ld
|
||||
#%{_libdir}/libasm-%{version}.so
|
||||
%{_bindir}/eu-unstrip
|
||||
%{_bindir}/eu-make-debug-archive
|
||||
|
||||
%files libs
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libasm-%{version}.so
|
||||
%{_libdir}/libasm.so.*
|
||||
%{_libdir}/libdw-%{version}.so
|
||||
#%{_libdir}/libasm*.so.*
|
||||
%{_libdir}/libdw*.so.*
|
||||
%{_libdir}/libdw.so.*
|
||||
%dir %{_libdir}/elfutils
|
||||
%{_libdir}/elfutils/lib*.so
|
||||
%endif
|
||||
|
||||
%files devel
|
||||
%defattr(-,root,root)
|
||||
%{_includedir}/dwarf.h
|
||||
%dir %{_includedir}/elfutils
|
||||
%{_includedir}/elfutils/elf-knowledge.h
|
||||
%if !%{gpl}
|
||||
%{_includedir}/elfutils/libasm.h
|
||||
%{_includedir}/elfutils/libebl.h
|
||||
%{_includedir}/elfutils/libdw.h
|
||||
#%{_libdir}/libasm.a
|
||||
%{_includedir}/elfutils/libdwfl.h
|
||||
%{_libdir}/libebl.a
|
||||
%{_libdir}/libdw.a
|
||||
#%{_libdir}/libasm.so
|
||||
%{_libdir}/libasm.so
|
||||
%{_libdir}/libdw.so
|
||||
%endif
|
||||
|
||||
%files devel-static
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libasm.a
|
||||
%{_libdir}/libdw.a
|
||||
|
||||
%files libelf
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libelf-%{version}.so
|
||||
%{_libdir}/libelf*.so.*
|
||||
%{_libdir}/libelf.so.*
|
||||
|
||||
%files libelf-devel
|
||||
%defattr(-,root,root)
|
||||
%{_includedir}/libelf.h
|
||||
%{_includedir}/gelf.h
|
||||
%{_includedir}/nlist.h
|
||||
%{_libdir}/libelf.a
|
||||
%{_libdir}/libelf.so
|
||||
|
||||
%files libelf-devel-static
|
||||
%defattr(-,root,root)
|
||||
%{_libdir}/libelf.a
|
||||
|
||||
%changelog
|
||||
* Wed Oct 1 2008 Roland McGrath <roland@redhat.com> - 0.137-3
|
||||
- fix libdwfl regression (#462689)
|
||||
|
||||
* Thu Aug 28 2008 Roland McGrath <roland@redhat.com> - 0.137-2
|
||||
- Update to 0.137
|
||||
- libdwfl: bug fixes; new segment interfaces;
|
||||
all the libdwfl-based tools now support --core=COREFILE option
|
||||
- Resolves: RHBZ #325021, RHBZ #447416
|
||||
|
||||
* Mon Jul 7 2008 Tom "spot" Callaway <tcallawa@redhat.com> - 0.135-2
|
||||
- fix conditional comparison
|
||||
|
||||
* Mon May 12 2008 Roland McGrath <roland@redhat.com> - 0.135-1
|
||||
- Update to 0.135
|
||||
- libdwfl: bug fixes
|
||||
- eu-strip: changed handling of ET_REL files wrt symbol tables and relocs
|
||||
|
||||
* Wed Apr 9 2008 Roland McGrath <roland@redhat.com> - 0.134-1
|
||||
- Update to 0.134
|
||||
- elflint: backend improvements for sparc, alpha (#204170)
|
||||
- libdwfl, libelf: bug fixes (#439344, #438867, #438263, #438190)
|
||||
- Remove Conflicts: libelf-devel from elfutils-libelf-devel. (#435742)
|
||||
|
||||
* Sun Mar 2 2008 Roland McGrath <roland@redhat.com> - 0.133-2
|
||||
- Update to 0.133
|
||||
- readelf, elflint, libebl: SHT_GNU_ATTRIBUTE section handling (readelf -A)
|
||||
- readelf: core note handling for NT_386_TLS, NT_PPC_SPE, Alpha NT_AUXV
|
||||
- libdwfl: bug fixes and optimization in relocation handling
|
||||
- elfcmp: bug fix for non-allocated section handling
|
||||
- ld: implement newer features of binutils linker.
|
||||
- Install eu-objdump and libasm, now has limited disassembler support.
|
||||
|
||||
* Mon Jan 21 2008 Roland McGrath <roland@redhat.com> - 0.132-3
|
||||
- Update to 0.132
|
||||
- libelf: Use loff_t instead of off64_t in libelf.h header. (#377241)
|
||||
- eu-readelf: Fix handling of ET_REL files in archives.
|
||||
- libcpu: Implement x86 and x86-64 disassembler.
|
||||
- libasm: Add interface for disassembler.
|
||||
- all programs: add debugging of branch prediction.
|
||||
- libelf: new function elf_scnshndx.
|
||||
|
||||
* Sun Nov 11 2007 Roland McGrath <roland@redhat.com> - 0.131-1
|
||||
- Update to 0.131
|
||||
- libdw: DW_FORM_ref_addr support; dwarf_formref entry point now deprecated;
|
||||
bug fixes for oddly-formatted DWARF
|
||||
- libdwfl: bug fixes in offline archive support, symbol table handling;
|
||||
apply partial relocations for dwfl_module_address_section on ET_REL
|
||||
- libebl: powerpc backend support for Altivec registers
|
||||
|
||||
* Wed Oct 17 2007 Roland McGrath <roland@redhat.com> - 0.130-3
|
||||
- Fix ET_REL support.
|
||||
- Fix odd indentation in eu-readelf -x output.
|
||||
|
||||
* Tue Oct 16 2007 Roland McGrath <roland@redhat.com> - 0.130-1
|
||||
- Update to 0.130
|
||||
- eu-readelf -p option can take an argument like -x for one section
|
||||
- eu-readelf --archive-index (or -c)
|
||||
- eu-readelf -n improved output for core dumps
|
||||
- eu-readelf: handle SHT_NOTE sections without requiring phdrs (#249467)
|
||||
- eu-elflint: ditto
|
||||
- eu-elflint: stricter checks on debug sections
|
||||
- eu-unstrip: new options, --list (or -n), --relocate (or -R)
|
||||
- libelf: new function elf_getdata_rawchunk, replaces gelf_rawchunk;
|
||||
new functions gelf_getnote, gelf_getauxv, gelf_update_auxv
|
||||
- libebl: backend improvements (#324031)
|
||||
- libdwfl: build_id support, new functions for it
|
||||
- libdwfl: dwfl_module_addrsym fixes (#268761, #268981)
|
||||
- libdwfl offline archive support, new script eu-make-debug-archive
|
||||
|
||||
* Mon Aug 20 2007 Roland McGrath <roland@redhat.com> - 0.129-2
|
||||
- Fix false-positive eu-elflint failure on ppc -mbss-plt binaries.
|
||||
|
||||
* Tue Aug 14 2007 Roland McGrath <roland@redhat.com> - 0.129-1
|
||||
- Update to 0.129
|
||||
- readelf: new options --hex-dump (or -x), --strings (or -p) (#250973)
|
||||
- addr2line: new option --symbols (or -S)
|
||||
- libdw: dwarf_getscopes fixes (#230235)
|
||||
- libdwfl: dwfl_module_addrsym fixes (#249490)
|
||||
|
||||
* Fri Jun 8 2007 Roland McGrath <roland@redhat.com> - 0.128-2
|
||||
- Update to 0.128
|
||||
- new program: unstrip
|
||||
- elfcmp: new option --hash-inexact
|
||||
- Replace Conflicts: with Provides/Requires using -arch
|
||||
|
||||
* Wed Apr 18 2007 Roland McGrath <roland@redhat.com> - 0.127-1
|
||||
- Update to 0.127
|
||||
- libdw: new function dwarf_getsrcdirs
|
||||
- libdwfl: new functions dwfl_module_addrsym, dwfl_report_begin_add,
|
||||
dwfl_module_address_section
|
||||
|
||||
* Mon Feb 5 2007 Roland McGrath <roland@redhat.com> - 0.126-1
|
||||
- Update to 0.126
|
||||
- New program eu-ar.
|
||||
- libdw: fix missing dwarf_getelf (#227206)
|
||||
- libdwfl: dwfl_module_addrname for st_size=0 symbols (#227167, #227231)
|
||||
|
||||
* Wed Jan 10 2007 Roland McGrath <roland@redhat.com> - 0.125-3
|
||||
- Fix overeager warn_unused_result build failures.
|
||||
|
||||
* Wed Jan 10 2007 Roland McGrath <roland@redhat.com> - 0.125-1
|
||||
- Update to 0.125
|
||||
- elflint: Compare DT_GNU_HASH tests.
|
||||
- move archives into -static RPMs
|
||||
- libelf, elflint: better support for core file handling
|
||||
- Really fix libdwfl sorting of modules with 64-bit addresses (#220817).
|
||||
- Resolves: RHBZ #220817, RHBZ #213792
|
||||
|
||||
* Tue Oct 10 2006 Roland McGrath <roland@redhat.com> - 0.124-1
|
||||
- eu-strip -f: copy symtab into debuginfo file when relocs use it (#203000)
|
||||
- Update to 0.124
|
||||
- libebl: fix ia64 reloc support (#206981)
|
||||
- libebl: sparc backend support for return value location
|
||||
- libebl, libdwfl: backend register name support extended with more info
|
||||
- libelf, libdw: bug fixes for unaligned accesses on machines that care
|
||||
- readelf, elflint: trivial bugs fixed
|
||||
|
||||
* Mon Aug 14 2006 Roland McGrath <roland@redhat.com> 0.123-1
|
||||
- Update to 0.123
|
||||
- libebl: Backend build fixes, thanks to Stepan Kasal.
|
||||
- libebl: ia64 backend support for register names, return value location
|
||||
- libdwfl: Handle truncated linux kernel module section names.
|
||||
- libdwfl: Look for linux kernel vmlinux files with .debug suffix.
|
||||
- elflint: Fix checks to permit --hash-style=gnu format.
|
||||
|
||||
* Mon Jul 17 2006 Roland McGrath <roland@redhat.com> - 0.122-4
|
||||
- Fix warnings in elflint compilation.
|
||||
|
||||
* Wed Jul 12 2006 Roland McGrath <roland@redhat.com> - 0.122-3
|
||||
- Update to 0.122
|
||||
- Fix libdwfl sorting of modules with 64-bit addresses (#198225).
|
||||
- libebl: add function to test for relative relocation
|
||||
- elflint: fix and extend DT_RELCOUNT/DT_RELACOUNT checks
|
||||
- elflint, readelf: add support for DT_GNU_HASH
|
||||
- libelf: add elf_gnu_hash
|
||||
- elflint, readelf: add support for 64-bit SysV-style hash tables
|
||||
- libdwfl: new functions dwfl_module_getsymtab, dwfl_module_getsym.
|
||||
|
||||
* Thu Jun 15 2006 Roland McGrath <roland@redhat.com> - 0.121-1
|
||||
- Update to 0.121
|
||||
- libelf: bug fixes for rewriting existing files when using mmap (#187618).
|
||||
- make all installed headers usable in C++ code (#193153).
|
||||
- eu-readelf: better output format.
|
||||
- eu-elflint: fix tests of dynamic section content.
|
||||
- libdw, libdwfl: handle files without aranges info.
|
||||
|
||||
* Thu May 25 2006 Jeremy Katz <katzj@redhat.com> - 0.120-3
|
||||
- rebuild to pick up -devel deps
|
||||
|
||||
* Tue Apr 4 2006 Roland McGrath <roland@redhat.com> - 0.120-2
|
||||
- Update to 0.120
|
||||
- License changed to GPL, with some exceptions for using
|
||||
the libelf, libebl, libdw, and libdwfl library interfaces.
|
||||
Red Hat elfutils is an included package of the Open Invention Network.
|
||||
- dwarf.h updated for DWARF 3.0 final specification.
|
||||
- libelf: Fix corruption in ELF_C_RDWR uses (#187618).
|
||||
- libdwfl: New function dwfl_version; fixes for offline.
|
||||
|
||||
* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 0.119-1.2.1
|
||||
- bump again for double-long bug on ppc(64)
|
||||
|
||||
* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 0.119-1.2
|
||||
- rebuilt for new gcc4.1 snapshot and glibc changes
|
||||
|
||||
* Fri Jan 13 2006 Roland McGrath <roland@redhat.com> - 0.119-1
|
||||
- update to 0.119
|
||||
|
||||
* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
|
||||
- rebuilt
|
||||
|
||||
* Sun Nov 27 2005 Roland McGrath <roland@redhat.com> - 0.118-1
|
||||
- update to 0.118
|
||||
- elflint: more tests.
|
||||
- libdwfl: New function dwfl_module_register_names.
|
||||
- libebl: New backend hook for register names.
|
||||
- Make sure -fexceptions is always in CFLAGS.
|
||||
|
||||
* Tue Nov 22 2005 Roland McGrath <roland@redhat.com> - 0.117-2
|
||||
- update to 0.117
|
||||
- libdwfl: New function dwfl_module_return_value_location (#166118)
|
||||
- libebl: Backend improvements for several CPUs
|
||||
|
||||
* Mon Oct 31 2005 Roland McGrath <roland@redhat.com> - 0.116-1
|
||||
- update to 0.116
|
||||
- libdw fixes, API changes and additions
|
||||
- libdwfl fixes (#169672)
|
||||
- eu-strip/libelf fix to preserve setuid/setgid permission bits (#167745)
|
||||
|
||||
* Fri Sep 9 2005 Roland McGrath <roland@redhat.com> - 0.115-3
|
||||
- Update requires/conflicts for better biarch update behavior.
|
||||
|
||||
* Mon Sep 5 2005 Roland McGrath <roland@redhat.com> - 0.115-2
|
||||
- update to 0.115
|
||||
- New program eu-strings.
|
||||
- libdw: New function dwarf_getscopes_die.
|
||||
- libelf: speed-ups of non-mmap reading.
|
||||
- Implement --enable-gcov option for configure.
|
||||
|
||||
* Wed Aug 24 2005 Roland McGrath <roland@redhat.com> - 0.114-1
|
||||
- update to 0.114
|
||||
- new program eu-ranlib
|
||||
- libdw: new calls for inlines
|
||||
- libdwfl: new calls for offline modules
|
||||
|
||||
* Sat Aug 13 2005 Roland McGrath <roland@redhat.com> - 0.113-2
|
||||
- update to 0.113
|
||||
- elflint: relax a bit. Allow version definitions for defined symbols
|
||||
against DSO versions also for symbols in nobits sections.
|
||||
Allow .rodata section to have STRINGS and MERGE flag set.
|
||||
- strip: add some more compatibility with binutils.
|
||||
- libdwfl: bug fixes.
|
||||
- Separate libdw et al into elfutils-libs subpackage.
|
||||
|
||||
* Sat Aug 6 2005 Roland McGrath <roland@redhat.com> - 0.112-1
|
||||
- update to 0.112
|
||||
- elfcmp: some more relaxation.
|
||||
- elflint: many more tests, especially regarding to symbol versioning.
|
||||
- libelf: Add elfXX_offscn and gelf_offscn.
|
||||
- libasm: asm_begin interface changes.
|
||||
- libebl: Add three new interfaces to directly access machine, class,
|
||||
and data encoding information.
|
||||
|
||||
* Fri Jul 29 2005 Roland McGrath <roland@redhat.com> - 0.111-2
|
||||
- update portability patch
|
||||
|
||||
* Thu Jul 28 2005 Roland McGrath <roland@redhat.com> - 0.111-1
|
||||
- update to 0.111
|
||||
- libdwfl library now merged into libdw
|
||||
|
||||
* Sun Jul 24 2005 Roland McGrath <roland@redhat.com> - 0.110-1
|
||||
- update to 0.110
|
||||
|
||||
* Fri Jul 22 2005 Roland McGrath <roland@redhat.com> - 0.109-2
|
||||
- update to 0.109
|
||||
- verify that libebl modules are from the same build
|
||||
- new eu-elflint checks on copy relocations
|
||||
- new program eu-elfcmp
|
||||
- new experimental libdwfl library
|
||||
|
||||
* Thu Jun 9 2005 Roland McGrath <roland@redhat.com> - 0.108-5
|
||||
- robustification of eu-strip and eu-readelf
|
||||
|
||||
* Wed May 25 2005 Roland McGrath <roland@redhat.com> - 0.108-3
|
||||
- more robustification
|
||||
|
||||
* Mon May 16 2005 Roland McGrath <roland@redhat.com> - 0.108-2
|
||||
- robustification
|
||||
|
||||
* Mon May 9 2005 Roland McGrath <roland@redhat.com> - 0.108-1
|
||||
- update to 0.108
|
||||
- merge strip fixes
|
||||
- sort records in dwarf_getsrclines, fix dwarf_getsrc_die searching
|
||||
- update elf.h from glibc
|
||||
|
||||
* Sun May 8 2005 Roland McGrath <roland@redhat.com> - 0.107-2
|
||||
- fix strip -f byte-swapping bug
|
||||
|
||||
* Sun May 8 2005 Roland McGrath <roland@redhat.com> - 0.107-1
|
||||
- update to 0.107
|
||||
- readelf: improve DWARF output format
|
||||
- elflint: -d option to support checking separate debuginfo files
|
||||
- strip: fix ET_REL debuginfo files (#156341)
|
||||
|
||||
* Mon Apr 4 2005 Roland McGrath <roland@redhat.com> - 0.106-3
|
||||
- fix some bugs in new code, reenable make check
|
||||
|
||||
|
|
Loading…
Reference in New Issue