<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Content-Style-Type" content="text/css" />
<meta name="generator" content="pandoc" />
<title></title>
<style type="text/css">code{white-space: pre;}</style>
</head><body><div class="gmail_quote">On March 15, 2017 4:42:34 PM GMT+02:00, "Filip Roséen" <filip@atch.se> wrote:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<p>Hi Rémi,</p>
<p>On 2017-03-15 16:28, Rémi Denis-Courmont wrote:</p>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;color:#500050">
<pre><code> On mercredi 15 mars 2017 15:24:06 EET Filip Roséen wrote:</code></pre>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;color:#500050">
<pre><code> A developer should know his/her platform well enough to be able to
manually specify the sanitizer flags, which `--disable-no-undefined`
allows.</code></pre>
</blockquote>
<pre><code> A developer should know his/her platform well enough to handle sanitizers with
the --no-undefined option.</code></pre>
</blockquote>
<p>So you are saying that those who wants to use the sanitizer with a shall manually patch <code>configure.ac</code> and the relevant <code>Makefile.am</code> in order to remove the usage of <code>-Wl,-z,defs</code> and <code>-no-undefined</code> in order to achieve satisfying sanitizer usage?</p>
<p>Or specify complicated flags just to circumvent the fact that we now unconditionally add flags on platform where they apply, but silently ignore them on platforms that says they do not.</p>
<p>If we want to have developers to really fight in order to use a sanitizer, or prevent <code>-Wl,-z,defs</code> and <code>-no-undefined</code> from being able to easily test functions from out-of-tree objects (which greatly simplies things such as benchmarks of individual functions, at least in my opinion), I guess one also <strong>could</strong> replace the linker with a wrapper that pretends that it does not understand the relevant flags, and have a “clean” build without <code>-Wl,-z,defs</code>.</p>
<blockquote style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;color:#500050">
<pre><code> I agree that an option for sanitizers is not very useful insofar as it will be
disabled by default. Afterall, those who know about it, would also know how to
do it manually. Well then there are no needs to change anything at all. Easy.</code></pre>
</blockquote>
<p>I did not say that the option for sanitizer would not be very useful. My fear is that it will be more complex to implement than to allow developers to specify <code>--disable-no-undefined</code> and setting the <em>simple</em> flags themselves.</p>
<p>Also, as mentioned, if <code>--enable-sanitizer=...</code> is allowed to disable the usage of <code>-Wl,-z,defs</code> and <code>-no-undefined</code> I cannot understand why such would be allowed, but not this patch.</p>
<p>Best Regards,<br />
Filip</p>
</blockquote></div><br clear="all">To be clear, I have no problems using all 3 sanitizers with both GCC and clang and without patching the build system. So I am unable to answer your question.<br>
-- <br>
Rémi Denis-Courmont</body></html>