use the -c strace option for program, you should get different。
The major reasons to use raw Linux system calls are as follows:
❑ It creates the smallest size code possible because no external libraries need to be linked into theprograms.
❑ It creates the fastest possible code, again because no external libraries are linked into the programs.
❑ Linked executable files are independent of any external library code.
The major reasons for using C library functions in assembly language programs are as follows:
❑ The C libraries contain many functions that would require major assembly language code toemulate (such as the ASCII-to-integer or floating-point data type conversions).
❑ The C libraries are portable between operating systems (such as compiling programs on FreeBSD
running on the Intel platform as well as Linux systems).
❑ C library functions can utilize shared libraries between programs, reducing memory requirements.