[PATCH] D45454: Make __gcov_flush visible outside a shared library
Marco Castelluccio via cfe-commits
cfe-commits at lists.llvm.org
Tue Jun 26 14:08:38 PDT 2018
Wouldn't it be better to keep compatibility with GCC and make
__gcov_flush have default visibility?
- Marco.
Il 26/06/2018 00:21, Xinliang David Li ha scritto:
> I don't have an objection having another interface which is just a
> simple wrapper to __gcov_flush but with default visibility. Also
> clearly document its usage and behavior.
>
> David
>
> On Mon, Jun 25, 2018 at 10:12 AM, Chih-Hung Hsieh via Phabricator via
> llvm-commits <llvm-commits at lists.llvm.org
> <mailto:llvm-commits at lists.llvm.org>> wrote:
>
> chh added a comment.
>
> In https://reviews.llvm.org/D45454#1142197
> <https://reviews.llvm.org/D45454#1142197>, @marco-c wrote:
>
> > In https://reviews.llvm.org/D45454#1070884
> <https://reviews.llvm.org/D45454#1070884>, @belleyb wrote:
> >
> > > @chh I had a chance to try out your proposed changes. It's not
> causing us any trouble. In fact, `__gcov_flush()` is not even used
> at all (at least in LLVM 5.0.1).. I can recompile llvm,
> compiler_rt and clang and re-run all the tests with `__gcov_flush`
> commented out! No problem.
> > >
> > > I would suggest adding a bit more documentation to
> `__gcov_flush()`, thus describing what those "special cases" are...
> >
> >
> > __gcov_flush is only used if you actually call it (it's needed
> for example if you want to profile only part of your program).
> >
> > In GCC, __gcov_flush is not hidden, so perhaps we should do the
> same to keep the same behavior? I've also submitted
> https://reviews.llvm.org/D48538 <https://reviews.llvm.org/D48538>,
> which is making __gcov_flush flush counters for all shared
> libraries (like GCC does, with the same caveat:
> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83879
> <https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83879>).
>
>
> I have no problem keeping these functions compatible with GCC.
> My earlier proposal and David's comment in the mailing list seemed
> to be lost and not showing here.
> So, let me summarize the case here. This change should make
> `__gcov_flush` not hidden as before in GCC,
> but earlier change made it hidden as well as other `llvm_gov_*`
> functions.
> Could we have both `__gov_flush` and `llvm_gov_flush` functions,
> one unhidden and one hidden?
>
>
> https://reviews.llvm.org/D45454 <https://reviews.llvm.org/D45454>
>
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at lists.llvm.org <mailto:llvm-commits at lists.llvm.org>
> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
> <http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20180626/ec46c78e/attachment.html>
More information about the cfe-commits
mailing list