Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Ldflags
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian)
View previous topic :: View next topic  
Author Message
ago
Developer
Developer


Joined: 01 Mar 2008
Posts: 1527
Location: Milan, Italy

PostPosted: Sat Sep 26, 2009 12:58 pm    Post subject: Ldflags Reply with quote

ciao a tutti... :D è da tempo che uso le ldflags e devo dire che l'ottimizzazione va meglio...ma leggendo:
Code:
man ld

mi accorgo che ce ne sono svariate...e desideravo avere un'ottimizzazione maggiore aggiungendone qualcun'altra..ma onde evitare di fare test gradirei sapere se potete consigliarmene qualcuna voi che usate e non crea problemi e/o instabilità...per ora ho:
Code:
"-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -Wl,--sort-common"

grazie in anticipo per le risposte :)
Back to top
View user's profile Send private message
mack1
Guru
Guru


Joined: 18 Mar 2006
Posts: 315

PostPosted: Sat Sep 26, 2009 4:02 pm    Post subject: Reply with quote

Ciao anche io uso le LDFLAGS e non incappo in problemi da un bel pezzo (uso kde3/4,xfce e E17 8) ), comunque qui trovi il numero dei bug segnalati in relazione a "--as-neened":

https://bugs.gentoo.org/show_bug.cgi?id=129413

E qui ci sono le "safe ldfags" di gentoo wiki:

http://en.gentoo-wiki.com/wiki/Safe_LDFLAGS

Le tue mi sembrano sicure (imho), visto poi che gentoo attiva di default solo "-Wl,-O1" la tua è già un'ottimizzazione "spinta", io di più non farei (ameno che tu non voglia sperimentare, mettendo in conto la possibilità di rompere il sistema).

Ciao
Back to top
View user's profile Send private message
K.a.o.s.
n00b
n00b


Joined: 19 Mar 2009
Posts: 20
Location: /dev/null

PostPosted: Sat Sep 26, 2009 4:30 pm    Post subject: Reply with quote

Le mie sono:
Code:
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--sort-common -Wl,-z,combreloc -Wl,--hash-style=gnu"

Per ora nessun problema (~amd64, sia Gnome che Kde), tranne uno con Gimp poco tempo fa. Ovviamente sono, come detto da mack1, da considerarsi "spinte".

Combreloc la sto utilizzando da relativamente poco (qualche mese) per provare e mi sembra porti un buon incremento. Non so dirne però oggettivamente i vantaggi e gli svantaggi, quindi se qualcuno sa qualcosa in proposito... si faccia avanti :P.

Se vuoi qualcosa per una maggiore stabilità, puoi usare now al posto di combreloc, visto che carica i simboli all'avvio (avvio più lento) e... se c'è qualcosa di rotto, non parte proprio l'applicazione :wink: evitando crash durante l'esecuzione.
_________________
A river too pure, yields no fish.
Back to top
View user's profile Send private message
table
Apprentice
Apprentice


Joined: 17 Feb 2007
Posts: 279
Location: Gazzaniga (BG) Italy

PostPosted: Sat Sep 26, 2009 7:43 pm    Post subject: Reply with quote

mack1 wrote:

Le tue mi sembrano sicure (imho), visto poi che gentoo attiva di default solo "-Wl,-O1"



mi intrometto, cosa intendi con questa frase? Intendi che se non specifico alcuna LDFLAGS è come se impostassi "-Wl,-O1" nel make.conf?
_________________
Pulisci l'html con:
Code:
sed 's/<[Bb][Rr][ \t]*\/*>/\n/g;s/<\/*[^>]\+\/*>//g'

skype: matteopinguino
Back to top
View user's profile Send private message
mack1
Guru
Guru


Joined: 18 Mar 2006
Posts: 315

PostPosted: Sat Sep 26, 2009 9:01 pm    Post subject: Reply with quote

@table

Esatto fanno parte del profilo e vengono impostate di default (controlla con un "emerge --info" :wink: ), se vuoi disabilitarle devi aggiungere a make.conf:

Code:

LDFLAGS=""


Vedo che anche con un profilo hardened sono abilitate di delault e non danno problemi 8), quindi credo siano sicure 8).

Ciao
Back to top
View user's profile Send private message
ago
Developer
Developer


Joined: 01 Mar 2008
Posts: 1527
Location: Milan, Italy

PostPosted: Sat Sep 26, 2009 11:05 pm    Post subject: Reply with quote

