summaryrefslogtreecommitdiffstats
path: root/contrib/bind9/lib/export/samples/sample-async.c
diff options
context:
space:
mode:
authorandrew <andrew@FreeBSD.org>2013-08-05 19:06:28 +0000
committerandrew <andrew@FreeBSD.org>2013-08-05 19:06:28 +0000
commit1e070fe985d3b60b77ddd6155a70b5b2354ae123 (patch)
tree8dffe52db187e203919e583c9eb5259a31828b45 /contrib/bind9/lib/export/samples/sample-async.c
parentb8fe5eca7f69369d0faabdfa7ab217dab06183d5 (diff)
downloadFreeBSD-src-1e070fe985d3b60b77ddd6155a70b5b2354ae123.zip
FreeBSD-src-1e070fe985d3b60b77ddd6155a70b5b2354ae123.tar.gz
When entering exception handlers we may not have an aligned stack. This is
because an exception may happen at any time. The stack alignment rules on ARM EABI state the only place the stack must be 8-byte aligned is on a function boundary. If an exception happens while a function is setting up or tearing down it's stack frame it may not be correctly aligned. There is also no requirement for it to be when the function is a leaf node. The fix is to align the stack after we have stored a backup of the old stack pointer, but before we have stored anything in the trapframe. Along with this we need to adjust the size of the trapframe by 4 bytes to ensure the stack below it is also correctly aligned.
Diffstat (limited to 'contrib/bind9/lib/export/samples/sample-async.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud