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