blob: 7727f3e5c8d85e50c244934997f9ac25f62d79cc [file] [log] [blame]
/*
* Copyright (c) 2014 The Native Client Authors. All rights reserved.
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
/*
* Call the argument with a stack pointer 4 bytes below its value on entry.
* This will ensure that (assuming it's aligned on a 16-byte boundary on entry)
* it will be misaligned on entry to the callee.
*/
.text
.p2align 5
.globl call_with_misaligned_stack
.type call_with_misaligned_stack, @function
call_with_misaligned_stack:
movl 4(%esp), %ecx /* call target */
naclcall %ecx
pop %ecx
nacljmp %ecx
.p2align 5