Enviado em 31/08/2015 - 04:13h
Depende da implementação.
Se você usa o GCC como fornt-end para o linker, ele geralmente inclui os objetos que você mandar, aqueles que ele produzir como saída da compilação, alguns arquivos de inicialização (incluindo aquele código “mágico” que faz com que main() seja chamada e receba seus argumentos) e finalização (que cuida do que tem de ser feito depois que main() termina ou alguém chama exit() ou abort()), e a biblioteca padrão do C.
Se, no Linux, você chamar o linker diretamente, ele só vai processar o que você mandar explicitamente, e a ordem dos parâmetros é MUITO relevante.