Memory models support (-mcmodel=large)

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
2 messages Options
Reply | Threaded
Open this post in threaded view
|

Memory models support (-mcmodel=large)

Andrea Orrù
Hello all,

I'm developing a hobby kernel for x86-64 machines,
and I put the kernel into the higher half.

I'm trying to switch from GCC to LLVM/Clang, but it seems
that the latter doesn't support the -mcmodel=large
option, which is required in order to put the kernel
at the 0xFFFF800000000000 address in virtual memory,
as specified in my linker script:
http://pastebin.com/f2f9e0112

I've already posted in the Clang's mailing list, but it seems
that the argument is passed to LLVM, so the front-end is OK.

Any workarounds or plans for implementing that feature in LLVM?

_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
Reply | Threaded
Open this post in threaded view
|

Re: Memory models support (-mcmodel=large)

Dan Gohman-2

On Jun 7, 2009, at 10:38 AM, Andrea Orrù wrote:


> Hello all,
>
> I'm developing a hobby kernel for x86-64 machines,
> and I put the kernel into the higher half.
>
> I'm trying to switch from GCC to LLVM/Clang, but it seems
> that the latter doesn't support the -mcmodel=large
> option, which is required in order to put the kernel
> at the 0xFFFF800000000000 address in virtual memory,
> as specified in my linker script:
> http://pastebin.com/f2f9e0112
>
> I've already posted in the Clang's mailing list, but it seems
> that the argument is passed to LLVM, so the front-end is OK.
>
> Any workarounds or plans for implementing that feature in LLVM?

There's some code in place, but it's not complete. It's waiting
for someone who needs the feature to step forward and finish it.

Dan


_______________________________________________
LLVM Developers mailing list
[hidden email]         http://llvm.cs.uiuc.edu
http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev