August 28, 2013
On Wednesday, 28 August 2013 at 11:27:40 UTC, Jacob Carlborg wrote:
> On 2013-08-28 10:13, David Nadlinger wrote:
>> Thanks for the suggestion, but no, we can't – DMD emits custom
>> bracketing symbols for the TLS section, which we can't do (at least
>> without messing with backend to a point where we can't use the standard
>> LLVM tools like llc/… anymore).
>
> So how much different is the FreeBSD code compared to the Linux code in this case?

I don't really have any experience with FreeBSD internals at all, so I can't really judge the situation, but if the BSD libc allocates TLS variables for new threads the same as the GNU libc does (i.e. at the start of the new stack), then it is potentially very little difference (as the ELF section iteration mechanism also seems to be supported).

I don't think this will be an extremely hard issue to solve, but it depends on somebody actually spending some time on this (and for myself, a 2.063-based release, Linux shared libraries, and the Win32 wrong code bugs seem more important, given that FreeBSD is a pretty niche OS…)

David
August 28, 2013
On 2013-08-28 19:57, David Nadlinger wrote:

> I don't really have any experience with FreeBSD internals at all, so I
> can't really judge the situation, but if the BSD libc allocates TLS
> variables for new threads the same as the GNU libc does (i.e. at the
> start of the new stack), then it is potentially very little difference
> (as the ELF section iteration mechanism also seems to be supported).
>
> I don't think this will be an extremely hard issue to solve, but it
> depends on somebody actually spending some time on this (and for myself,
> a 2.063-based release, Linux shared libraries, and the Win32 wrong code
> bugs seem more important, given that FreeBSD is a pretty niche OS…)

Fair enough.

-- 
/Jacob Carlborg
September 03, 2013
On Wednesday, 28 August 2013 at 17:57:55 UTC, David Nadlinger wrote:
> I don't think this will be an extremely hard issue to solve, but it depends on somebody actually spending some time on this (and for myself, a 2.063-based release, Linux shared libraries, and the Win32 wrong code bugs seem more important, given that FreeBSD is a pretty niche OS…)

I committed a possible solution. Can someone please try it? Just pull the latest druntime commit.

Kai
Next ›   Last »
1 2