€•¥Œsphinx.addnodes”Œdocument”“”)�”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)�”}”(hhh]”(hŒ pending_xref”“”)�”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒChinese (Simplified)”…”�”}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ"/translations/zh_CN/dev-tools/gcov”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)�”}”(hhh]”hŒChinese (Traditional)”…”�”}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ"/translations/zh_TW/dev-tools/gcov”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒItalian”…”�”}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ"/translations/it_IT/dev-tools/gcov”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒJapanese”…”�”}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ"/translations/ja_JP/dev-tools/gcov”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒKorean”…”�”}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ"/translations/ko_KR/dev-tools/gcov”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒPortuguese (Brazilian)”…”�”}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ"/translations/pt_BR/dev-tools/gcov”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)�”}”(hhh]”hŒSpanish”…”�”}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ"/translations/sp_SP/dev-tools/gcov”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒEnglish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒsection”“”)�”}”(hhh]”(hŒtitle”“”)�”}”(hŒ Using gcov with the Linux kernel”h]”hŒ Using gcov with the Linux kernel”…”�”}”(hh¼h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhh·h²hh³Œubah}”(h]”h ]”h"]”h$]”h&]”uh1j3hj,ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´K“hj)ubj)�”}”(hŒkfrom the build tree: - all C source files + headers - all .gcda and .gcno files - all links to directories ”h]”(j$)�”}”(hŒfrom the build tree:”h]”hŒfrom the build tree:”…”�”}”(hjrh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#h³hÊh´K˜hjnubj4)�”}”(hhh]”jL)�”}”(hhh]”(jQ)�”}”(hŒall C source files + headers”h]”hÌ)�”}”(hjˆh]”hŒall C source files + headers”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K–hj†ubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjƒubjQ)�”}”(hŒall .gcda and .gcno files”h]”hÌ)�”}”(hjŸh]”hŒall .gcda and .gcno files”…”�”}”(hj¡h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K—hj�ubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjƒubjQ)�”}”(hŒall links to directories ”h]”hÌ)�”}”(hŒall links to directories”h]”hŒall links to directories”…”�”}”(hj¸h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K˜hj´ubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjƒubeh}”(h]”h ]”h"]”h$]”h&]”jžjªuh1jKh³hÊh´K–hj€ubah}”(h]”h ]”h"]”h$]”h&]”uh1j3hjnubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´K˜hj)ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jhjubhÌ)�”}”(hXIt is important to note that these files need to be placed into the exact same file system location on the test machine as on the build machine. If any of the path components is symbolic link, the actual directory needs to be used instead (due to make's CURDIR handling).”h]”hXIt is important to note that these files need to be placed into the exact same file system location on the test machine as on the build machine. If any of the path components is symbolic link, the actual directory needs to be used instead (due to make’s CURDIR handling).”…”�”}”(hjäh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Kšhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´KŽhjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPhjh²hh³hÊh´Nubah}”(h]”jýah ]”h"]”Œ gcov-test”ah$]”h&]”Œenumtype”Œ loweralpha”Œprefix”hŒsuffix”Œ)”uh1jþhjÓh²hh³hÊh´KŒŒexpect_referenced_by_name”}”jjòsŒexpect_referenced_by_id”}”jýjòsubj¡)�”}”(hŒ.. _gcov-build:”h]”h}”(h]”h ]”h"]”h$]”h&]”jüŒ gcov-build”uh1j h´KŸhjÓh²hh³hÊubjÿ)�”}”(hhh]”jQ)�”}”(hX’gcov is run on the BUILD machine The following files need to be copied after each test case from test to build machine: from the gcov directory in sysfs: - all .gcda files - all links to .gcno files These files can be copied to any location on the build machine. gcov must then be called with the -o option pointing to that directory. Example directory setup on the build machine:: /tmp/linux: kernel source tree /tmp/out: kernel build directory as specified by make O= /tmp/coverage: location of the files copied from the test machine [user@build] cd /tmp/out [user@build] gcov -o /tmp/coverage/tmp/out/init main.c ”h]”(hÌ)�”}”(hŒ gcov is run on the BUILD machine”h]”hŒ gcov is run on the BUILD machine”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K¡hjubj)�”}”(hXcThe following files need to be copied after each test case from test to build machine: from the gcov directory in sysfs: - all .gcda files - all links to .gcno files These files can be copied to any location on the build machine. gcov must then be called with the -o option pointing to that directory. Example directory setup on the build machine:: /tmp/linux: kernel source tree /tmp/out: kernel build directory as specified by make O= /tmp/coverage: location of the files copied from the test machine [user@build] cd /tmp/out [user@build] gcov -o /tmp/coverage/tmp/out/init main.c ”h]”(hÌ)�”}”(hŒVThe following files need to be copied after each test case from test to build machine:”h]”hŒVThe following files need to be copied after each test case from test to build machine:”…”�”}”(hj2h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K£hj.ubj)�”}”(hhh]”j)�”}”(hŒOfrom the gcov directory in sysfs: - all .gcda files - all links to .gcno files ”h]”(j$)�”}”(hŒ!from the gcov directory in sysfs:”h]”hŒ!from the gcov directory in sysfs:”…”�”}”(hjGh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#h³hÊh´K¨hjCubj4)�”}”(hhh]”jL)�”}”(hhh]”(jQ)�”}”(hŒall .gcda files”h]”hÌ)�”}”(hj]h]”hŒall .gcda files”…”�”}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K§hj[ubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjXubjQ)�”}”(hŒall links to .gcno files ”h]”hÌ)�”}”(hŒall links to .gcno files”h]”hŒall links to .gcno files”…”�”}”(hjvh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K¨hjrubah}”(h]”h ]”h"]”h$]”h&]”uh1jPhjXubeh}”(h]”h ]”h"]”h$]”h&]”jžjªuh1jKh³hÊh´K§hjUubah}”(h]”h ]”h"]”h$]”h&]”uh1j3hjCubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´K¨hj@ubah}”(h]”h ]”h"]”h$]”h&]”uh1jhj.ubhÌ)�”}”(hŒ‡These files can be copied to any location on the build machine. gcov must then be called with the -o option pointing to that directory.”h]”hŒ‡These files can be copied to any location on the build machine. gcov must then be called with the -o option pointing to that directory.”…”�”}”(hj¢h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Kªhj.ubhÌ)�”}”(hŒ.Example directory setup on the build machine::”h]”hŒ-Example directory setup on the build machine:”…”�”}”(hj°h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´K­hj.ubj )�”}”(hŒò/tmp/linux: kernel source tree /tmp/out: kernel build directory as specified by make O= /tmp/coverage: location of the files copied from the test machine [user@build] cd /tmp/out [user@build] gcov -o /tmp/coverage/tmp/out/init main.c”h]”hŒò/tmp/linux: kernel source tree /tmp/out: kernel build directory as specified by make O= /tmp/coverage: location of the files copied from the test machine [user@build] cd /tmp/out [user@build] gcov -o /tmp/coverage/tmp/out/init main.c”…”�”}”hj¾sbah}”(h]”h ]”h"]”h$]”h&]”jjuh1jh³hÊh´K¯hj.ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´K£hjubeh}”(h]”h ]”h"]”h$]”h&]”uh1jPhjh²hh³hÊh´Nubah}”(h]”jah ]”h"]”Œ gcov-build”ah$]”h&]”jjjhjj Œstart”Kuh1jþhjÓh²hh³hÊh´K¡j }”jÜjsj }”jjsubeh}”(h]”Œ!separated-build-and-test-machines”ah ]”h"]”Œ!separated build and test machines”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kƒubh¶)�”}”(hhh]”(h»)�”}”(hŒNote on compilers”h]”hŒNote on compilers”…”�”}”(hjíh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjêh²hh³hÊh´K¸ubhÌ)�”}”(hŒ�GCC and LLVM gcov tools are not necessarily compatible. Use gcov_ to work with GCC-generated .gcno and .gcda files, and use llvm-cov_ for Clang.”h]”(hŒ.. _llvm-cov: https://llvm.org/docs/CommandGuide/llvm-cov.html”h]”h}”(h]”Œllvm-cov”ah ]”h"]”Œllvm-cov”ah$]”h&]”hçj'uh1j h´K¾hjêh²hh³hÊj®KubhÌ)�”}”(hŒžBuild differences between GCC and Clang gcov are handled by Kconfig. It automatically selects the appropriate gcov format depending on the detected toolchain.”h]”hŒžBuild differences between GCC and Clang gcov are handled by Kconfig. It automatically selects the appropriate gcov format depending on the detected toolchain.”…”�”}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KÀhjêh²hubeh}”(h]”Œnote-on-compilers”ah ]”h"]”Œnote on compilers”ah$]”h&]”uh1hµhh·h²hh³hÊh´K¸ubh¶)�”}”(hhh]”(h»)�”}”(hŒTroubleshooting”h]”hŒTroubleshooting”…”�”}”(hjdh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjah²hh³hÊh´KÆubj)�”}”(hhh]”(j)�”}”(hŒ/Problem Compilation aborts during linker step. ”h]”(j$)�”}”(hŒProblem”h]”hŒProblem”…”�”}”(hjyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#h³hÊh´KÉhjuubj4)�”}”(hhh]”hÌ)�”}”(hŒ&Compilation aborts during linker step.”h]”hŒ&Compilation aborts during linker step.”…”�”}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KÉhj‡ubah}”(h]”h ]”h"]”h$]”h&]”uh1j3hjuubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´KÉhjrubj)�”}”(hŒ�Cause Profiling flags are specified for source files which are not linked to the main kernel or which are linked by a custom linker procedure. ”h]”(j$)�”}”(hŒCause”h]”hŒCause”…”�”}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#h³hÊh´KÎhj¤ubj4)�”}”(hhh]”hÌ)�”}”(hŒˆProfiling flags are specified for source files which are not linked to the main kernel or which are linked by a custom linker procedure.”h]”hŒˆProfiling flags are specified for source files which are not linked to the main kernel or which are linked by a custom linker procedure.”…”�”}”(hj¹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KÌhj¶ubah}”(h]”h ]”h"]”h$]”h&]”uh1j3hj¤ubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´KÎhjrh²hubj)�”}”(hŒ�Solution Exclude affected source files from profiling by specifying ``GCOV_PROFILE := n`` or ``GCOV_PROFILE_basename.o := n`` in the corresponding Makefile. ”h]”(j$)�”}”(hŒSolution”h]”hŒSolution”…”�”}”(hj×h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j#h³hÊh´KÓhjÓubj4)�”}”(hhh]”hÌ)�”}”(hŒ“Exclude affected source files from profiling by specifying ``GCOV_PROFILE := n`` or ``GCOV_PROFILE_basename.o := n`` in the corresponding Makefile.”h]”(hŒ;Exclude affected source files from profiling by specifying ”…”�”}”(hjèh²hh³Nh´Nubhï)�”}”(hŒ``GCOV_PROFILE := n``”h]”hŒGCOV_PROFILE := n”…”�”}”(hjðh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîhjèubhŒ or ”…”�”}”(hjèh²hh³Nh´Nubhï)�”}”(hŒ ``GCOV_PROFILE_basename.o := n``”h]”hŒGCOV_PROFILE_basename.o := n”…”�”}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hîhjèubhŒ in the corresponding Makefile.”…”�”}”(hjèh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´KÑhjåubah}”(h]”h ]”h"]”h$]”h&]”uh1j3hjÓubeh}”(h]”h ]”h"]”h$]”h&]”uh1jh³hÊh´KÓhjrh²hubj)�”}”(hŒ`):”h]”(hŒFSample script to gather coverage meta files on the build machine (see ”…”�”}”(hj h²hh³Nh´Nubh)�”}”(hŒ7:ref:`Separated build and test machines a. `”h]”hŒinline”“”)�”}”(hj h]”hŒ$Separated build and test machines a.”…”�”}”(hj h²hh³Nh´Nubah}”(h]”h ]”(Œxref”Œstd”Œstd-ref”eh"]”h$]”h&]”uh1j hj ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”Œdev-tools/gcov”Œ refdomain”j! Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆŒ reftarget”Œ gcov-test”uh1hh³hÊh´Kähj ubhŒ):”…”�”}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´Kähj÷h²hubj )�”}”(hXg#!/bin/bash KSRC=$1 KOBJ=$2 DEST=$3 if [ -z "$KSRC" ] || [ -z "$KOBJ" ] || [ -z "$DEST" ]; then echo "Usage: $0 " >&2 exit 1 fi KSRC=$(cd $KSRC; printf "all:\n\t@echo \${CURDIR}\n" | make -f -) KOBJ=$(cd $KOBJ; printf "all:\n\t@echo \${CURDIR}\n" | make -f -) find $KSRC $KOBJ \( -name '*.gcno' -o -name '*.[ch]' -o -type l \) -a \ -perm /u+r,g+r | tar cfz $DEST -P -T - if [ $? -eq 0 ] ; then echo "$DEST successfully created, copy to test system and unpack with:" echo " tar xfz $DEST -P" else echo "Could not create file $DEST" fi”h]”hXg#!/bin/bash KSRC=$1 KOBJ=$2 DEST=$3 if [ -z "$KSRC" ] || [ -z "$KOBJ" ] || [ -z "$DEST" ]; then echo "Usage: $0 " >&2 exit 1 fi KSRC=$(cd $KSRC; printf "all:\n\t@echo \${CURDIR}\n" | make -f -) KOBJ=$(cd $KOBJ; printf "all:\n\t@echo \${CURDIR}\n" | make -f -) find $KSRC $KOBJ \( -name '*.gcno' -o -name '*.[ch]' -o -type l \) -a \ -perm /u+r,g+r | tar cfz $DEST -P -T - if [ $? -eq 0 ] ; then echo "$DEST successfully created, copy to test system and unpack with:" echo " tar xfz $DEST -P" else echo "Could not create file $DEST" fi”…”�”}”hj? sbah}”(h]”h ]”h"]”h$]”h&]”jjŒforce”‰Œlanguage”Œsh”Œhighlight_args”}”uh1jh³hÊh´Kçhj÷h²hubeh}”(h]”Œappendix-a-gather-on-build-sh”ah ]”h"]”Œappendix a: gather_on_build.sh”ah$]”h&]”uh1hµhh·h²hh³hÊh´Kâubh¶)�”}”(hhh]”(h»)�”}”(hŒAppendix B: gather_on_test.sh”h]”hŒAppendix B: gather_on_test.sh”…”�”}”(hj] h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hºhjZ h²hh³hÊh´MubhÌ)�”}”(hŒSample script to gather coverage data files on the test machine (see :ref:`Separated build and test machines b. `):”h]”(hŒESample script to gather coverage data files on the test machine (see ”…”�”}”(hjk h²hh³Nh´Nubh)�”}”(hŒ8:ref:`Separated build and test machines b. `”h]”j )�”}”(hju h]”hŒ$Separated build and test machines b.”…”�”}”(hjw h²hh³Nh´Nubah}”(h]”h ]”(j Œstd”Œstd-ref”eh"]”h$]”h&]”uh1j hjs ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”j- Œ refdomain”j� Œreftype”Œref”Œ refexplicit”ˆŒrefwarn”ˆj3 Œ gcov-build”uh1hh³hÊh´Mhjk ubhŒ):”…”�”}”(hjk h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1hËh³hÊh´MhjZ h²hubj )�”}”(hXû#!/bin/bash -e DEST=$1 GCDA=/sys/kernel/debug/gcov if [ -z "$DEST" ] ; then echo "Usage: $0 " >&2 exit 1 fi 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 echo "$DEST successfully created, copy to build system and unpack with:" echo " tar xfz $DEST"”h]”hXû#!/bin/bash -e DEST=$1 GCDA=/sys/kernel/debug/gcov if [ -z "$DEST" ] ; then echo "Usage: $0 " >&2 exit 1 fi 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 echo "$DEST successfully created, copy to build system and unpack with:" echo " tar xfz $DEST"”…”�”}”hj� sbah}”(h]”h ]”h"]”h$]”h&]”jjjM ‰jN Œsh”jP }”uh1jh³hÊh´MhjZ h²hubeh}”(h]”Œappendix-b-gather-on-test-sh”ah ]”h"]”Œappendix b: gather_on_test.sh”ah$]”h&]”uh1hµhh·h²hh³hÊh´Mubeh}”(h]”Œ using-gcov-with-the-linux-kernel”ah ]”h"]”Œ using gcov with the linux kernel”ah$]”h&]”uh1hµhhh²hh³hÊh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hÊuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)�”}”(hºNŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”jà Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hÊŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”(Œgcov”]”(h×jeŒlcov”]”j"aŒllvm-cov”]”jauŒrefids”}”(jý]”jòaj]”jauŒnameids”}”(jº j· j«j¨j¸jµj3j0jöjój]jZjj|jÐjÍjçjäjjýjÜjj^j[jHjEjôjñjW jT j² j¯ uŒ nametypes”}”(jº ‰j«ˆj¸ˆj3‰jö‰j]‰j‰jЉjç‰jˆj܈j^‰jHˆjô‰jW ‰j² ‰uh}”(j· h·j¨j¢jµj¯j0j»jój6jZjùj|j`jÍj‚jäjÓjýjjjj[jêj8j2jEj?jñjajT j÷j¯ jZ uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”jî Ks…”R”Œparse_messages”]”(hŒsystem_message”“”)�”}”(hhh]”hÌ)�”}”(hŒ:Enumerated list start value not ordinal-1: "b" (ordinal 2)”h]”hŒ>Enumerated list start value not ordinal-1: “bâ€� (ordinal 2)”…”�”}”(hjO h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËhjL ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”ŒINFO”Œsource”hÊŒline”Kuh1jJ hjÓh²hh³hÊh´K¡ubjK )�”}”(hhh]”hÌ)�”}”(hŒ'Duplicate explicit target name: "gcov".”h]”hŒ+Duplicate explicit target name: “gcovâ€�.”…”�”}”(hjk h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hËhjh ubah}”(h]”h ]”h"]”h$]”h&]”j8aŒlevel”KŒtype”je Œline”K½Œsource”hÊuh1jJ hjêh²hh³hÊh´K½ubeŒtransform_messages”]”(jK )�”}”(hhh]”hÌ)�”}”(hhh]”hŒ/Hyperlink target "gcov-test" is not referenced.”…”�”}”hjˆ sbah}”(h]”h ]”h"]”h$]”h&]”uh1hËhj… ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”je Œsource”hÊŒline”KŠuh1jJ ubjK )�”}”(hhh]”hÌ)�”}”(hhh]”hŒ0Hyperlink target "gcov-build" is not referenced.”…”�”}”hj¢ sbah}”(h]”h ]”h"]”h$]”h&]”uh1hËhjŸ ubah}”(h]”h ]”h"]”h$]”h&]”Œlevel”KŒtype”je Œsource”hÊŒline”KŸuh1jJ ubeŒ transformer”NŒ include_log”]”Œ decoration”Nh²hub.