Hi all,<div><br></div><div>For using cctools: use as -q, which uses the clang assembler.<br><div><br></div><div>For afl-fuzz it's simple. You have two options:</div><div>Use Xcode's clang, which is the same used for as -q, which afl uses (AFL_CLANG=`xcrun -p clang` (AFL_CXX too)).</div><div>Or</div>Change afl-as.c, look for -q (lower case. Should be conditioned on DARWIN), change to -c. Export AFL_AS=clang (path to your top of tree clang that is emitting the asm that as doesn't understand).</div><div><br></div><div>Regards,</div><div><br></div><div> Filipe<br><div><br>On Thursday, January 22, 2015, Nico Weber <<a href="mailto:thakis@chromium.org">thakis@chromium.org</a>> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Thu, Jan 22, 2015 at 6:05 AM, Rafael Espíndola <span dir="ltr"><<a href="javascript:_e(%7B%7D,'cvml','rafael.espindola@gmail.com');" target="_blank">rafael.espindola@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span>On 22 January 2015 at 00:36, Nico Weber <<a href="javascript:_e(%7B%7D,'cvml','thakis@chromium.org');" target="_blank">thakis@chromium.org</a>> wrote:<br>
> I'm trying to use afl-fuzz with asan on OS X. afl-fuzz tells you to set CXX to afl-clang++ and rebuild your program. afl-clang++ then calls clang++ with -no-integrated-as and -B to a path with its own as wrapper that inserts some instrumentation assembly before calling real as. This doesn't work on OS X because clang++ writes this .macosx_version_min directive that as doesn't support. If I apply this patch, everything does work. So this seems like a useful thing to me – are there any downsides to this patch?<br>
<br>
</span>Yes, it puts us in a direction we really don't want to go.<br>
<br>
On OS X /usr/bin/as is really old and not supported. If afl is using<br>
it instead clang that is a bug in afl.<br></blockquote><div><br></div><div>afl is using -no-integrated-as to munge the asm output. It doesn't care which as gets run.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The correct way of making this easier would probably be to write a<br>
program that is command line compatible with /usr/bin/as but uses MC.<br></blockquote><div><br></div><div>That sounds great, but until that exists this patch seems to increase clang's it's-just-works-iness by at least 8.3% for a very minor code change. Once llvm-gas (or however it should be called) exists, it's no longer necessary.</div></div></div></div>
</blockquote></div></div><br><br>-- <br> F<br><br>