Re: cvs commit: src/sys/sys tls.h src/lib/libc/gen tls.c src/lib

看板DFBSD_commit作者時間21年前 (2005/03/29 02:02), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串11/14 (看更多)
On Mon, Mar 28, 2005 at 09:50:34AM -0800, Matthew Dillon wrote: > > :I should add that I mean the following tcb layout: > :struct tls_tcb { > :#ifdef INDIRECT_THREAD_REGISTER > : struct tls_tcb *tcb_base; > :#endif > : void *dtv_base; > : void *tcb_pthread; > :} > : > :Joerg > > I would not do that. I would just make tcb_base mandatory (which > is what it is now). There is no reason to make it optional and > every reason to make it mandatory. It means we automatically support > dynamic link libraries and binaries using either method. It should be optional (based on the platform), since some platforms need / want it and some don't. We need that pointer for both methods on IA32, on platforms with a normal pointer as thread register we don't need it at all. This is not about __thread int a; testfunc() { a = 1; } but about int *testfunc() { return &a; } The conditional allows us to support both styles in MI code. Let me finish my patchset to show what I mean. Joerg
文章代碼(AID): #12I4QY00 (DFBSD_commit)
討論串 (同標題文章)
完整討論串 (本文為第 11 之 14 篇):
文章代碼(AID): #12I4QY00 (DFBSD_commit)