source: EcnlProtoTool/trunk/tcc-0.9.26/lib/alloca86-bt.S@ 286

Last change on this file since 286 was 279, checked in by coas-nagasima, 7 years ago

ファイルを追加、更新。

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
  • Property svn:mime-type set to text/plain
File size: 809 bytes
Line 
1/* ---------------------------------------------- */
2/* alloca86-bt.S */
3
4.globl __bound_alloca
5
6__bound_alloca:
7 pop %edx
8 pop %eax
9 mov %eax, %ecx
10 add $3,%eax
11 and $-4,%eax
12 jz p6
13
14#ifdef TCC_TARGET_PE
15p4:
16 cmp $4096,%eax
17 jle p5
18 sub $4096,%esp
19 sub $4096,%eax
20 test %eax,(%esp)
21 jmp p4
22
23p5:
24#endif
25
26 sub %eax,%esp
27 mov %esp,%eax
28
29 push %edx
30 push %eax
31 push %ecx
32 push %eax
33 call __bound_new_region
34 add $8, %esp
35 pop %eax
36 pop %edx
37
38p6:
39 push %edx
40 push %edx
41 ret
42
43/* mark stack as nonexecutable */
44#if defined __ELF__ && defined __linux__
45 .section .note.GNU-stack,"",@progbits
46#endif
47/* ---------------------------------------------- */
Note: See TracBrowser for help on using the repository browser.