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.
Avatar utente
conraid
Staff
Staff
Messaggi: 13221
Iscritto il: gio lug 14, 2005 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Località: Livorno
Contatta:

Opzione -g di gcc e pacchetti

Messaggioda conraid » mer set 16, 2015 16:22

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: 2502
Iscritto il: mer mar 05, 2008 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 4.19.9
Desktop: lxde
Località: Pisa
Contatta:

Re: Opzione -g di gcc e pacchetti

Messaggioda ponce » mer set 16, 2015 16:49

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 set 16, 2015 16:55, modificato 1 volta in totale.

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

Re: Opzione -g di gcc e pacchetti

Messaggioda conraid » mer set 16, 2015 16:55

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: 2502
Iscritto il: mer mar 05, 2008 16:45
Nome Cognome: Matteo Bernardini
Slackware: slackware64-current
Kernel: 4.19.9
Desktop: lxde
Località: Pisa
Contatta:

Re: Opzione -g di gcc e pacchetti

Messaggioda ponce » mer set 16, 2015 16:56

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: 13221
Iscritto il: gio lug 14, 2005 0:00
Nome Cognome: Corrado Franco
Slackware: current64
Località: Livorno
Contatta:

Re: Opzione -g di gcc e pacchetti

Messaggioda conraid » mer set 16, 2015 16:57

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.