Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 154583
b: refs/heads/master
c: 972c71a
h: refs/heads/master
i:
  154581: 0b313db
  154579: d2ed18d
  154575: cfed108
v: v3
  • Loading branch information
Peter Oberparleiter authored and Linus Torvalds committed Jul 1, 2009
1 parent f346465 commit 0e42f65
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 10 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: b01e8dc34379f4ba2f454390e340a025edbaaa7e
refs/heads/master: 972c71a3183ab41c0b1a9e50842be7e3e980954f
25 changes: 16 additions & 9 deletions trunk/Documentation/gcov.txt
Original file line number Diff line number Diff line change
Expand Up @@ -188,13 +188,18 @@ Solution: Exclude affected source files from profiling by specifying
GCOV_PROFILE := n or GCOV_PROFILE_basename.o := n in the
corresponding Makefile.

Problem: Files copied from sysfs appear empty or incomplete.
Cause: Due to the way seq_file works, some tools such as cp or tar
may not correctly copy files from sysfs.
Solution: Use 'cat' to read .gcda files and 'cp -d' to copy links.
Alternatively use the mechanism shown in Appendix B.


Appendix A: gather_on_build.sh
==============================

Sample script to gather coverage meta files on the build machine
(see 6a):

#!/bin/bash

KSRC=$1
Expand Down Expand Up @@ -226,7 +231,7 @@ Appendix B: gather_on_test.sh
Sample script to gather coverage data files on the test machine
(see 6b):

#!/bin/bash
#!/bin/bash -e

DEST=$1
GCDA=/sys/kernel/debug/gcov
Expand All @@ -236,11 +241,13 @@ if [ -z "$DEST" ] ; then
exit 1
fi

find $GCDA -name '*.gcno' -o -name '*.gcda' | tar cfz $DEST -T -
TEMPDIR=$(mktemp -d)
echo Collecting data..
find $GCDA -type d -exec mkdir -p $TEMPDIR/\{\} \;
find $GCDA -name '*.gcda' -exec sh -c 'cat < $0 > '$TEMPDIR'/$0' {} \;
find $GCDA -name '*.gcno' -exec sh -c 'cp -d $0 '$TEMPDIR'/$0' {} \;
tar czf $DEST -C $TEMPDIR sys
rm -rf $TEMPDIR

if [ $? -eq 0 ] ; then
echo "$DEST successfully created, copy to build system and unpack with:"
echo " tar xfz $DEST"
else
echo "Could not create file $DEST"
fi
echo "$DEST successfully created, copy to build system and unpack with:"
echo " tar xfz $DEST"

0 comments on commit 0e42f65

Please sign in to comment.