Right, so your complaint is with the existing mechanism, not the newfound efficiency.
The C runtime code used to be responsible for magically hacking in certain values, and that's why it needed static symbols.
And that's why I went on the discovery mission to find out why it was hacking in to *wrong* symbols as noted in my email to which Paul says yes, put them in sb-impl.
So I've traded one form of package broken-ness for another!
(Yes, I still want to find the right way to do this)


On Thu, Apr 10, 2014 at 9:02 AM, Stas Boukarev <stassats@gmail.com> wrote:
Douglas Katzman <dougk@google.com> writes:

> I'd like to clean up the way that it figures out which special vars are
> thread slots, for sure.
>
> But what else, if anything, is bad about what it's doing? The idea is that
> any global symbol can be known to have a tls-index. While it certainly
> works to have the loader figure out the thread slots just the same as any
> random symbol, that's not quite as good as can be, because the loader will
> be forced to use a 32-bit displacement to every thread slot.
It's a thread slot, not a special variable, so making it look and behave
like a special variable is confusing.

--
With best regards, Stas.