linux user group brescia

immagine del castello

Archivio della mailing list

ld

Bauno bauno a inwind.it
Lun 19 Maggio 2003 01:08:21 UTC
On Sunday 18 May 2003 10:01, Vernia Damiano wrote:
> 	Domanda: perche' serve quel -lc? Una volta non era "automatico"?

Non mi risulta lo sia mai stato...:-?

> 	Mi da una vagonata di "unresolved symbol". Niente di male, basta
> che ci aggiunga -lc e mi _resta_ solo
>
> ld: warning: cannot find entry symbol _start; defaulting to 08048260
>
> 	Si e' rinstupidito lui o manca davvero qualcosa? Qualche strana
> libreria che manco mi sogno?

Alla faccia della "strana libreria". L'entry point dei programmi "C" รจ
"_main", mentre la libelf cerca "_start" x' prima di arrivare a _main
(ossia all'inzio del *tuo* programma) ci sono una tonnellata di cose da
fare (descrittori, memoria, etc..).  Se vuoi linkare manualmente devi
quindi aggiugnere sulla command line tutte le librerie che mancano, tipo
crt, crt0, crtend, crtbegin, libgcc, libc,  (se non mi ricordo male -lc
linka solo alla libc e alla crt0), + un po' di altre opzioni
(-dynamic-linker, etc...). E` una command line che il gcc genera e usa
in automatico (quando chiama il linker) se usi -o invece di -c. 



-- 
Bauno - Eurydices, oro, properata retexite fata!
"Build a fire for a man, and he'll be warm for a day.
Set a man on fire, and he'll be warm for the rest of his life." (T. Pratchett)






Maggiori informazioni sulla lista Lug