]> Zhao Yanbai Git Server - minix.git/commitdiff
kernel: maintain stack alignment
authorBen Gras <ben@minix3.org>
Mon, 24 Jun 2013 12:35:25 +0000 (14:35 +0200)
committerBen Gras <ben@minix3.org>
Tue, 25 Jun 2013 09:53:15 +0000 (09:53 +0000)
. 'fixes' 64-bit varargs (i.e. printf("%llu", ..)) argument
  retrieval bug

kernel/arch/earm/mpx.S

index 77b7d9d071a0561bb2fd4484873bd06599635adb..c86578e2cdad3f84884d0b906fca8778cb24f9ca 100644 (file)
@@ -130,6 +130,7 @@ irq_entry_from_user:
        ldr     fp, [sp]
 
        push    {fp}    /* save caller proc ptr */
+       sub     sp, sp, #4      /* maintain stack alignment */
 
        /* stop user process cycles */
        mov     r0, fp  /* first param: caller proc ptr */
@@ -139,6 +140,7 @@ irq_entry_from_user:
        /* call handler */
        bl      _C_LABEL(omap3_irq_handle)      /* omap3_irq_handle(void) */
 
+       add     sp, sp, #4
        pop     {fp}    /* caller proc ptr */
 
        /* data synchronization barrier */