Do meu entendimento instável: o script de compilação está transmitindo as -mcmodel=large
opção para o GCC. Esta opção só é suportada desde o GCC 4.3 ( ou talvez 4.4 ). Você parece ter uma versão mais antiga onde a opção é reconhecido na linha de comando, mas não implementado sob o capô.
Esta opção produz um executável em execução no modelo grande , que consome mais memória para ponteiros, mas não impõe restrições ao endereço e tamanho das seções de código e dados. Este permite que o kernel seja executado em qualquer endereço virtual . Eu acho que isso é necessário para o Linux no modo User, porque ele tem que coexistir com o kernel real enquanto ele está fingindo ser um kernel para o usuário → kernel ABIs.