devnexen added inline comments.
================
Comment at: lib/Driver/ToolChains/OpenBSD.cpp:189
if (getToolChain().ShouldLinkCXXStdlib(Args))
- getToolChain().AddCXXStdlibLibArgs(Args, CmdArgs);
+ ToolChain.AddCXXStdlibLibArgs(Args, CmdArgs);
if (Args.hasArg(options::OPT_pg))
----------------
dberris wrote:
> devnexen wrote:
> > dberris wrote:
> > > devnexen wrote:
> > > > dberris wrote:
> > > > > Do you actually need this change? Why isn't
> > > > > `getToolChain().AddCXXStdlibLibArgs(...)` not sufficient here?
> > > > That s the thing, I wish it was simple as FreeBSD, but seemingly in
> > > > OpenBSD needs both c++98 gcc runtime and libc++ for fuzzer (I tried
> > > > libc++ alone already)
> > > Right, but this comment is on this specific line change. I don't think
> > > you need to reach into `Toolchain.` direcly, since you can already use
> > > `getToolChain()` just from the above line (188).
> > Right, so I guess this diff https://reviews.llvm.org/D45662?id=142686 is
> > sufficient then ?
> No. Let me try and explain again.
>
> You were on the right path, with overriding the `AddCXXStdlibLibArgs`
> function in the OpenBSD Toolchain type. It's just that you weren't handling
> the case for when the binary was being built with libc++ or libstdc++
> properly. I was referring you to what FreeBSD was doing for their
> implementation of `AddCXXStdlibLibArgs`. This means, checking first whether
> the invocation of the compiler was using libc++ or libstdc++, and then adding
> the appropriate link spelling. That all happens in the `AddCXXStdlibLibArgs`
> implementation, because there's no need to special-case just for the
> sanitizers.
>
> This means, if you're building a normal binary with `-pg` in OpenBSD against
> either libc++ or libstdc++, it wouldn't work correctly regardless of whether
> you were using libFuzzer.
>
> Does that make more sense?
Ok will try a newer version later, thanks for your inputs.
https://reviews.llvm.org/D45662
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits