[vlc-devel] [PATCH] configure.ac: unbreak AM_ICONV tests with -lasan
remi at remlab.net
Tue Nov 14 17:54:49 CET 2017
Le tiistaina 14. marraskuuta 2017, 17.37.50 EET Hugo Beauzée-Luyssen a écrit :
> On Tue, Nov 14, 2017, at 05:08 PM, Rémi Denis-Courmont wrote:
> > Le tiistaina 14. marraskuuta 2017, 16.58.36 EET Thomas Guillem a écrit :
> > > On Tue, Nov 14, 2017, at 16:52, Rémi Denis-Courmont wrote:
> > > > Le tiistaina 14. marraskuuta 2017, 16.38.54 EET Francois Cartegnie a
> > > >
> > > > écrit :
> > > > > if -lasan needs to go through LDFLAGS because
> > > > > of -zdefs then iconv test cannot survive again
> > > >
> > > > Sorry but this is utter BS.
> > > >
> > > > The iconv test is performed before sanitizers are enabled, so it
> > > > cannot
> > > > be
> > > > affected by asan linking issues.
> > >
> > > If you have a broken libtool (like almost everyone since there is no
> > > release since the fix was pushed), you have to force extra flags:
> > > LDFLAGS="-lasan" when running configure.
> > That bug has nothing to do with the iconv test whatsoever, and thus this
> > patch
> > does *not* work around that bug.
> > BTW, I only have the libtool issue with linking C++ (Debian Sid), and the
> > iconv test is pure C...
> That's irrelevan.
> The test fails because a leak is found, not because of
> a compilation error.
I think that is another problem altogether. To fix that, you need to patch the
M4 iconv test inside GNU/gettext, and update gettext (although running
compiled code inside configure is a idea anyway).
> AFAICS, our options include:
> - Having a new libtool version released (have fun)
That makes no sense. Updating libtool will not fix a memory leak.
> - Having no subtitles in asan builds (unacceptable IMHO)
Obviously not an option.
> - Specifying ASAN_OPTIONS=exitcode=0 for the entire configure process
That is what I have always done. Otherwise, make check also fails due to bugs
in external libraries.
But the simpler work-around to *both* missing symbols and memory leaks, as
well as to any other hypothetical sanitizer interference during configure,
consists of enabling sanitizers later in the process - after all the link and
run configure tests are done.
More information about the vlc-devel