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 cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits