[LLVMdev] TLS with MCJIT (an experimental patch)

Rafael EspĂ­ndola rafael.espindola at gmail.com
Wed May 22 05:01:49 PDT 2013


On 22 May 2013 06:22, David Chisnall <David.Chisnall at cl.cam.ac.uk> wrote:
> On 15 May 2013, at 01:17, "Kaylor, Andrew" <andrew.kaylor at intel.com> wrote:
>
>> I believe that assertion indicates that something didn't get loaded into the lower 2GB of address space.  That is, the memory manager isn't allocating memory in that range.
>>
>> I'm sure there must be a way to allocate memory in that range on FreeBSD.  The system loader has to do it, right?  I just don't know what makes it happen.
>
> I've asked around, and we don't seem to have anything that can do it.  Checking the code for rtld, it explicitly asks for memory at a specific address and keeps track of the regions it has used.


I was under the impression that, in the small memory model, each .so
had to be small, but because of the use of GOTs and PLTs they could be
anywhere in memory. If we allocate the tls memory in the same
allocator call that allocates space for the text section this would
work, no?

> David
>
>

Cheers,
Rafael



More information about the llvm-dev mailing list