Opzione -g di gcc e pacchetti

Postate qui se avete consigli per migliorare i pacchetti disponibili in questo sito o se avete problemi con installazione, funzionamento o altro.

Moderatore: Staff

Regole del forum
1) Citare in modo preciso il nome del pacchetto.
2) Specificare se discussione/suggerimento o richiesta d'aiuto.
3) Leggere attentamente le risposte ricevute
4) Scrivere i messaggi con il colore di default, evitare altri colori.
5) Scrivere in Italiano o in Inglese, se possibile grammaticalmente corretto, evitate stili di scrittura poco chiari, quindi nessuna abbreviazione tipo telegramma o scrittura stile SMS o CHAT.
6) Appena registrati è consigliato presentarsi nel forum dedicato.

La non osservanza delle regole porta a provvedimenti di vari tipo da parte dello staff, in particolare la non osservanza della regola 5 porta alla cancellazione del post e alla segnalazione dell'utente. In caso di recidività l'utente rischia il ban temporaneo.
Rispondi
Avatar utente
conraid
Staff
Staff
Messaggi: 13424
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Opzione -g di gcc e pacchetti

Messaggio da conraid »

Altro quesito su realizzazione di pacchetti.

Solitamente negli SlackBuild viene dato il comando strip agli eseguibili ed alle librerie per diminuirne la dimensione, perdendo le informazioni di debug. Quando possibile viene aggiunta l'opzione --without-debug o -DNDEBUG o simili al configure, a cmake, etc...
Ho visto che molti programmi, per esempio ora sto compilando Filezilla, aggiungono l'opzione -g ai flags di compilazione.
Leggendo il manuale
https://gcc.gnu.org/onlinedocs/gcc/Debu ... tions.html
tale opzione produce informazioni di debug del programma.

Ora mi chiedo. A questo non è meglio (per velocizzare, rendere più compatti, etc..) disabilitarla (con -g0) in fase di configurazione e quindi di compilazione? Oppure è ininfluente?

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 2718
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 5.5.3-ck1
Desktop: lxde
Località: Pisa
Contatta:

Re: Opzione -g di gcc e pacchetti

Messaggio da ponce »

le informazioni di debug, se non indispensabili per qualche ragione, di norma vengono disabilitate per ragioni pratiche (software piu' snello e veloce).

e' ininfluente farlo prima o dopo: farlo dopo e' piu' comodo visto che, a seconda dei progetti, puo' essere anche molto complicato capire come disabilitarle in fase di compilazione (alcuni software le forzano).

passare come CFLAGS/CXXFLAGS anche -g0 non funziona sempre.
Ultima modifica di ponce il mer 16 set 2015, 16:55, modificato 1 volta in totale.

Avatar utente
conraid
Staff
Staff
Messaggi: 13424
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Opzione -g di gcc e pacchetti

Messaggio da conraid »

Quindi anche se lascio "-g" (per toglierla devo agire con sed sui file di configurazione) è uguale tanto dopo lo strip toglie tale informazioni aggiuntive?

Avatar utente
ponce
Iper Master
Iper Master
Messaggi: 2718
Iscritto il: mer 5 mar 2008, 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 5.5.3-ck1
Desktop: lxde
Località: Pisa
Contatta:

Re: Opzione -g di gcc e pacchetti

Messaggio da ponce »

conraid ha scritto:Quindi anche se lascio "-g" (per toglierla devo agire con sed sui file di configurazione) è uguale tanto dopo lo strip toglie tale informazioni aggiuntive?
esatto.

a volte faccio anch'io dei salti mortali per toglierlo (sed o che altro) ma alla fin fine non serve.

Avatar utente
conraid
Staff
Staff
Messaggi: 13424
Iscritto il: gio 14 lug 2005, 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Desktop: kde
Località: Livorno
Contatta:

Re: Opzione -g di gcc e pacchetti

Messaggio da conraid »

ponce ha scritto:
conraid ha scritto:Quindi anche se lascio "-g" (per toglierla devo agire con sed sui file di configurazione) è uguale tanto dopo lo strip toglie tale informazioni aggiuntive?
esatto.
ok, perfetto :-)

Un dubbio in meno.

Rispondi