On 17/11/14 11:42, Thomas Leonard wrote:
> On 26 October 2014 10:25, Thomas Leonard <tal...@gmail.com> wrote:
>> On 26 October 2014 09:55, Samuel Thibault <samuel.thiba...@ens-lyon.org> 
>> wrote:
>>> Thomas Leonard, le Sun 26 Oct 2014 09:46:09 +0000, a écrit :
>>>> Could you say a bit more about the linker problems you had?
>>> Really digging in the archives this time :)
>>>
>>> ia64-specific:
>>> http://lists.xen.org/archives/html/xen-ia64-devel/2008-03/msg00126.html
>>> http://lists.xen.org/archives/html/xen-ia64-devel/2008-12/msg00070.html
>>> x86_64-specific (missing red zone support)
>>> http://lists.xen.org/archives/html/xen-ia64-devel/2008-02/msg00251.html
>>>
>>> So I guess it could be OK on arm, but you have to make sure that Mini-OS
>>> implements the whole ABI that gcc will use. Testing is not enough, I got
>>> hit by the red zone for instance.
>> On ARM, we have a separate stack for the IRQ handler, so the red zone
>> at least shouldn't be a problem.
> Incidentally, why doesn't Mini-OS/x86 use a red zone? I assume there's
> a worthwhile performance benefit to it, and it would prevent subtle
> bugs when software is accidentally compiled for the normal ABI.
>
>

Kernel code (intended for ring0) cannot use red zones as a stack switch
doesn't occur when an exception/interrupt occurs.  Compiling any kernel
code with red zone support leads to subtle clobbering of state.

~Andrew

_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel

Reply via email to