[libvirt-users] Fail to compile libvirt with address sanitizer by clang-7

Han Han hhan at redhat.com
Thu Apr 12 03:15:00 UTC 2018


It works. Thank you very much!!!

On Tue, Apr 10, 2018 at 2:40 PM, Michal Privoznik <mprivozn at redhat.com>
wrote:

> On 04/10/2018 05:22 AM, Han Han wrote:
> > Hi,
> > I tried to compile libvirt with address sanitizer(
> > https://github.com/google/sanitizers/wiki/AddressSanitizer) to discover
> > memory errors. But fails when make.
> > Code version:
> > $ git describe
> > v4.2.0-92-g3f204e4de
> >
> > Compile tools:
> > automake 1:1.15.1-3 all [installed]
> > clang-7 1:7~svn323616-1 amd64 [installed,automatic]
> > make 4.2.1-1 amd64 [installed,automatic]
> >
> > Compile steps:
> > $ ./bootstrap
> > $ CC=clang-7 CFLAGS="-g -O1 -fsanitize=address -fno-omit-frame-pointer
> > -Wno-error" LDFLAGS="-fsanitize=address" ./configure
> >
> > Configure succed.
> > $ make
> > But error appeared:
> > make  all-am
> > make[3]: Entering directory '/home/hhan/Software/libvirt/src'
> >   CCLD     libvirt.la
> > ./.libs/libvirt_util.a(libvirt_util_la-viralloc.o): In function
> `virAlloc':
> > /home/hhan/Software/libvirt/src/util/viralloc.c:144: undefined
> reference to
> > `__asan_report_store8'
>
> Huh, I remember seeing different error when trying this (although I'm
> using gcc). However, I suspect '-Wl,-z -Wl,defs' arguments are problem.
> We add them onto linker cmd line. You can try applying this patch and
> see if it helps:
>
> diff --git i/configure.ac w/configure.ac
> index 18587270e6..e23c0e4c22 100644
> --- i/configure.ac
> +++ w/configure.ac
> @@ -237,7 +237,6 @@ LIBVIRT_COMPILE_WARNINGS
>  LIBVIRT_COMPILE_PIE
>  LIBVIRT_LINKER_RELRO
>  LIBVIRT_LINKER_NO_INDIRECT
> -LIBVIRT_LINKER_NO_UNDEFINED
>
>  LIBVIRT_ARG_APPARMOR
>  LIBVIRT_ARG_ATTR
>
>
> Michal
>



-- 
Best regards,
-----------------------------------
Han Han
Quality Engineer
Redhat.

Email: hhan at redhat.com
Phone: +861065339333
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libvirt-users/attachments/20180412/07c09442/attachment.htm>


More information about the libvirt-users mailing list