Fixed the bug caused by misusing makecontext(3).

According to C99 standard of makecontext(3), all the arguments followed
by `argc' should be int:
-------------------------
The application shall ensure that the value of argc matches the number
of arguments of type int passed to func; otherwise, the behavior is
undefined.
-------------------------

Before this commit, all the variable arguments passed to makecontext(3)
are 64 bytes.

Although, conforming to man makecontext(3):
-------------------------
Nevertheless, starting with version 2.8, glibc makes some changes to
makecontext(), to permit this on some 64-bit architectures (e.g.,
x86-64).
-------------------------

Thanks to zhoubaozhou@github who pointed out this bug:
https://gist.github.com/zhoubaozhou/4545bfabb519b2ea69ec#file-coroutine_test-c