summaryrefslogtreecommitdiffstats
path: root/lib/csu
diff options
context:
space:
mode:
authorkettenis <kettenis@openbsd.org>2011-03-30 19:15:03 +0000
committerkettenis <kettenis@openbsd.org>2011-03-30 19:15:03 +0000
commite76b0f7db23de89a573b3094b08a35b4d1f81c80 (patch)
treeb55b8bfb01ba264559c6b4b6021da460823d1fd9 /lib/csu
parentUse #ifdef TRAPDEBUG and fix indentation. (diff)
downloadwireguard-openbsd-e76b0f7db23de89a573b3094b08a35b4d1f81c80.tar.xz
wireguard-openbsd-e76b0f7db23de89a573b3094b08a35b4d1f81c80.zip
Make sure everything run from .init and .fini sections gets a properly aligned
stack. ok deraadt@, fgsch@
Diffstat (limited to 'lib/csu')
-rw-r--r--lib/csu/amd64/md_init.h5
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/csu/amd64/md_init.h b/lib/csu/amd64/md_init.h
index 243091f7255..d923b5f7896 100644
--- a/lib/csu/amd64/md_init.h
+++ b/lib/csu/amd64/md_init.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: md_init.h,v 1.1 2004/01/28 01:46:17 mickey Exp $ */
+/* $OpenBSD: md_init.h,v 1.2 2011/03/30 19:15:03 kettenis Exp $ */
/*-
* Copyright (c) 2001 Ross Harvey
@@ -50,12 +50,13 @@
" .type " #entry_pt ",@function \n" \
#entry_pt": \n" \
" .align 16 \n" \
- " /* fall thru */ \n" \
+ " subq $8,%rsp \n" \
" .previous")
#define MD_SECTION_EPILOGUE(sect) \
__asm ( \
".section "#sect",\"ax\",@progbits \n" \
+ " addq $8,%rsp \n" \
" ret \n" \
" .previous")