]>
Commit | Line | Data |
---|---|---|
96e48a11 PS |
1 | Summary: A tool for trace and analyze memory leaks in C++ programs |
2 | Name: LeakTracer | |
3 | Version: 2.3 | |
4 | Release: 1 | |
5 | License: Public Domain | |
6 | Group: Applications | |
e23bdcbe | 7 | Source0: http://www.andreasen.org/LeakTracer/LeakTracer.tar.gz |
96e48a11 PS |
8 | # Source0-md5: e1cf9d03c12a45d39f253e558d231438 |
9 | Patch0: %{name}-Makefile.patch | |
10 | URL: http://www.andreasen.org/LeakTracer/ | |
e23bdcbe | 11 | BuildRequires: libstdc++-devel |
96e48a11 PS |
12 | BuildRequires: sed >= 4.0 |
13 | Requires: gdb | |
14 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) | |
15 | ||
16 | %description | |
17 | LeakTracer is a small tool for checking a C++ program for memory | |
18 | leaks. To use LeakTracer, run your program using the provided | |
19 | LeakCheck script. It uses the LD_PRELOAD feature to "overlay" some | |
20 | functions on top of your functions (no recompile needed). leak-anlyze | |
21 | uses gdb to print out the exact line where the memory was allocated | |
22 | and not freed - this of course means you have to free all dynamically | |
23 | allocated data. LeakTracer also overrides the global operator new and | |
24 | operator delete - this will give problems if you override them as | |
25 | well. LeakTracer traces only new/new[] and delete calls - it does not | |
26 | look at malloc/free/realloc. | |
27 | ||
28 | %prep | |
29 | %setup -q -n %{name} | |
30 | %patch0 -p1 | |
31 | ||
32 | %build | |
33 | sed -i "s:SHLIB=.*:SHLIB=%{_libdir}/LeakTracer.so:" LeakCheck | |
34 | ||
35 | %{__make} \ | |
36 | CXX="%{__cxx}" \ | |
37 | CXXFLAGS="%{rpmcflags}" | |
38 | ||
39 | %install | |
40 | rm -rf $RPM_BUILD_ROOT | |
41 | install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir}} | |
42 | ||
43 | install leak-analyze $RPM_BUILD_ROOT%{_bindir} | |
44 | install LeakCheck $RPM_BUILD_ROOT%{_bindir} | |
45 | install LeakTracer.so $RPM_BUILD_ROOT%{_libdir} | |
46 | ||
47 | %clean | |
48 | rm -rf $RPM_BUILD_ROOT | |
49 | ||
50 | %post -p /sbin/ldconfig | |
51 | %postun -p /sbin/ldconfig | |
52 | ||
53 | %files | |
54 | %defattr(644,root,root,755) | |
55 | %doc README | |
56 | %attr(755,root,root) %{_bindir}/* | |
57 | %attr(755,root,root) %{_libdir}/*.so |