diff options
author | peter <peter@FreeBSD.org> | 2004-03-21 01:39:01 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2004-03-21 01:39:01 +0000 |
commit | 52b4c49f116bb3369b5497e0c01cc38cf3637968 (patch) | |
tree | a9f3e52242e4eb1bbda3cab79923175ed207b7cb | |
parent | 79f9f60bdab5e05ad5a99d6a6e29cdff16f57d54 (diff) | |
download | FreeBSD-src-52b4c49f116bb3369b5497e0c01cc38cf3637968.zip FreeBSD-src-52b4c49f116bb3369b5497e0c01cc38cf3637968.tar.gz |
Adjust stack alignment so that when the 'call xxx' functions are
gathered into the middle of the _init and _fini sections, they get
executed with their expected stack alignment.
-rw-r--r-- | lib/csu/amd64/crti.S | 2 | ||||
-rw-r--r-- | lib/csu/amd64/crtn.S | 2 |
2 files changed, 4 insertions, 0 deletions
diff --git a/lib/csu/amd64/crti.S b/lib/csu/amd64/crti.S index b2e99e4..c46f001 100644 --- a/lib/csu/amd64/crti.S +++ b/lib/csu/amd64/crti.S @@ -28,12 +28,14 @@ .globl _init .type _init,@function _init: + subq $8,%rsp .section .fini,"ax",@progbits .align 4 .globl _fini .type _fini,@function _fini: + subq $8,%rsp .section .rodata .ascii "$FreeBSD$\0" diff --git a/lib/csu/amd64/crtn.S b/lib/csu/amd64/crtn.S index b2322da..d6d09da 100644 --- a/lib/csu/amd64/crtn.S +++ b/lib/csu/amd64/crtn.S @@ -24,9 +24,11 @@ */ .section .init,"ax",@progbits + addq $8,%rsp ret .section .fini,"ax",@progbits + addq $8,%rsp ret .section .rodata |