
This brings our tree to NetBSD 7.0, as found on -current on the 10-10-2015. This updates: - LLVM to 3.6.1 - GCC to GCC 5.1 - Replace minix/commands/zdump with usr.bin/zdump - external/bsd/libelf has moved to /external/bsd/elftoolchain/ - Import ctwm - Drop sprintf from libminc Change-Id: I149836ac18e9326be9353958bab9b266efb056f0
38 lines
626 B
ArmAsm
38 lines
626 B
ArmAsm
/* $NetBSD: h_initfini_align.S,v 1.2 2014/03/16 09:27:04 cherry Exp $ */
|
|
|
|
#include <machine/asm.h>
|
|
|
|
RCSID("$NetBSD: h_initfini_align.S,v 1.2 2014/03/16 09:27:04 cherry Exp $")
|
|
|
|
ENTRY(check_stack_alignment, 0)
|
|
.prologue
|
|
.regstk 0, 2, 0, 0
|
|
|
|
alloc loc0 = ar.pfs, 0, 2, 0, 0
|
|
|
|
.body
|
|
mov ret0 = 1
|
|
;;
|
|
|
|
/* ar.bsp has an 8-byte alignment requirement */
|
|
mov loc1 = ar.bsp
|
|
;;
|
|
|
|
and loc1 = 7, loc1
|
|
;;
|
|
|
|
cmp.eq p1, p0 = 0, loc1
|
|
(p0) mov ret0 = 0
|
|
;;
|
|
|
|
/* sp has a 16-byte alignment requirement */
|
|
(p1) mov loc1 = sp
|
|
;;
|
|
(p1) and loc1 = 15, loc1
|
|
;;
|
|
|
|
(p1) cmp.eq p1, p0 = 0, loc1
|
|
(p0) mov ret0 = 0
|
|
|
|
br.ret.sptk.few rp
|