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
|
Rev | Line | |
---|
[279] | 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
|
---|
| 15 | p4:
|
---|
| 16 | cmp $4096,%eax
|
---|
| 17 | jle p5
|
---|
| 18 | sub $4096,%esp
|
---|
| 19 | sub $4096,%eax
|
---|
| 20 | test %eax,(%esp)
|
---|
| 21 | jmp p4
|
---|
| 22 |
|
---|
| 23 | p5:
|
---|
| 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 |
|
---|
| 38 | p6:
|
---|
| 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.