Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
3aff70a29cf6ff10ac464fce8565a8b191f171aa
[simgrid.git] / tools / stack-cleaner / README
1 Provides stack-cleaning compilers for x86_64:
2
3  * as
4  * cc
5  * c++
6  * fortran
7
8 Each of them modify the generated/given X86_64 assembly by prepending
9 stack-cleanup code to each function:
10
11         movq $0x7ffff7ff8000, %r11
12         cmpq %r11, %rsp
13         jbe .Lstack_cleaner_done0
14         movq $QSIZE, %r11
15 .Lstack_cleaner_loop0:
16         movq $0, OFFSET(%rsp,%r11,8)
17         subq $1, %r11
18         jne  .Lstack_cleaner_loop0:
19 .Lstack_cleaner_done0:
20
21 The modification of the assembly is done by the clean-stack-filter
22 program.
23
24 If the underlying compiler is clang, it might be necessary to add the
25 -no-integrated-as flag in order to force the usage of an external
26 assembler.