Module Name: src Committed By: matt Date: Wed Jul 17 04:57:55 UTC 2013
Modified Files: src/lib/libc/arch/m68k/gen: alloca.S Log Message: Use a more portable series of instructions. To generate a diff of this commit: cvs rdiff -u -r1.8 -r1.9 src/lib/libc/arch/m68k/gen/alloca.S Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.
Modified files: Index: src/lib/libc/arch/m68k/gen/alloca.S diff -u src/lib/libc/arch/m68k/gen/alloca.S:1.8 src/lib/libc/arch/m68k/gen/alloca.S:1.9 --- src/lib/libc/arch/m68k/gen/alloca.S:1.8 Tue Jul 16 22:12:20 2013 +++ src/lib/libc/arch/m68k/gen/alloca.S Wed Jul 17 04:57:55 2013 @@ -1,4 +1,4 @@ -/* $NetBSD: alloca.S,v 1.8 2013/07/16 22:12:20 matt Exp $ */ +/* $NetBSD: alloca.S,v 1.9 2013/07/17 04:57:55 matt Exp $ */ /*- * Copyright (c) 1990 The Regents of the University of California. @@ -39,7 +39,7 @@ #if 0 RCSID("from: @(#)alloca.s 5.1 (Berkeley) 5/12/90") #else - RCSID("$NetBSD: alloca.S,v 1.8 2013/07/16 22:12:20 matt Exp $") + RCSID("$NetBSD: alloca.S,v 1.9 2013/07/17 04:57:55 matt Exp $") #endif #endif /* LIBC_SCCS and not lint */ @@ -49,10 +49,11 @@ ENTRY(alloca) movl (%sp),%a1 /* save return addr */ movl %sp,%d0 /* get current SP value */ subl 4(%sp),%d0 /* allocate requested space */ - andb #~3,%d0 /* longword align for efficiency */ + movql #-4,%d1 /* sign extend a mask */ + andl %d1,%d0 /* longword align for efficiency */ addql #8,%d0 /* reuse space of call frame */ movl %d0,%sp /* set new SP value */ - lea -4(%sp),%sp /* account for argument pop in caller */ + subql #4,%sp /* account for argument pop in caller */ #ifdef __SVR4_ABI__ moveal %d0,%a0 #endif