[PATCH] D14165: [lld] Ensure we link to the threading library used by std::thread (e.g. pthreads).

Daniel Sanders via llvm-commits llvm-commits at lists.llvm.org
Thu Nov 5 05:57:40 PST 2015


Sure, see attached.
________________________________
From: Rafael EspĂ­ndola [rafael.espindola at gmail.com]
Sent: 05 November 2015 04:16
To: Daniel Sanders
Cc: llvm-commits; Rui Ueyama; reviews+D14165+public+8a648fa84ee244b3 at reviews.llvm.org
Subject: RE: [PATCH] D14165: [lld] Ensure we link to the threading library used by std::thread (e.g. pthreads).


Can you email the .ii file?

On Nov 5, 2015 4:54 AM, "Daniel Sanders" <Daniel.Sanders at imgtec.com<mailto:Daniel.Sanders at imgtec.com>> wrote:
It's the libstdc++-4.9-dev in Debian Jessie (amd64). The package version is 4.9.2-10.
________________________________________
From: Rafael EspĂ­ndola [rafael.espindola at gmail.com<mailto:rafael.espindola at gmail.com>]
Sent: 04 November 2015 13:02
To: reviews+D14165+public+8a648fa84ee244b3 at reviews.llvm.org<mailto:reviews%2BD14165%2Bpublic%2B8a648fa84ee244b3 at reviews.llvm.org>; Daniel Sanders
Cc: Rui Ueyama; llvm-commits
Subject: Re: [PATCH] D14165: [lld] Ensure we link to the threading library used by std::thread (e.g. pthreads).

Which C++ library is that? On my system (gcc 4.9) running

grep -r '&pthread_create' /usr/include/c++/

finds nothing.

And in the preprocessed file:

$ grep pthread_create  SymbolTable.ii
extern int pthread_create (pthread_t *__restrict __newthread,
static __typeof(pthread_create) __gthrw_pthread_create __attribute__
((__weakref__("pthread_create")));
  return __gthrw_pthread_create (__threadid, __null, __func, __args);


Cheers,
Rafael

On 30 October 2015 at 03:28, Daniel Sanders via llvm-commits
<llvm-commits at lists.llvm.org<mailto:llvm-commits at lists.llvm.org>> wrote:
> dsanders added a comment.
>
> FWIW, it seems odd that we'd need pthreads when we don't use threads. I've just had a look at the preprocessed source for COFF/SymbolTable.cpp and the pthread_create reference comes from this line:
>
>   __asm ("" : : "r" (&pthread_create));
>
> which was in the <thread> that was included by <future>.
>
>
> http://reviews.llvm.org/D14165
>
>
>
> _______________________________________________
> 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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151105/177a2508/attachment-0001.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: SymbolTable.ii
Type: application/octet-stream
Size: 2843861 bytes
Desc: SymbolTable.ii
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20151105/177a2508/attachment-0001.obj>


More information about the llvm-commits mailing list