|
|
94c734 |
# Regarding the following rpmlint citation:
|
|
|
94c734 |
#
|
|
|
94c734 |
# library package calls exit() or _exit() [...]
|
|
|
94c734 |
#
|
|
|
94c734 |
# Electric fence is a debugger, not a library. The fact that it comes
|
|
|
94c734 |
# in the form factor of a library is just because that's how you
|
|
|
94c734 |
# override malloc-related calls from libc. Calling _exit is the
|
|
|
94c734 |
# ultimate outcome of detecting a class of memory errors (double free,
|
|
|
94c734 |
# free of wild pointer, etc.) Overflows (or underflows) are detected
|
|
|
94c734 |
# by the operating system and lead to process termination as well.
|
|
|
94c734 |
#
|
|
|
94c734 |
# devel-file-in-non-devel-package /usr/lib64/libefence.a
|
|
|
94c734 |
#
|
|
|
94c734 |
# Electric fence is itself a development package.
|
|
|
94c734 |
|
|
|
94c734 |
Summary: A debugger which detects memory allocation violations
|
|
|
94c734 |
Name: ElectricFence
|
|
|
94c734 |
Version: 2.2.2
|
|
|
94c734 |
Release: 39%{?dist}
|
|
|
94c734 |
License: GPLv2
|
|
|
94c734 |
Group: Development/Tools
|
|
|
94c734 |
URL: http://perens.com/FreeSoftware/ElectricFence/
|
|
|
94c734 |
|
|
|
94c734 |
# ftp://ftp.perens.com/pub/ElectricFence/beta/ used to be here, but
|
|
|
94c734 |
# the site is inaccessible as of lately. I looked through the web but
|
|
|
94c734 |
# didn't find anything. Debian has a link to a site that hosts an
|
|
|
94c734 |
# obsolete version. I don't think there's any proper upstream for
|
|
|
94c734 |
# this.
|
|
|
94c734 |
Source: %{name}-%{version}.tar.gz
|
|
|
94c734 |
Patch1: ElectricFence-2.0.5-longjmp.patch
|
|
|
94c734 |
Patch2: ElectricFence-2.1-vaarg.patch
|
|
|
94c734 |
Patch3: ElectricFence-2.2.2-pthread.patch
|
|
|
94c734 |
Patch4: ElectricFence-2.2.2-madvise.patch
|
|
|
94c734 |
Patch5: ElectricFence-mmap-size.patch
|
|
|
94c734 |
Patch6: ElectricFence-2.2.2-banner.patch
|
|
|
94c734 |
Patch7: ElectricFence-2.2.2-ef.patch
|
|
|
94c734 |
Patch8: ElectricFence-2.2.2-builtins.patch
|
|
|
94c734 |
Patch9: ElectricFence-2.2.2-sse.patch
|
|
|
94c734 |
Patch10: ElectricFence-2.2.2-posix_memalign.patch
|
|
|
94c734 |
Patch11: ElectricFence-2.2.2-malloc_usable_size.patch
|
|
|
94c734 |
Patch12: ElectricFence-2.2.2-man-ef.patch
|
|
|
94c734 |
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
|
|
94c734 |
|
|
|
94c734 |
%description
|
|
|
94c734 |
ElectricFence is a utility for C programming and
|
|
|
94c734 |
debugging. ElectricFence uses the virtual memory hardware of your
|
|
|
94c734 |
system to detect when software overruns malloc() buffer boundaries,
|
|
|
94c734 |
and/or to detect any accesses of memory released by
|
|
|
94c734 |
free(). ElectricFence will then stop the program on the first
|
|
|
94c734 |
instruction that caused a bounds violation and you can use your
|
|
|
94c734 |
favorite debugger to display the offending statement.
|
|
|
94c734 |
|
|
|
94c734 |
Install ElectricFence if you need a debugger to find malloc()
|
|
|
94c734 |
violations.
|
|
|
94c734 |
|
|
|
94c734 |
%prep
|
|
|
94c734 |
%setup -q
|
|
|
94c734 |
%patch1 -p1 -b .longjmp
|
|
|
94c734 |
%patch2 -p1 -b .vaarg
|
|
|
94c734 |
%patch3 -p1 -b .pthread
|
|
|
94c734 |
%patch4 -p1 -b .madvise
|
|
|
94c734 |
%patch5 -p1
|
|
|
94c734 |
%patch6 -p1
|
|
|
94c734 |
%patch7 -p1
|
|
|
94c734 |
%patch8 -p1
|
|
|
94c734 |
%patch9 -p1
|
|
|
94c734 |
%patch10 -p1
|
|
|
94c734 |
%patch11 -p1
|
|
|
94c734 |
%patch12 -p1
|
|
|
94c734 |
|
|
|
94c734 |
%build
|
|
|
94c734 |
make CFLAGS='${RPM_OPT_FLAGS} -DUSE_SEMAPHORE -fpic'
|
|
|
94c734 |
|
|
|
94c734 |
%install
|
|
|
94c734 |
rm -rf $RPM_BUILD_ROOT
|
|
|
94c734 |
mkdir -p %{buildroot}{%{_bindir},%{_libdir},%{_mandir}/man{1,3}}
|
|
|
94c734 |
|
|
|
94c734 |
make BIN_INSTALL_DIR=%{buildroot}%{_bindir} \
|
|
|
94c734 |
LIB_INSTALL_DIR=%{buildroot}%{_libdir} \
|
|
|
94c734 |
MAN_INSTALL_DIR=%{buildroot}%{_mandir} \
|
|
|
94c734 |
install
|
|
|
94c734 |
|
|
|
94c734 |
echo ".so man3/efence.3" > %{buildroot}%{_mandir}/man3/libefence.3
|
|
|
94c734 |
|
|
|
94c734 |
%clean
|
|
|
94c734 |
rm -rf $RPM_BUILD_ROOT
|
|
|
94c734 |
|
|
|
94c734 |
%post -p /sbin/ldconfig
|
|
|
94c734 |
|
|
|
94c734 |
%postun -p /sbin/ldconfig
|
|
|
94c734 |
|
|
|
94c734 |
|
|
|
94c734 |
%files
|
|
|
94c734 |
%defattr(-,root,root)
|
|
|
94c734 |
%doc README CHANGES COPYING
|
|
|
94c734 |
%{_bindir}/*
|
|
|
94c734 |
%{_libdir}/*.a
|
|
|
94c734 |
%{_libdir}/*.so*
|
|
|
94c734 |
%{_mandir}/*/*
|
|
|
94c734 |
|
|
|
94c734 |
%changelog
|
|
|
94c734 |
* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 2.2.2-39
|
|
|
94c734 |
- Mass rebuild 2014-01-24
|
|
|
94c734 |
|
|
|
94c734 |
* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 2.2.2-38
|
|
|
94c734 |
- Mass rebuild 2013-12-27
|
|
|
94c734 |
|
|
|
94c734 |
* Wed Feb 13 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.2-37
|
|
|
94c734 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_19_Mass_Rebuild
|
|
|
94c734 |
|
|
|
94c734 |
* Wed Jul 18 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.2-36
|
|
|
94c734 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
|
|
94c734 |
|
|
|
94c734 |
* Fri Apr 27 2012 Petr Machata <pmachata@redhat.com> - 2.2.2-35
|
|
|
94c734 |
- Add a man page for "ef" script
|
|
|
94c734 |
- Resolves: #225722
|
|
|
94c734 |
|
|
|
94c734 |
* Mon Mar 12 2012 Petr Machata <pmachata@redhat.com> - 2.2.2-34
|
|
|
94c734 |
- Add a patch that implements malloc_usable_size
|
|
|
94c734 |
- Resolves: #772306
|
|
|
94c734 |
|
|
|
94c734 |
* Thu Jan 12 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.2-33
|
|
|
94c734 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
|
|
|
94c734 |
|
|
|
94c734 |
* Fri Mar 11 2011 Petr Machata <pmachata@redhat.com> - 2.2.2-32
|
|
|
94c734 |
- Add a patch that implements posix_memalign
|
|
|
94c734 |
- Resolves: #684019
|
|
|
94c734 |
|
|
|
94c734 |
* Mon Feb 07 2011 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.2-31
|
|
|
94c734 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_15_Mass_Rebuild
|
|
|
94c734 |
|
|
|
94c734 |
* Wed Jan 19 2011 Petr Machata <pmachata@redhat.com> - 2.2.2-30
|
|
|
94c734 |
- Use the same formula as glibc uses to align memory
|
|
|
94c734 |
- Resolves: #662085
|
|
|
94c734 |
|
|
|
94c734 |
* Fri Sep 10 2010 Petr Machata <pmachata@redhat.com> - 2.2.2-29
|
|
|
94c734 |
- Tell GCC not to recognize builtins when compiling efence.c.
|
|
|
94c734 |
- Resolves: #631316
|
|
|
94c734 |
- Related: #632312
|
|
|
94c734 |
|
|
|
94c734 |
* Thu Sep 9 2010 Petr Machata <pmachata@redhat.com> - 2.2.2-28
|
|
|
94c734 |
- GCC optimizes out write to internalUse in call from
|
|
|
94c734 |
allocateMoreSlots to malloc. Rename malloc to __efence__malloc to
|
|
|
94c734 |
pacify the trigger. Later sneak the malloc symbol in with an alias.
|
|
|
94c734 |
- Resolves: #631316
|
|
|
94c734 |
|
|
|
94c734 |
* Fri Jul 24 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.2-27
|
|
|
94c734 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild
|
|
|
94c734 |
|
|
|
94c734 |
* Mon Feb 23 2009 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 2.2.2-26
|
|
|
94c734 |
- Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild
|
|
|
94c734 |
|
|
|
94c734 |
* Mon Feb 11 2008 Petr Machata <pmachata@redhat.com> - 2.2.2-25
|
|
|
94c734 |
- Fix ef.sh argument passing
|
|
|
94c734 |
- Resolves: #432286
|
|
|
94c734 |
|
|
|
94c734 |
* Thu Aug 16 2007 Petr Machata <pmachata@redhat.com> - 2.2.2-24
|
|
|
94c734 |
- Fix licesing tag.
|
|
|
94c734 |
|
|
|
94c734 |
* Wed Mar 28 2007 Petr Machata <pmachata@redhat.com> - 2.2.2-23
|
|
|
94c734 |
- Detect for EF_DISABLE_BANNER env. var before printing out the
|
|
|
94c734 |
banner. (Patch adapted from Debian repositories.)
|
|
|
94c734 |
- Resolves: #233702
|
|
|
94c734 |
|
|
|
94c734 |
* Fri Mar 16 2007 Petr Machata <pmachata@redhat.com> - 2.2.2-22
|
|
|
94c734 |
- Remove bad cast in ElectricFence mmap (George Beshers)
|
|
|
94c734 |
- Resolves: #232695
|
|
|
94c734 |
|
|
|
94c734 |
* Wed Feb 7 2007 Petr Machata <pmachata@redhat.com> - 2.2.2-21
|
|
|
94c734 |
- Tidy up the specfile per rpmlint comments
|
|
|
94c734 |
|
|
|
94c734 |
* Wed Jul 12 2006 Jesse Keating <jkeating@redhat.com> - 2.2.2-20.2.2
|
|
|
94c734 |
- rebuild
|
|
|
94c734 |
|
|
|
94c734 |
* Fri Feb 10 2006 Jesse Keating <jkeating@redhat.com> - 2.2.2-20.2.1
|
|
|
94c734 |
- bump again for double-long bug on ppc(64)
|
|
|
94c734 |
|
|
|
94c734 |
* Tue Feb 07 2006 Jesse Keating <jkeating@redhat.com> - 2.2.2-20.2
|
|
|
94c734 |
- rebuilt for new gcc4.1 snapshot and glibc changes
|
|
|
94c734 |
|
|
|
94c734 |
* Fri Dec 09 2005 Jesse Keating <jkeating@redhat.com>
|
|
|
94c734 |
- rebuilt
|
|
|
94c734 |
|
|
|
94c734 |
* Sat Mar 5 2005 Jakub Jelinek <jakub@redhat.com> 2.2.2-20
|
|
|
94c734 |
- rebuilt with GCC 4
|
|
|
94c734 |
|
|
|
94c734 |
* Sat Oct 16 2004 Jakub Jelinek <jakub@redhat.com> 2.2.2-19
|
|
|
94c734 |
- when EF_PROTECT_FREE=1, instead of munmaping mprotect PROT_NONE
|
|
|
94c734 |
and madvise MADV_DONTNEED (#107506)
|
|
|
94c734 |
|
|
|
94c734 |
* Tue Jun 15 2004 Elliot Lee <sopwith@redhat.com>
|
|
|
94c734 |
- rebuilt
|
|
|
94c734 |
|
|
|
94c734 |
* Tue Mar 02 2004 Elliot Lee <sopwith@redhat.com>
|
|
|
94c734 |
- rebuilt
|
|
|
94c734 |
|
|
|
94c734 |
* Fri Feb 13 2004 Elliot Lee <sopwith@redhat.com>
|
|
|
94c734 |
- rebuilt
|
|
|
94c734 |
|
|
|
94c734 |
* Wed Jun 04 2003 Elliot Lee <sopwith@redhat.com>
|
|
|
94c734 |
- rebuilt
|
|
|
94c734 |
|
|
|
94c734 |
* Mon Feb 3 2003 Jakub Jelinek <jakub@redhat.com>
|
|
|
94c734 |
- never call semaphore routines in between
|
|
|
94c734 |
__libc_malloc_pthread_startup(true) and
|
|
|
94c734 |
__libc_malloc_pthread_startup(false) (#83111)
|
|
|
94c734 |
- only use semaphore locking if application or its dependencies
|
|
|
94c734 |
are linked against -lpthread, don't link libefence.so against
|
|
|
94c734 |
-lpthread
|
|
|
94c734 |
- run tests as part of the build process
|
|
|
94c734 |
|
|
|
94c734 |
* Wed Jan 22 2003 Tim Powers <timp@redhat.com>
|
|
|
94c734 |
- rebuilt
|
|
|
94c734 |
|
|
|
94c734 |
* Tue Jan 7 2003 Jeff Johnson <jbj@redhat.com> 2.2.2-13
|
|
|
94c734 |
- don't include -debuginfo files in package.
|
|
|
94c734 |
|
|
|
94c734 |
* Thu Dec 12 2002 Tim Powers <timp@redhat.com> 2.2.2-12
|
|
|
94c734 |
- rebuild on all arches
|
|
|
94c734 |
|
|
|
94c734 |
* Fri Jun 21 2002 Tim Powers <timp@redhat.com>
|
|
|
94c734 |
- automated rebuild
|
|
|
94c734 |
|
|
|
94c734 |
* Thu May 23 2002 Tim Powers <timp@redhat.com>
|
|
|
94c734 |
- automated rebuild
|
|
|
94c734 |
|
|
|
94c734 |
* Wed Jan 09 2002 Tim Powers <timp@redhat.com>
|
|
|
94c734 |
- automated rebuild
|
|
|
94c734 |
|
|
|
94c734 |
* Sun Jun 24 2001 Elliot Lee <sopwith@redhat.com>
|
|
|
94c734 |
- Bump release + rebuild.
|
|
|
94c734 |
|
|
|
94c734 |
* Thu Nov 16 2000 Tim Powers <timp@redhat.com>
|
|
|
94c734 |
- use -fPIC, not -fpic, also -DUSE_SEMAPHORE to make it thread safe,
|
|
|
94c734 |
as per bug #20935
|
|
|
94c734 |
|
|
|
94c734 |
* Tue Sep 19 2000 Bill Nottingham <notting@redhat.com>
|
|
|
94c734 |
- use -fpic
|
|
|
94c734 |
|
|
|
94c734 |
* Fri Aug 18 2000 Tim Waugh <twaugh@redhat.com>
|
|
|
94c734 |
- fix efence.3/libefence.3 confusion (#16412).
|
|
|
94c734 |
|
|
|
94c734 |
* Tue Aug 1 2000 Tim Powers <timp@redhat.com>
|
|
|
94c734 |
- added ldconfig stuff to ;post and postun
|
|
|
94c734 |
- added Requires /sbin/ldconfig
|
|
|
94c734 |
* Wed Jul 12 2000 Prospector <bugzilla@redhat.com>
|
|
|
94c734 |
- automatic rebuild
|
|
|
94c734 |
|
|
|
94c734 |
* Wed Jul 05 2000 Preston Brown <pbrown@redhat.com>
|
|
|
94c734 |
- back in main distro
|
|
|
94c734 |
- 2.2.2 version - claimed beta, but no releases in over a year.
|
|
|
94c734 |
- FHS macros
|
|
|
94c734 |
|
|
|
94c734 |
* Fri May 26 2000 Tim Powers <timp@redhat.com>
|
|
|
94c734 |
- moved to Powertools
|
|
|
94c734 |
- fix map page location to be in /usr/share/man
|
|
|
94c734 |
|
|
|
94c734 |
* Tue May 16 2000 Jakub Jelinek <jakub@redhat.com>
|
|
|
94c734 |
- fix build on ia64
|
|
|
94c734 |
|
|
|
94c734 |
* Wed Feb 02 2000 Cristian Gafton <gafton@redhat.com>
|
|
|
94c734 |
- fix description
|
|
|
94c734 |
- man pages are compressed
|
|
|
94c734 |
|
|
|
94c734 |
* Tue Jan 4 2000 Jeff Johnson <jbj@redhat.com>
|
|
|
94c734 |
- remove ExcludeArch: alpha (#6683).
|
|
|
94c734 |
|
|
|
94c734 |
* Sat Apr 10 1999 Matt Wilson <msw@redhat.com>
|
|
|
94c734 |
- version 2.1
|
|
|
94c734 |
|
|
|
94c734 |
* Sun Mar 21 1999 Cristian Gafton <gafton@redhat.com>
|
|
|
94c734 |
- auto rebuild in the new build environment (release 13)
|
|
|
94c734 |
|
|
|
94c734 |
* Wed Jan 06 1999 Cristian Gafton <gafton@redhat.com>
|
|
|
94c734 |
- build for glibc 2.1
|
|
|
94c734 |
|
|
|
94c734 |
* Fri Aug 21 1998 Jeff Johnson <jbj@redhat.com>
|
|
|
94c734 |
- create efence.3 (problem #830)
|
|
|
94c734 |
|
|
|
94c734 |
* Tue Aug 4 1998 Jeff Johnson <jbj@redhat.com>
|
|
|
94c734 |
- build root
|
|
|
94c734 |
|
|
|
94c734 |
* Mon Jun 01 1998 Prospector System <bugs@redhat.com>
|
|
|
94c734 |
- translations modified for de
|
|
|
94c734 |
|
|
|
94c734 |
* Mon Jun 01 1998 Prospector System <bugs@redhat.com>
|
|
|
94c734 |
- need to use sigsetjmp() and siglongjmp() for proper testing
|
|
|
94c734 |
|
|
|
94c734 |
* Fri May 01 1998 Prospector System <bugs@redhat.com>
|
|
|
94c734 |
- translations modified for de, fr, tr
|
|
|
94c734 |
|
|
|
94c734 |
* Thu Apr 30 1998 Cristian Gafton <gafton@redhat.com>
|
|
|
94c734 |
- use ExcludeArch instead of Exclude
|
|
|
94c734 |
|
|
|
94c734 |
* Thu Jul 10 1997 Erik Troan <ewt@redhat.com>
|
|
|
94c734 |
- built against glibc
|