Newsgroup: it.comp.os.linux.sys
Titolo: compilazione modulo kernel con gcc3.2

Buongiorno a tutti,
sto compilando sulla mia RedHat 8.0A un modulo per il modem PCI ADSL
Conexant.
Prendo i sorgenti, modifico i makefile che sono per un vecchio kernel 2.4.3
Mandrake ed io uso un 2.4.18-24, aggiungo qualche ottimizzazione per Athlon
e 3Dnow (ma lo fa anche senza), compilo..., installo...., tutto ok, sembra
...... carico il modulo e ...........bum!
Il kernel si lamenta che il modulo č stato compilato con un gcc della serie
2!!?!?!?!
Non c'č ovviamente verso di caricarlo.
Ma come, ho verificato e straferificato che la compilazione avviene con il
gcc3.2!!
Qualcuno per caso ci capisce qualcosa?
Ciao a tutti e grazie in anticipo

 2!!?!?!?!
make modules l'hai fatto?
Perchè non usi un 2.4.20?
Max

 Perchè non usi un 2.4.20?
Che faccio a fare un make modules quando il modulo è fuori dall'albero del
Kernel?
Lo compilo nella sua dir con un normale make.
Non uso un 2.4.20 perchè non voglio ricompilare il Kernel se non
strettamente necessario.
Se compili i moduli sui kernel di default e questi si installano, in ogni
installazione personalizzata che fai, puoi usare quel driver evitando di
ricompilare tutto il kernel per il cliente.
E' più una questione procedurale che di effettivo utilizzo, probabilmente
con la ricompilazione ex novo del 2.4.20 la cosa funziona, ma non è ciò che
voglio capire.
Grazie comunque, altre idee?
Techs

 Qualcuno per caso ci capisce qualcosa?
Domanda: il modulo e` _intermente_ sorgente,
oppure, come NVidia, ha parti in binario?
Se e` il secondo caso, allora potrebbe essere
che queste parti siano state compilate con
gcc 2.9x e quindi creino problemi.
Esiste un modo per risolvere il problema,
prova a guardare:
http://linmodems.technion.ac.il/resources.html#GCC3
bye,
-- 
   Piergiorgio Sartor

 prova a guardare:
Grazie ora guardo, ma il modulo è interamente sorgente.
Premesso che di C, C++ & Co. non capisco un H!!!
:-)))
Techs

Tra l'altro il kernel non si lamenta per un tainted module, mi dice solo che
č compilato con una versione 2 del gcc (???) mentre il kernel con un gcc3 e
"si są che ciņ non funziona", quindi non se lo fila.
La traduzione č indegna ma rende..
Techs

 La traduzione è indegna ma rende..
Ti do un altro hint:
You can remove symbol 'gcc2_compiled.' from object files ('objcopy -N
gcc2_compiled. file.o file.o.new') and this will work with gcc3.
bye,
-- 
piergiorgio

Piergiorgio sei un mito!
Adesso provo, ma mi pare che ci siamo....
Ciao e grazie mille
Techs


Nuova palla, ora mi dice che mi posso rivolgere al mio fornitore......
[root@firefox KernelModule]# Using
/lib/modules/2.4.18-24.8.0/kernel/drivers/net/CnxADSL.o
/lib/modules/2.4.18-24.8.0/kernel/drivers/net/CnxADSL.o: unresolved symbol
sys_call_table
/lib/modules/2.4.18-24.8.0/kernel/drivers/net/CnxADSL.o:
Hint: You are trying to load a module without a GPL compatible license
      and it has unresolved symbols.  The module may be trying to access
      GPLONLY symbols but the problem is more likely to be a coding or
      user error.  Contact the module supplier for assistance, only they
      can help you.
-bash: Using: command not found
Nuove idee :-(((
Techs

 Nuove idee :-(((
Ma hai provato quello che dicono su linmodems
riguardo il gcc3.2? Ha senso, per te?
bye,
-- 
   Piergiorgio Sartor

 riguardo il gcc3.2? Ha senso, per te?
Ciao Piergiorgio,
sono un po' cozza e non avevo visto la parte giusta del link....
Penso di sì, forzare il caricamento del modulo quando la maggior parte della
compilazione è avvenuta con il gcc3.2 dovrebbe, dico dovrebbe, funzionare in
genere.
Dipende se i cambiamenti apportati dal cambio di compilatore sono
sostanziali o marginali.
Se dico una cag.. non me ne vogliano coloro che capiscono di C..
Nel mio caso proverò, ma non credo che funzioni, mi sembrava più azzeccato
l'approccio di prima.
In fondo, invece di forzare il caricamento togli dal file il flag che rompe
dopo aver compilato, ma la sostanza credo sia la stessa.
Mi sa che o downgrado a 2.4.3 su Mandrake, che ho installato tra l'altro ma
non mi piace, o mi frantumo di prove con il loro kernel 2.4.19, con il quale
riportano successi.
La documentazione principale fa riferimento ad un tizio che non aveva ancora
attivato l'ADSL!!!!!
Chiude dicendo "La linea è sù, non mi resta che aspettare che mi attivino il
servizio!!!!
Anche il mio modem apre la connessione e mi dice che la linea è su, ma pppoe
& compagnia con cacchio che funzionano!
Non si collega neanche al tubo del cesso!
Mi da continuamente errori di IOCTL.
Sono sull'incacchiato andante....
Techs

Techs wrote:
[...]
Altra cosa, non c'e` nessun indirizzo e-mail in
messo ai sorgenti?
Se si, scrivi senza esistare, a chiunque trovi!
bye,
-- 
   Piergiorgio Sartor