Le shell devrait remplacer *.o par la liste de fichiers .o, séparée par des espaces.
Sauf s'il n'y en a pas, auquel cas il laisse *.o (ça fait partie des comportements peu intuitifs du shell) ; donc même dans ce cas il devrait te dire que le fichier *.o n'existe pas et non qu'il n'y a pas de fichiers en entrée.
Tu as beaucoup de fichiers .o ? parce que tigcc version linux n'aime pas du tout les lignes de commande un peu longues, donc s'il y en a pas mal ça pourrait être ça ; sinon, pense à utiliser -v pour avoir les détails