mm bene di nuovo leggo zombreloc, e poi dopo un occhiatina in giro ho trovato --relax --no-keep-memory e Wl,--export-dynamic....vediamo cosa esce fuori di nuovo :)
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Sun Sep 27, 2009 2:44 pm    Post subject: Re: Ldflags Reply with quote

ago88 wrote:
-Wl,--hash-style=gnu -Wl,--sort-common
già non sono del tutto sicure, o meglio possono dare qualche problema con alcuni pacchetti. Tieni conto che tutte le ldflag, a parte -O1 e --as-needed (che sono in fase di stabilizzazione e prima o poi diventeranno di default), sono non supportate e non è detto che diano benefici.
Il discorso vale in generale per tutte le ottimizzazioni, anche quelle del compilatore, ed alcuni pacchetti hanno seri problemi; al momento negli ebuild non è previsto il mascheramento delle ottimizzazioni dannose del linker, questo vuol dire non supportate.
A livello di codice dei singoli pacchetti quasi tutte le ottimizzazioni non sono supportate ovvero non sono previste di default nel makefile e gli autotool non disabilitano quelle dannose.
In generale sarebbe una buona idea usare una ottimizzazione per pacchetto ed evitare di toccare la toolchain se proprio vuoi sbizzarrirti.
_________________
scita et risus abundant in ore stultorum sed etiam semper severi insani sunt:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
ago
Developer
Developer


Joined: 01 Mar 2008
Posts: 1527
Location: Milan, Italy

PostPosted: Sun Sep 27, 2009 6:09 pm    Post subject: Reply with quote

@djinnZ

In generale uso quelle flag da quasi un anno e non ho mai avuto un problema ( o se meglio vogliamo dire un problema noto... )
Cmq in caso mi dovessero capitare problemi e/o errori prima di postare ricompilo comentando le ldflags!
Back to top
View user's profile Send private message
devilheart
l33t
l33t


Joined: 17 Mar 2005
Posts: 848
Location: Villach, Austria

PostPosted: Wed Sep 30, 2009 10:05 am    Post subject: Reply with quote

usare -Wl,--hash-style=both aumenta la dimensione dei files?
Back to top
View user's profile Send private message
ago
Developer
Developer


Joined: 01 Mar 2008
Posts: 1527
Location: Milan, Italy

PostPosted: Wed Sep 30, 2009 12:13 pm    Post subject: Reply with quote

sul man non dice nulla...
Back to top
View user's profile Send private message
K.a.o.s.
n00b
n00b


Joined: 19 Mar 2009
Posts: 20
Location: /dev/null

PostPosted: Sun Oct 04, 2009 11:48 am    Post subject: Reply with quote

Quote:
usare -Wl,--hash-style=both aumenta la dimensione dei files?

Fai prima a provare con un pacchetto, a occhio direi di sì :wink:, visto che per mantenere la retrocompatilibità tiene due tabelle degli hash.
_________________
A river too pure, yields no fish.
Back to top
View user's profile Send private message
table
Apprentice
Apprentice


Joined: 17 Feb 2007
Posts: 279
Location: Gazzaniga (BG) Italy

PostPosted: Mon Oct 05, 2009 3:42 pm    Post subject: Reply with quote

ho impostato da qualche giorno:
Code:
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--sort-common -Wl,-z,combreloc -Wl,--hash-style=gnu"


non ho notato grossi cambiamenti, né in prestazioni né in stabilità del sistema :?
_________________
Pulisci l'html con:
Code:
sed 's/<[Bb][Rr][ \t]*\/*>/\n/g;s/<\/*[^>]\+\/*>//g'

skype: matteopinguino
Back to top
View user's profile Send private message
ago
Developer
Developer


Joined: 01 Mar 2008
Posts: 1527
Location: Milan, Italy

PostPosted: Mon Oct 05, 2009 5:26 pm    Post subject: Reply with quote

ma hai ricompilato qualche pacchetto dopo aver messo le flag?
Back to top
View user's profile Send private message
table
Apprentice
Apprentice


Joined: 17 Feb 2007
Posts: 279
Location: Gazzaniga (BG) Italy

PostPosted: Mon Oct 05, 2009 7:06 pm    Post subject: Reply with quote

ago88 wrote:
ma hai ricompilato qualche pacchetto dopo aver messo le flag?


sì, ho ricompilato tutto il sistema
_________________
Pulisci l'html con:
Code:
sed 's/<[Bb][Rr][ \t]*\/*>/\n/g;s/<\/*[^>]\+\/*>//g'

