Upstream version 10.39.225.0
[platform/framework/web/crosswalk.git] / src / native_client / tests / toolchain / call_with_misaligned_stack.S
1 /*
2  * Copyright (c) 2014 The Native Client Authors. All rights reserved.
3  * Use of this source code is governed by a BSD-style license that can be
4  * found in the LICENSE file.
5  */
6
7 /*
8  * Call the argument with a stack pointer 4 bytes below its value on entry.
9  * This will ensure that (assuming it's aligned on a 16-byte boundary on entry)
10  * it will be misaligned on entry to the callee.
11 */
12     .text
13     .p2align 5
14     .globl   call_with_misaligned_stack
15     .type    call_with_misaligned_stack, @function
16 call_with_misaligned_stack:
17     movl     4(%esp), %ecx   /* call target */
18     naclcall %ecx
19     pop      %ecx
20     nacljmp  %ecx
21     .p2align 5