source: EcnlProtoTool/trunk/tcc-0.9.27/lib/alloca86_64-bt.S@ 331

Last change on this file since 331 was 331, checked in by coas-nagasima, 6 years ago

prototoolに関連するプロジェクトをnewlibからmuslを使うよう変更・更新
ntshellをnewlibの下位の実装から、muslのsyscallの実装に変更・更新
以下のOSSをアップデート
・mruby-1.3.0
・musl-1.1.18
・onigmo-6.1.3
・tcc-0.9.27
以下のOSSを追加
・openssl-1.1.0e
・curl-7.57.0
・zlib-1.2.11
以下のmrbgemsを追加
・iij/mruby-digest
・iij/mruby-env
・iij/mruby-errno
・iij/mruby-iijson
・iij/mruby-ipaddr
・iij/mruby-mock
・iij/mruby-require
・iij/mruby-tls-openssl

  • Property svn:eol-style set to native
  • Property svn:mime-type set to text/plain
File size: 975 bytes
Line 
1/* ---------------------------------------------- */
2/* alloca86_64.S */
3
4.globl __bound_alloca
5__bound_alloca:
6
7#ifdef _WIN32
8 # bound checking is not implemented
9 pop %rdx
10 mov %rcx,%rax
11 add $15,%rax
12 and $-16,%rax
13 jz p3
14
15p1:
16 cmp $4096,%rax
17 jbe p2
18 test %rax,-4096(%rsp)
19 sub $4096,%rsp
20 sub $4096,%rax
21 jmp p1
22p2:
23
24 sub %rax,%rsp
25 mov %rsp,%rax
26 add $32,%rax
27
28p3:
29 push %rdx
30 ret
31#else
32 pop %rdx
33 mov %rdi,%rax
34 mov %rax,%rsi # size, a second parm to the __bound_new_region
35
36 add $15,%rax
37 and $-16,%rax
38 jz p3
39
40
41 sub %rax,%rsp
42 mov %rsp,%rdi # pointer, a first parm to the __bound_new_region
43 mov %rsp,%rax
44
45 push %rdx
46 push %rax
47 call __bound_new_region
48 pop %rax
49 pop %rdx
50
51p3:
52 push %rdx
53 ret
54#endif
55
56/* ---------------------------------------------- */
Note: See TracBrowser for help on using the repository browser.