forked from SimonKagstrom/kcov
-
Notifications
You must be signed in to change notification settings - Fork 0
/
ChangeLog
239 lines (151 loc) · 7.22 KB
/
ChangeLog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
Kcov (14):
* Add two options, --collect-only and --report-only to only collect
coverage and produce Cobertura/HTML output respectively. Can be
used for example on embedded systems where the source code isn't
available.
* PowerPC support has been added (thanks to Aleksandr Vilchinskii and
Konstantin Polivtsev for testing this)
-- Simon Kagstrom <[email protected]>
Kcov (13):
* Don't hang the kcov main process if a breakpoint comes in
before the solib handler constructor has executed (depends on
the construction order)
* Correct bug with realloc in solib handling (malloc all
data once only)
-- Simon Kagstrom <[email protected]>, Sun Dec 8 19:34:37 CET 2013
Kcov (12):
* Fix lockup bug in the solib code path (where processes with
many solibs would hang at startup)
* Correct a crash in the reporter
* Add test case for signals
* Report from main thread to avoid threading issues
* Fairly major refactoring of ptrace code to avoid an issue
where two PTRACE_CONTINUE calls could be done without
waitpid() in between. This would cause crashes in the
traced program.
* Add support for looking for debug info in separate files
via build-id (Alexander Larsson)
* Add --exit-first-process option to fork kcov when covering
daemons (otherwise kcov will wait for all children to finish)
* Add --skip-solibs option to disable processing of shared
libraries, which also works around a bug which sometimes
triggers
* Add --replace-source-path option for cases where the sources
have been moved (James Warner)
* Fix linking (Igor Murzov)
* Some build fixes to make it build with clang++
* Fix various warnings
* Add experimental profiler based on kcov
* Add sorting by reverse-percent (high -> low, -u option)
* Cache non-existing files to avoid doing lstat calls all the
time (slight performance improvement)
* closedir() was not called from the html-writer, which creates
a resource leak (Karl Vogel)
-- Simon Kagstrom <[email protected]>, Sat Oct 19 11:06:42 CEST 2013
Kcov (11):
* Fix handling of common paths in HTML writer
* Fix bug in shared library handling where repeated exec()s would
cause strange hangs. Fixed by unsetting the KCOV_SOLIB_PATH environment
variable after the first executable has been started.
Add test-popen test case to check for this.
* Expand ~'s in the --include-path and --exclude-path options
* Unbreak accumulating data from multiple runs again (introduced
sometime during refactoring), and add test case for this
-- Simon Kagstrom <[email protected]>, Sat Aug 18 08:45:03 CEST 2012
Kcov (10):
* Fix bug where multiple files with the same name would only be shown
once in the HTML output.
* Fix icache conflict bug (present while instrumenting shared libraries)
on multi-CPU systems by forcing all traced processes to one CPU
* Re-enable the --pid=PID argument to trace a running process again
* Fix race condition in the reporter
* Only set breakpoints in executable sections. This avoids problems where
the DWARF line information points to non-code sections (which can happen)
* Fix coverage reporting of orphaned children (where the parent does not
wait(2) for the child
* Use std::unordered_map for breakpoints (improves performance somewhat)
* Improve unit tests
* Add robot-framework testsuite that can be run from a Jenkins server
-- Simon Kagstrom <[email protected]>, Mon Jul 23 13:28:43 CEST 2012
Kcov (9):
* Completely refactor the source code (yes, everything!), and add
unit tests to verify kcov itself. The code is now in C++.
* Implement transparent coverage instrumentation for shared libraries
(done automatically)
* Implement a Cobertura-compatible XML backend. This allows integrating
kcov coverage information in Jenkins.
* Improve performance a lot by filtering out files already at the
instrumentation step (and not only during HTML generation). This
means that --include-pattern/--include-path can improve kcov performance
by quite a bit.
-- Simon Kagstrom <[email protected]>, Fri Jun 15 17:39:17 CEST 2012
Kcov (8):
* Import the man-page from Debian and update it.
* Simplify parts of the ptrace code
* Correct the sorting of files-by-percentage when the difference
is less than 0.5% (thanks Martin!).
* Correct the percentage-bar color according to the configured
limits in the report.
-- Simon Kagstrom <[email protected]>, Sun Dec 4 14:13:47 CET 2011
Kcov (7):
* Weed out common parts of source paths from the report, display
the full path as the HTML title= tag
* Fix crash bug in argument passing
* Handle hit count a bit better
-- Simon Kagstrom <[email protected]>, 2011-07-10
Kcov (6):
* Correct hit count. The hit count is no longer over the number of
possible hits
* Better error reporting when stripped or otherwise broken binaries
are passed to kcov
* Handle files with relative directory paths (lookup the absolute
path via DWARF source files). Otherwise, some files are not reported
in the output.
* Add test program to detect regressions
* Detect stripped binaries and report that you'll need to build
with -g
* Correct --include/exclude-path behavior. The previous version
will match PATH*/* instead of just PATH/* (Igor Murzov)
* Various small fixes
-- Simon Kagstrom <[email protected]>, Sat Apr 16 08:28:27 CEST 2011
Kcov (5):
* Switch from libdwarf to libdw (from elfutils) for building
kcov. libdw is a bit more logical than libdwarf.
* Implement actual path matching (Igor Murzov)
* Rename path-matching to pattern matching (which is what it does)
and set it up using long options.
* Parse options with getopt
* Don't escape all multibyte characters in the report. That will
break display of UTF-8 etc (Igor Murzov)
* Improve cmake packaging support (Igor Murzov)
-- Simon Kagstrom <[email protected]>, Sat Feb 12 15:25:57 CET 2011
Kcov (4):
* Build system is now based on cmake (Igor Murzov)
* Add MIPS32, ARM and PowerPC architecture support. This is untested though
and might very well not work at all.
* Add -t option to set the title of the program to test (otherwise it
will be the filename)
* Refactored the architecture support to allow running i386 programs
on x86_64 machines, and easier add other architectures
* Make it possible to collect coverage from multiple programs in a
single directory, useful for example when running a test suite
* Add coverage color to the header as well
* Misc refactoring
-- Simon Kagstrom <[email protected]>, Tue Dec 7 18:20:28 CET 2010
Kcov (3):
* Various bug fixes
* Add ability to trace running processes by PID
* Fix copyright headers
-- Simon Kagstrom <[email protected]>, Sat Nov 13 08:13:03 CET 2010
Kcov (2):
* Misc fixes
* Add ability to specify low/high limits
* Add state saving between runs. Re-starting the same program
will then add to existing coverage instead of starting from
scratch.
* Link to web page in the report
* Add option to sort by percentage or file name
-- Simon Kagstrom <[email protected]>, Sun Oct 24 09:15:39 CEST 2010
Kcov (1):
* Initial release
-- Simon Kagstrom <[email protected]>