I have copied part of gcc manual: ------------------------------------ Do not use the standard system startup files or libraries when linking. No startup files and only the libraries you specify will be passed to the linker. The compiler may generate calls to "memcmp", "memset", "memcpy" and "memmove". These entries are usually resolved by entries in libc. These entry points should be supplied through some other mechanism when this option is specified. ------------------------------------ What is some other mechanism? How can i use -nostdlib?