The condition was broken and the %rsp limit was too high.
# This is a crude hack to disable the stack cleaning on the main
# stack. It rellies on the fact that the main stack is high in
# the address space and the other stacks are in the hap (lower).
# This is a crude hack to disable the stack cleaning on the main
# stack. It rellies on the fact that the main stack is high in
# the address space and the other stacks are in the hap (lower).
- print("\tmovq \$0x7ffff7ff8000, %r11\n");
+ print("\tmovq \$0x7fff00000000, %r11\n");
print("\tcmpq %r11, %rsp\n");
print("\tcmpq %r11, %rsp\n");
- print("\tjbe .Lstack_cleaner_done$id\n");
+ print("\tjae .Lstack_cleaner_done$id\n");
# Loop over the stack frame quadwords and zero it:
print("\tmovabsq \$$qsize, %r11\n");
# Loop over the stack frame quadwords and zero it:
print("\tmovabsq \$$qsize, %r11\n");