skype: matteopinguino
Back to top
View user's profile Send private message
riverdragon
Veteran
Veteran


Joined: 14 Sep 2006
Posts: 1269
Location: Verona

PostPosted: Mon Oct 05, 2009 9:40 pm    Post subject: Reply with quote

Ma infatti le uniche ldflags che mostrano una differenza sensibile sono -Wl,--as-needed, le altre sono opzioni poco chiare, non si capisce bene che vantaggi diano, e fanno parte di quella "zona nera" dove uno giura che migliorino le performance del sistema ma nessun altro riesce a replicare gli stessi risultati.
Back to top
View user's profile Send private message
djinnZ
Advocate
Advocate


Joined: 02 Nov 2006
Posts: 4831
Location: somewhere in L.O.S.

PostPosted: Tue Oct 06, 2009 4:49 pm    Post subject: Reply with quote

Direi più che come portano benefici su alcuni pacchetti ma in ogni caso mettono a rischio la possibilità di compilare correttamente, quindi sarebbe bene tenerle lontano da libc/gcc e simili.
_________________
scita et risus abundant in ore stultorum sed etiam semper severi insani sunt:wink:
mala tempora currunt...mater stultorum semper pregna est :evil:
Murpy'sLaw:If anything can go wrong, it will - O'Toole's Corollary:Murphy was an optimist :wink:
Back to top
View user's profile Send private message
ago
Developer
Developer


Joined: 01 Mar 2008
Posts: 1527
Location: Milan, Italy

PostPosted: Tue Oct 13, 2009 8:05 pm    Post subject: Reply with quote

djinnZ wrote:
Direi più che come portano benefici su alcuni pacchetti ma in ogni caso mettono a rischio la possibilità di compilare correttamente, quindi sarebbe bene tenerle lontano da libc/gcc e simili.


puoi sempre creare package.ldflags come indica qui.. http://en.gentoo-wiki.com/wiki/Safe_LDFLAGS#Per_package_LDFLAGS .magari a tutto il system non applichi ldflags
Back to top
View user's profile Send private message
!equilibrium
Bodhisattva
Bodhisattva


Joined: 06 Jun 2004
Posts: 2109
Location: MI/BG/LC

PostPosted: Wed Oct 14, 2009 11:05 am    Post subject: Reply with quote

table wrote:
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--sort-common -Wl,-z,combreloc -Wl,--hash-style=gnu"


giusto per fare chiarezza su un paio di cose:

- -Wl,-O1 migliora le performance (poco);
- -Wl,--as-needed migliora le performance (sensibilmente);
- -Wl,--sort-common pericoloso;
- -Wl,-z,now non apporta nessun miglioramento di performance, ma è molto utile per scovare subito problemi nelle librerie, le quali non vengono compilate se ci sono problemi di linking (anzichè compilarle e farti poi impazzire con i segfault);
- -Wl,-z,combreloc pericoloso;
- -Wl,--hash-style=gnu migliora le performance (sensibilmente);

detto ciò, va aggiunto che i miglioramenti sensibili delle performance si riducono un bel po quando si hanno DualCore, QuadCore, SixCore e mostri del genere, visto che tutto è notoriamente iper-veloce e quindi le migliorie non sono nemmeno percettibili perchè si riducono a millisecondi (questo non vuol dire che le ottimizzazioni del linker non vanno usate sulle moderne arch, perchè comunque si risparmia moltissima RAM e spazio su disco).
_________________
Arch Tester for Gentoo/FreeBSD
Equilibrium's Universe

all my contents are released under the Creative Commons Licence by-nc-nd 2.5


Last edited by !equilibrium on Wed Oct 14, 2009 2:54 pm; edited 2 times in total
Back to top
View user's profile Send private message
K.a.o.s.
n00b
n00b


Joined: 19 Mar 2009
Posts: 20
Location: /dev/null

PostPosted: Wed Oct 14, 2009 11:45 am    Post subject: Reply with quote

Solo per curiosità, non per protestare o sostenere qualcosa :wink:, perchè -Wl,combreloc sarebbe pericolosa?
_________________
A river too pure, yields no fish.
Back to top
View user's profile Send private message
!equilibrium
Bodhisattva
Bodhisattva


Joined: 06 Jun 2004
Posts: 2109
Location: MI/BG/LC

