svn commit: r343713 - in head/sys: amd64/conf arm64/conf

Li-Wen Hsu lwhsu at freebsd.org
Mon Feb 4 05:37:10 UTC 2019


On Sun, Feb 3, 2019 at 8:46 PM Andrew Turner <andrew at freebsd.org> wrote:
>
> Author: andrew
> Date: Sun Feb  3 12:46:27 2019
> New Revision: 343713
> URL: https://svnweb.freebsd.org/changeset/base/343713
>
> Log:
>   Enable COVERAGE and KCOV by default on arm64 and amd64.
>
>   This allows userspace to trace the kernel using the coverage sanitizer
>   found in clang. It will also allow other coverage tools to be built as
>   modules and attach into the same framework.
>
>   Sponsored by: DARPA, AFRL
>
> Modified:
>   head/sys/amd64/conf/GENERIC
>   head/sys/arm64/conf/GENERIC
>
> Modified: head/sys/amd64/conf/GENERIC
> ==============================================================================
> --- head/sys/amd64/conf/GENERIC Sun Feb  3 11:41:43 2019        (r343712)
> +++ head/sys/amd64/conf/GENERIC Sun Feb  3 12:46:27 2019        (r343713)
> @@ -102,8 +102,8 @@ options     MALLOC_DEBUG_MAXZONES=8 # Separate malloc(9)
>  options        VERBOSE_SYSINIT=0       # Support debug.verbose_sysinit, off by default
>
>  # Kernel Sanitizers
> -#options       COVERAGE                # Generic kernel coverage. Used by KCOV
> -#options       KCOV                    # Kernel Coverage Sanitizer
> +options        COVERAGE                # Generic kernel coverage. Used by KCOV
> +options        KCOV                    # Kernel Coverage Sanitizer
>  # Warning: KUBSAN can result in a kernel too large for loader to load
>  #options       KUBSAN                  # Kernel Undefined Behavior Sanitizer
>
>
> Modified: head/sys/arm64/conf/GENERIC
> ==============================================================================
> --- head/sys/arm64/conf/GENERIC Sun Feb  3 11:41:43 2019        (r343712)
> +++ head/sys/arm64/conf/GENERIC Sun Feb  3 12:46:27 2019        (r343713)
> @@ -94,8 +94,8 @@ options       USB_DEBUG               # enable debug msgs
>  options        VERBOSE_SYSINIT=0       # Support debug.verbose_sysinit, off by default
>
>  # Kernel Sanitizers
> -#options       COVERAGE                # Generic kernel coverage. Used by KCOV
> -#options       KCOV                    # Kernel Coverage Sanitizer
> +options        COVERAGE                # Generic kernel coverage. Used by KCOV
> +options        KCOV                    # Kernel Coverage Sanitizer
>  # Warning: KUBSAN can result in a kernel too large for loader to load
>  #options       KUBSAN                  # Kernel Undefined Behavior Sanitizer

This breaks gcc build:
https://ci.freebsd.org/job/FreeBSD-head-amd64-gcc/8781/console :

x86_64-unknown-freebsd12.0-gcc: error: unrecognized command line
option '-fsanitize-coverage=trace-pc,trace-cmp'; did you mean
'-fsanitize-coverage=trace-pc'?

We probably need to adjust arguments passed to gcc.

Li-Wen


More information about the svn-src-all mailing list