2016-07-24 9 views
-3

Ich überprüfe Gold-Linker, um zu sehen, ob es den Verknüpfungsprozess beschleunigt. Ich änderte die weiche Verbindung von ld in /etc/alternative/ld, um auf /usr/bin/gold.ld zu zeigen, was ich sehe, tut es.Gold Linker Probleme

Das Ergebnis ist, dass Verknüpfung Zeit nur viel langsamer und das Schlimmste ist, dass die Verknüpfung aus einem Grund versagt, den ich nicht verstehe.

Hat jemand Erfahrung mit dem Übergang zu Gold Linker? Wie verwende ich die parallele Verknüpfung darin? (mit Top-Befehlen habe ich nur 1 ld Prozess gesehen).

Dank

Antwort

1

Does anyone have experience with transitioning to gold linker?

Ja.

(Ich weiß, das eine meist nutzlos Antwort ist, aber das ist, weil Sie eine nutzlose Frage gestellt haben.)

How do I use the parallel linking in it?

Gold-Linker muss mit --enable-threads konfiguriert werden, was nicht der Standard ist.

Wenn der Linker mit Thread-Unterstützung konfiguriert ist, dann sind --thread und --thread-count COUNT die Flags, die Sie suchen (man page).

ist jedoch zu beachten, dass in meiner Erfahrung ld.gold ist 4-6 mal schneller als ld.bfdohne mit Fäden und Fäden werden sicher nicht Ihre Verbindungsfehler zu heilen.

Ihre beste Wette ist es, zu versuchen, zu verstehen, dass Link-Fehler, und beheben Sie, was auch immer das Problem ist. Sobald Sie das getan haben, besteht eine hohe Wahrscheinlichkeit, dass ld.gold auch schneller ist.

+0

Hier ist der Fehler: "/ usr/bin/ld: Schwerwiegender Fehler: kann -r nicht mit dem dynamischen Objekt ../libm.so" mischen. irgendeine Idee, was es bedeutet? Ich konnte --enable-threads in der EXTRA_LDFLAGS tun, aber die anderen beiden Flags fehlgeschlagen Verknüpfung, obwohl das Flag in der man-Seite in linux (der Link, den Sie gab nicht funktioniert) angezeigt. irgendwelche Ideen? danke – itayb

+0

@itayb "hier ist der Fehler" - Ihre Link-Befehlszeile ist falsch. Entferne '-r' davon. –