PostPosted: Wed Oct 14, 2009 12:18 pm    Post subject: Reply with quote

K.a.o.s. wrote:
Solo per curiosità, non per protestare o sostenere qualcosa :wink:, perchè -Wl,combreloc sarebbe pericolosa?


l'ho scritto apposta per provocazione, voglio vedere chi sa darmi una motivazione plausibile per abilitarlo 8)
_________________
Arch Tester for Gentoo/FreeBSD
Equilibrium's Universe

all my contents are released under the Creative Commons Licence by-nc-nd 2.5
Back to top
View user's profile Send private message
Kernel78
Moderator
Moderator


Joined: 24 Jun 2005
Posts: 3654

PostPosted: Wed Oct 14, 2009 2:43 pm    Post subject: Reply with quote

!equilibrium wrote:
K.a.o.s. wrote:
Solo per curiosità, non per protestare o sostenere qualcosa :wink:, perchè -Wl,combreloc sarebbe pericolosa?


l'ho scritto apposta per provocazione, voglio vedere chi sa darmi una motivazione plausibile per abilitarlo 8)

la curiosità la consideri una motivazione plausibile ?
_________________
Le tre grandi virtù di un programmatore: pigrizia, impazienza e arroganza. (Larry Wall).
Prima di postare un file togli i commenti con
Code:
grep -vE '(^[[:space:]]*($|(#|!|;|//)))'
Back to top
View user's profile Send private message
!equilibrium
Bodhisattva
Bodhisattva


Joined: 06 Jun 2004
Posts: 2109
Location: MI/BG/LC

PostPosted: Wed Oct 14, 2009 2:52 pm    Post subject: Reply with quote

Kernel78 wrote:
la curiosità la consideri una motivazione plausibile ?


ok, non la tiro troppo per le lunghe: -z,combreloc è abilitata di default in binutils dal lontano 2001 quindi metterla in LDFLAGS, oltre ad essere ridondante, non produce nessun miglioramento di performance; quindi chi ha asserito che combreloc fa miraloci, se li è sognati la notte.
_________________
Arch Tester for Gentoo/FreeBSD
Equilibrium's Universe

all my contents are released under the Creative Commons Licence by-nc-nd 2.5
Back to top
View user's profile Send private message
K.a.o.s.
n00b
n00b


Joined: 19 Mar 2009
Posts: 20
Location: /dev/null

PostPosted: Wed Oct 14, 2009 3:25 pm    Post subject: Reply with quote

Quote:
-z,combreloc è abilitata di default in binutils dal lontano 2001


:o
Ma non era lazy di default?
Quote:
lazy
When generating an executable or shared library, mark it to
tell the dynamic linker to defer function call resolution to
the point when the function is called (lazy binding), rather
than at load time. Lazy binding is the default.


O i dev di Gentoo l'hanno abilitata in maniera forzata?
_________________
A river too pure, yields no fish.
Back to top
View user's profile Send private message
riverdragon
Veteran
Veteran


Joined: 14 Sep 2006
Posts: 1269
Location: Verona

PostPosted: Wed Oct 14, 2009 3:38 pm    Post subject: Reply with quote

!equilibrium wrote:
- -Wl,--sort-common pericoloso;
Stesse motivazioni di 'combreloc' o questa volta è pericoloso sul serio? Da me è abilitata da un bel pezzo (non ricordo il motivo sinceramente).
Back to top
View user's profile Send private message
!equilibrium
Bodhisattva
Bodhisattva


Joined: 06 Jun 2004
Posts: 2109
Location: MI/BG/LC

PostPosted: Wed Oct 14, 2009 3:39 pm    Post subject: Reply with quote

K.a.o.s. wrote:
Ma non era lazy di default?
O i dev di Gentoo l'hanno abilitata in maniera forzata?


non cercare di rigirare la frittata, io non ho mai parlato dei devel gentoo, ho detto che è il default in binutils, quindi è il default per tutte le distro linux, non solo per Gentoo; direttamente dal ChangeLog di binutils:

Quote:
Changes from binutils 2.11.93.0.2:

1. Update from binutils 2002 0307.
2. Add the .preinit_array/.init_array/.fini_array support.
3. Fix eh_frame.
4. Turn on combreloc by default.
5. Enable gprof for Linux/mips.

_________________
Arch Tester for Gentoo/FreeBSD
Equilibrium's Universe

all my contents are released under the Creative Commons Licence by-nc-nd 2.5
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Forum italiano (Italian) All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum