Offset 34, 15 lines modifiedOffset 34, 15 lines modified
34 .SH·NAME34 .SH·NAME
35 .sp35 .sp
36 lcov36 lcov
37 Capture·and·manipulate·coverage·data·from·lcov·tracefiles·or·gcov37 Capture·and·manipulate·coverage·data·from·lcov·tracefiles·or·gcov
38 .SH·SYNOPSIS38 .SH·SYNOPSIS
39 .sp39 .sp
40 Capture·coverage·data·tracefile·(from·compiler\-generated·data).40 Capture·coverage·data·tracefile·(from·compiler\-generated·data).
41 The·lcov·tracefile·(.info·file)·format·is·described·in·\fBgeninfo(1)·\%<file://\:\:../\:man/\:geninfo\:.1\:.html>\fP\&.41 The·lcov·tracefile·(\(dq.info\(dq·file)·format·is·described·in·\fBgeninfo(1)·\%<file://\:\:../\:man/\:geninfo\:.1\:.html>\fP\&.
42 .INDENT·0.042 .INDENT·0.0
43 .INDENT·3.543 .INDENT·3.5
44 .sp44 .sp
45 .EX45 .EX
46 lcov·\-c·|·\-\-capture46 lcov·\-c·|·\-\-capture
47 ····[·\-d·|·\-\-directory·*directory*·]47 ····[·\-d·|·\-\-directory·*directory*·]
48 ····[·\-k·|·\-\-kernel\-directory·*directory*·]48 ····[·\-k·|·\-\-kernel\-directory·*directory*·]
Offset 252, 15 lines modifiedOffset 252, 15 lines modified
252 ····[·\-\-fail\-under\-branches·*percentage*·]252 ····[·\-\-fail\-under\-branches·*percentage*·]
253 ····[·\-\-fail\-under\-lines·*percentage*·]253 ····[·\-\-fail\-under\-lines·*percentage*·]
254 .EE254 .EE
255 .UNINDENT255 .UNINDENT
256 .UNINDENT256 .UNINDENT
257 .SH·DESCRIPTION257 .SH·DESCRIPTION
258 .sp258 .sp
259 \fBlcov\fP·is·a·graphical·front\-end·for·GCCs·coverage·testing·tool·gcov.·It·collects259 \fBlcov\fP·is·a·graphical·front\-end·for·GCC\(aqs·coverage·testing·tool·gcov.·It·collects
260 line,·function·and·branch·coverage·data·for·multiple·source·files·and·creates260 line,·function·and·branch·coverage·data·for·multiple·source·files·and·creates
261 HTML·pages·containing·the·source·code·annotated·with·coverage·information.261 HTML·pages·containing·the·source·code·annotated·with·coverage·information.
262 It·also·adds·overview·pages·for·easy·navigation·within·the·file·structure.262 It·also·adds·overview·pages·for·easy·navigation·within·the·file·structure.
263 .sp263 .sp
264 Use·\fBlcov\fP·to·collect·coverage·data·and·\fBgenhtml\fP·to·create·HTML·pages.·Coverage·data·can·either·be·collected·from·the264 Use·\fBlcov\fP·to·collect·coverage·data·and·\fBgenhtml\fP·to·create·HTML·pages.·Coverage·data·can·either·be·collected·from·the
265 currently·running·Linux·kernel·or·from·a·user·space·application.·To·do·this,265 currently·running·Linux·kernel·or·from·a·user·space·application.·To·do·this,
266 you·have·to·complete·the·following·preparation·steps:266 you·have·to·complete·the·following·preparation·steps:
Offset 273, 21 lines modifiedOffset 273, 21 lines modified
273 .UNINDENT273 .UNINDENT
274 .UNINDENT274 .UNINDENT
275 .sp275 .sp
276 For·user·space·application·coverage:276 For·user·space·application·coverage:
277 .INDENT·0.0277 .INDENT·0.0
278 .INDENT·3.5278 .INDENT·3.5
279 Compile·the·application·with·GCC·using·the·options279 Compile·the·application·with·GCC·using·the·options
280 \-fprofile\-arcs·and·\-ftest\-coverage·or·“–coverage.280 \(dq\-fprofile\-arcs\(dq·and·\(dq\-ftest\-coverage\(dq·or·\(dq\-\-coverage\(dq.
281 .UNINDENT281 .UNINDENT
282 .UNINDENT282 .UNINDENT
283 .sp283 .sp
284 Please·note·that·this·man·page·refers·to·the·output·format·of284 Please·note·that·this·man·page·refers·to·the·output·format·of
285 \fBlcov\fP·as·.info·file·or·tracefile·and·that·the·output·of·GCOV285 \fBlcov\fP·as·\(dq.info·file\(dq·or·\(dqtracefile\(dq·and·that·the·output·of·GCOV
286 is·called·.da·file.286 is·called·\(dq.da·file\(dq.
287 .sp287 .sp
288 Also·note·that·when·printing·percentages,·0%·and·100%·are·only·printed·when288 Also·note·that·when·printing·percentages,·0%·and·100%·are·only·printed·when
289 the·values·are·exactly·0%·and·100%·respectively.·Other·values·which·would289 the·values·are·exactly·0%·and·100%·respectively.·Other·values·which·would
290 conventionally·be·rounded·to·0%·or·100%·are·instead·printed·as·nearest290 conventionally·be·rounded·to·0%·or·100%·are·instead·printed·as·nearest
291 non\-boundary·value.·This·behavior·is·in·accordance·with·that·of·the291 non\-boundary·value.·This·behavior·is·in·accordance·with·that·of·the
292 \fBgcov(1)·\%<file://\:\:../\:man/\:gcov\:.1\:.html>\fP·tool.292 \fBgcov(1)·\%<file://\:\:../\:man/\:gcov\:.1\:.html>\fP·tool.
293 .sp293 .sp
Offset 316, 15 lines modifiedOffset 316, 15 lines modified
316 Specify·several·tracefiles·using·the·\-a·switch·to·combine·the·coverage·data316 Specify·several·tracefiles·using·the·\-a·switch·to·combine·the·coverage·data
317 contained·in·these·files·by·adding·up·execution·counts·for·matching·test·and317 contained·in·these·files·by·adding·up·execution·counts·for·matching·test·and
318 filename·combinations.318 filename·combinations.
319 .sp319 .sp
320 The·result·of·the·add·operation·will·be·written·to·stdout·or·the·tracefile320 The·result·of·the·add·operation·will·be·written·to·stdout·or·the·tracefile
321 specified·with·\-o.321 specified·with·\-o.
322 .sp322 .sp
323 Only·one·of··\-z,·\-c,·\-a,·\-e,·\-r,·\-l·or·summary·may·be323 Only·one·of··\-z,·\-c,·\-a,·\-e,·\-r,·\-l·or·\-\-summary·may·be
324 specified·at·a·time.324 specified·at·a·time.
325 .UNINDENT325 .UNINDENT
326 .UNINDENT326 .UNINDENT
327 .sp327 .sp
328 \fB\-b\fP·\fIdirectory\fP328 \fB\-b\fP·\fIdirectory\fP
329 \fB\-\-base\-directory\fP·\fIdirectory\fP329 \fB\-\-base\-directory\fP·\fIdirectory\fP
330 .INDENT·0.0330 .INDENT·0.0
Offset 368, 25 lines modifiedOffset 368, 25 lines modified
368 for·details.368 for·details.
369 .UNINDENT369 .UNINDENT
370 .UNINDENT370 .UNINDENT
371 .sp371 .sp
372 \fB\-\-source\-directory\fP·\fIdirname\fP372 \fB\-\-source\-directory\fP·\fIdirname\fP
373 .INDENT·0.0373 .INDENT·0.0
374 .INDENT·3.5374 .INDENT·3.5
375 Add·dirname·to·the·list·of·places·to·look·for·source·files.375 Add·\(aqdirname\(aq·to·the·list·of·places·to·look·for·source·files.
376 .sp376 .sp
377 For·relative·source·file·paths·listed·in377 For·relative·source·file·paths·listed·in
378 \fIe.g.\fP378 \fIe.g.\fP
379 paths·found·in379 paths·found·in
380 \fItracefile\fP,380 \fItracefile\fP,
381 or·found·in·gcov·output·during381 or·found·in·gcov·output·during
382 \fIcapture\fP382 \fI\-\-capture\fP
383 \-·possibly·after·substitutions·have·been·applied·\-383 \-·possibly·after·substitutions·have·been·applied·\-
384 \fBlcov\fP384 \fBlcov\fP
385 will·first·look·for·the·path·from·cwd·(where·genhtml·was385 will·first·look·for·the·path·from·\(aqcwd\(aq·(where·genhtml·was
386 invoked)·and386 invoked)·and
387 then·from·each·alternate·directory·name·in·the·order·specified.387 then·from·each·alternate·directory·name·in·the·order·specified.
388 The·first·location·matching·location·is·used.388 The·first·location·matching·location·is·used.
389 .sp389 .sp
390 This·option·can·be·specified·multiple·times,·to·add·more·directories·to·the·source·search·path.390 This·option·can·be·specified·multiple·times,·to·add·more·directories·to·the·source·search·path.
391 .UNINDENT391 .UNINDENT
392 .UNINDENT392 .UNINDENT
Offset 394, 15 lines modifiedOffset 394, 15 lines modified
394 \fB\-c\fP394 \fB\-c\fP
395 \fB\-\-capture\fP395 \fB\-\-capture\fP
396 .INDENT·0.0396 .INDENT·0.0
397 .INDENT·3.5397 .INDENT·3.5
398 Capture·runtime·coverage·data.398 Capture·runtime·coverage·data.
399 .sp399 .sp
400 By·default·captures·the·current·kernel·execution·counts·and·writes·the400 By·default·captures·the·current·kernel·execution·counts·and·writes·the
401 resulting·coverage·data·to·the·standard·output.·Use·the·directory401 resulting·coverage·data·to·the·standard·output.·Use·the·\-\-directory
402 option·to·capture·counts·for·a·user·space·program.402 option·to·capture·counts·for·a·user·space·program.
403 .sp403 .sp
404 The·result·of·the·capture·operation·will·be·written·to·stdout·or·the·tracefile404 The·result·of·the·capture·operation·will·be·written·to·stdout·or·the·tracefile
405 specified·with·\-o.405 specified·with·\-o.
406 .sp406 .sp
407 When·combined·with·the407 When·combined·with·the
408 \fB\-\-all\fP408 \fB\-\-all\fP
Offset 411, 39 lines modifiedOffset 411, 39 lines modified
411 \fB\-\-initial\fP411 \fB\-\-initial\fP
412 flag,·below.412 flag,·below.
413 .sp413 .sp
414 See·man414 See·man
415 \fBgeninfo(1)·\%<file://\:\:../\:man/\:geninfo\:.1\:.html>\fP)415 \fBgeninfo(1)·\%<file://\:\:../\:man/\:geninfo\:.1\:.html>\fP)
416 for·more·details·about·the·capture·process·and·available·options·and·parameters.416 for·more·details·about·the·capture·process·and·available·options·and·parameters.
417 .sp417 .sp
418 Only·one·of··\-z,·\-c,·\-a,·\-e,·\-r,·\-l,·diff·or·summary·may·be418 Only·one·of··\-z,·\-c,·\-a,·\-e,·\-r,·\-l,·\-\-diff·or·\-\-summary·may·be
419 specified·at·a·time.419 specified·at·a·time.
420 .UNINDENT420 .UNINDENT
421 .UNINDENT421 .UNINDENT
422 .sp422 .sp
423 \fB\-\-branch\-coverage\fP423 \fB\-\-branch\-coverage\fP
424 .INDENT·0.0424 .INDENT·0.0
425 .INDENT·3.5425 .INDENT·3.5
Max report size reached; 36470/41348 bytes (88.20%) of diff not shown.
d>Collect·and/or·retain·branch·coverage·data. 427 .sp427 .sp 428 This·is·equivalent·to·using·the·option·“–rc·branch_coverage=1;·the·option·was·added·to·better·match·the·genhtml·interface.428 This·is·equivalent·to·using·the·option·\(dq\-\-rc·branch_coverage=1\(dq;·the·option·was·added·to·better·match·the·genhtml·interface. 429 .UNINDENT429 .UNINDENT 430 .UNINDENT430 .UNINDENT 431 .sp431 .sp 432 \fB\-\-mcdc\-coverage\fP432 \fB\-\-mcdc\-coverage\fP 433 .INDENT·0.0433 .INDENT·0.0 434 .INDENT·3.5434 .INDENT·3.5 435 Collect·and·retain·MC/DC·data.435 Collect·and·retain·MC/DC·data. 436 .sp436 .sp 437 This·is·equivalent·to·using·the·option·“–rc·mcdc_coverage=1.437 This·is·equivalent·to·using·the·option·\(dq\-\-rc·mcdc_coverage=1\(dq. 438 MC/DC·coverage·is·supported·for·GCC·versions·14.2·and·higher,·or438 MC/DC·coverage·is·supported·for·GCC·versions·14.2·and·higher,·or 439 LLVM·18.1·and·higher.439 LLVM·18.1·and·higher. 440 .sp440 .sp 441 See441 See 442 \fIllvm2lcov·help\fP442 \fIllvm2lcov·\-\-help\fP 443 for·details·on·MC/DC·data·capture·in·LLVM.443 for·details·on·MC/DC·data·capture·in·LLVM. 444 .sp444 .sp 445 See·the·MC/DC·section·of·man445 See·the·MC/DC·section·of·man 446 \fBgenhtml(1)·\%<file://\:\:../\:man/\:genhtml\:.1\:.html>\fP446 \fBgenhtml(1)·\%<file://\:\:../\:man/\:genhtml\:.1\:.html>\fP 447 for·more·details447 for·more·details 448 .UNINDENT448 .UNINDENT 449 .UNINDENT449 .UNINDENT Offset 451, 39 lines modifiedOffset 451, 39 lines modified 451 \fB\-\-checksum\fP451 \fB\-\-checksum\fP 452 \fB\-\-no\-checksum\fP452 \fB\-\-no\-checksum\fP 453 .INDENT·0.0453 .INDENT·0.0 454 .INDENT·3.5454 .INDENT·3.5 455 Specify·whether·to·generate·checksum·data·when·writing·tracefiles·and/or·to455 Specify·whether·to·generate·checksum·data·when·writing·tracefiles·and/or·to 456 verify·matching·checksums·when·combining·trace·files.456 verify·matching·checksums·when·combining·trace·files. 457 .sp457 .sp 458 Use·checksum·to·enable·checksum·generation·or·no\-checksum·to458 Use·\-\-checksum·to·enable·checksum·generation·or·\-\-no\-checksum·to 459 disable·it.·Checksum·generation·is459 disable·it.·Checksum·generation·is 460 \fBdisabled\fP460 \fBdisabled\fP 461 by·default.461 by·default. 462 .sp462 .sp 463 When·checksum·generation·is·enabled,·a·checksum·will·be·generated·for·each463 When·checksum·generation·is·enabled,·a·checksum·will·be·generated·for·each 464 source·code·line·and·stored·along·with·the·coverage·data.·This·checksum·will464 source·code·line·and·stored·along·with·the·coverage·data.·This·checksum·will 465 be·used·to·prevent·attempts·to·combine·coverage·data·from·different·source465 be·used·to·prevent·attempts·to·combine·coverage·data·from·different·source 466 code·versions.466 code·versions. 467 .sp467 .sp 468 If·you·dont·work·with·different·source·code·versions,·disable·this·option468 If·you·don\(aqt·work·with·different·source·code·versions,·disable·this·option 469 to·speed·up·coverage·data·processing·and·to·reduce·the·size·of·tracefiles.469 to·speed·up·coverage·data·processing·and·to·reduce·the·size·of·tracefiles. 470 .sp470 .sp 471 Note·that·this·options·is·somewhat·subsumed·by·the471 Note·that·this·options·is·somewhat·subsumed·by·the 472 \fB\-\-version\-script\fP472 \fB\-\-version\-script\fP 473 option·\-·which·does·something·similar,·but·at·the·whole·file·level.473 option·\-·which·does·something·similar,·but·at·the·\(aqwhole·file\(aq·level. 474 .UNINDENT474 .UNINDENT 475 .UNINDENT475 .UNINDENT 476 .sp476 .sp 477 \fB\-\-compat\fP·\fImode\fP=\fIvalue*[,*mode\fP=\fIvalue\fP,]477 \fB\-\-compat\fP·\fImode\fP=\fIvalue*[,*mode\fP=\fIvalue\fP,...] 478 .INDENT·0.0478 .INDENT·0.0 479 .INDENT·3.5479 .INDENT·3.5 480 Set·compatibility·mode.480 Set·compatibility·mode. 481 .sp481 .sp 482 Use·compat·to·specify·that·lcov·should·enable·one·or·more·compatibility482 Use·\-\-compat·to·specify·that·lcov·should·enable·one·or·more·compatibility 483 modes·when·capturing·coverage·data.·You·can·provide·a·comma\-separated·list483 modes·when·capturing·coverage·data.·You·can·provide·a·comma\-separated·list 484 of·mode=value·pairs·to·specify·the·values·for·multiple·modes.484 of·mode=value·pairs·to·specify·the·values·for·multiple·modes. 485 .sp485 .sp 486 Valid486 Valid 487 \fIvalues\fP487 \fIvalues\fP 488 are:488 are: 489 .sp489 .sp Offset 505, 75 lines modifiedOffset 505, 75 lines modified 505 .INDENT·0.0505 .INDENT·0.0 506 .INDENT·3.5506 .INDENT·3.5 507 Apply·auto\-detection·to·determine·if·compatibility·mode·is·required.·Note·that507 Apply·auto\-detection·to·determine·if·compatibility·mode·is·required.·Note·that 508 auto\-detection·is·not·available·for·all·compatibility·modes.508 auto\-detection·is·not·available·for·all·compatibility·modes. 509 .UNINDENT509 .UNINDENT 510 .UNINDENT510 .UNINDENT 511 .sp511 .sp 512 If·no·value·is·specified,·on·is·assumed·as·default·value.512 If·no·value·is·specified,·\(aqon\(aq·is·assumed·as·default·value. 513 .sp513 .sp 514 Valid514 Valid 515 \fImodes\fP515 \fImodes\fP 516 are:516 are: 517 .sp517 .sp 518 \fBlibtool\fP518 \fBlibtool\fP 519 .INDENT·0.0519 .INDENT·0.0 520 .INDENT·3.5520 .INDENT·3.5 521 Enable·this·mode·if·you·are·capturing·coverage·data·for·a·project·that521 Enable·this·mode·if·you·are·capturing·coverage·data·for·a·project·that 522 was·built·using·the·libtool·mechanism.·See·also522 was·built·using·the·libtool·mechanism.·See·also 523 compat\-libtool.523 \-\-compat\-libtool. 524 .sp524 .sp 525 The·default·value·for·this·setting·is·on.525 The·default·value·for·this·setting·is·\(aqon\(aq. 526 .UNINDENT526 .UNINDENT 527 .UNINDENT527 .UNINDENT 528 .sp528 .sp 529 \fBhammer\fP529 \fBhammer\fP 530 .INDENT·0.0530 .INDENT·0.0 531 .INDENT·3.5531 .INDENT·3.5 532 Enable·this·mode·if·you·are·capturing·coverage·data·for·a·project·that532 Enable·this·mode·if·you·are·capturing·coverage·data·for·a·project·that 533 was·built·using·a·version·of·GCC·3.3·that·contains·a·modification533 was·built·using·a·version·of·GCC·3.3·that·contains·a·modification 534 (hammer·patch)·of·later·GCC·versions.·You·can·identify·a·modified·GCC·3.3534 (hammer·patch)·of·later·GCC·versions.·You·can·identify·a·modified·GCC·3.3 535 by·checking·the·build·directory·of·your·project·for·files·ending·in·the535 by·checking·the·build·directory·of·your·project·for·files·ending·in·the 536 extension·.bbg.·Unmodified·versions·of·GCC·3.3·name·these·files·.bb.536 extension·\(aq.bbg\(aq.·Unmodified·versions·of·GCC·3.3·name·these·files·\(aq.bb\(aq. 537 .sp537 .sp 538 The·default·value·for·this·setting·is·auto.538 The·default·value·for·this·setting·is·\(aqauto\(aq. 539 .UNINDENT539 .UNINDENT 540 .UNINDENT540 .UNINDENT 541 .sp541 .sp 542 \fBsplit_crc\fP542 \fBsplit_crc\fP 543 .INDENT·0.0543 .INDENT·0.0 544 .INDENT·3.5544 .INDENT·3.5 Max report size reached; 32485/41348 bytes (78.56%) of diff not shown.