[patch] libstdc++/61841 odr-use pthread_create in std::thread constructor

Jakub Jelinek jakub@redhat.com
Wed Aug 13 19:06:00 GMT 2014


On Wed, Aug 13, 2014 at 08:02:22PM +0100, Jonathan Wakely wrote:
> On 13/08/14 20:47 +0200, Jakub Jelinek wrote:
> >On Wed, Aug 13, 2014 at 07:40:57PM +0100, Jonathan Wakely wrote:
> >>This should fix the Hurd bug in PR61841 as well as the problem
> >>described in https://gcc.gnu.org/ml/gcc/2013-09/msg00196.html
> >>
> >>Tested x86_64-linux, committed to trunk.
> >>
> >>This is not suitable for the branches as it requires a new exported
> >>symbol. We could maybe just add some other odr-use of pthread_create,
> >>but it would probably be optimized away anyway.
> >
> >E.g. __asm ("" : : "r" (&pthread_create)); would not be optimized away.
> 
> Good idea - thanks. Do we want to do that instead of adding the new
> exported function I've added on trunk?

Dunno, you're the maintainer ;)  On one side, asm has the disadvantage of
being a scheduling barrier (because it is implicitly volatile), on the other
side, we are talking about pthread_create call, so perhaps a few lost ticks
is nothing compared to that.

	Jakub



More information about the Libstdc++ mailing list