LINUX.ORG.RU

How to LDFLAGS?

 , , , ,


1

2

Не догоняю синтаксис в LDFLAGS.
Например, чем отличаются следующие записи и какие из них правильные.

LDFLAGS="-Wl,-O2 -Wl,--as-needed,--sort-common,--strip-debug"
LDFLAGS="-Wl,-O2 -Wl,--as-needed -Wl,--sort-common -Wl,--strip-debug"
LDFLAGS="-Wl,-O2 -Wl,--as-needed -Wl,--sort-common -Wl,--strip-debug -fuse-ld=lld"

Deleted

Во-первых используй gold линкер, во-вторых не трогай флаги уже выставлены в портаже. Если напомнишь, скажу, что прописать можно. Там relro и прочее.

anonymous ()

Это эквивалентные записи.

anonymous ()
Ответ на: комментарий от MikeWortin

очепятался, а не копиписатил

Deleted ()

-Wl - это флаг не линковки, точнее это флаг, который говорит фронтенду, что надо передать линкеру. То есть, если написать -Wl,--penis, то gcc не ругнётся, а передаст линкеру опцию "--penis", а линкер уже сам будет раздумывать, зачем ему пенис.

DELIRIUM ☆☆☆☆☆ ()
Ответ на: комментарий от Deleted

Не, вроде на каждый -Wl один foo. Но не точно, мне лень сейчас смотреть код clang на эту тему, а кода gcc ваще под рукой нет и качать лень. Но если по одному foo будешь делать, то точно не ошибёшься.

DELIRIUM ☆☆☆☆☆ ()
Ответ на: комментарий от xaizek

Ну если ТСу доку смотреть лень, то мне-то почему не должно быть лень? Если надо будет, я посмотрю, но мне не надо.

DELIRIUM ☆☆☆☆☆ ()
Ответ на: комментарий от devl547

Да ладно, нормально оно взлетело.

Он обосрался на ряде софта (в основном это было что-то на культях, точно уже не помню).

Хотя lld быстрее и что главное проще.

Ведь разрабы говорили, что gold будет эффективнее (в т.ч. быстрее), а оказалось что оказалось.

r3lgar ★★★★★ ()
Ответ на: комментарий от DELIRIUM

не лень, просто там не объяснено полностью

Deleted ()
Ответ на: комментарий от r3lgar

наверное, года 2-3 им только пользуюсь

Deleted ()
Ответ на: комментарий от r3lgar

эффективнее (в т.ч. быстрее)

Ну оно эффективнее и быстрее старого ld.bfd. Но шланговый lld его обошел.

devl547 ★★★★★ ()
Последнее исправление: devl547 (всего исправлений: 1)
Ответ на: комментарий от r3lgar

Только что-то сишное обломалось (уровня elfutils и grub), но это было ещё когда он только появился. Gold нужен для lto.

Оп, лови флаги, вроде всё правильно:

LDFLAGS="-Wl,-O1,--sort-common,--as-needed,--hash-style=gnu,-z,relro -fuse-linker-plugin -fuse-ld=gold" #-flto=4

Можешь ,-z,now добавить после relro, отключен для lto по-моему. Его тоже можно добавить, у меня только для плюсовых пакетов отдельно включено.

anonymous ()

Господа, линкёры обсуждающие, а проблема порядка линковки в новых линкёрах типа gold и lld осталась?

Гнутый ld самый деграднутый в этом плане и он не может разобраться как там всё правильно линкануть.

EXL ★★★★★ ()
Ответ на: комментарий от anonymous

Только что-то сишное обломалось (уровня elfutils и grub), но это было ещё когда он только появился. Gold нужен для lto.

Точняк, это было elfutils, а не культесофт, и да, это было давно. После этого я его не юзал, ибо нутыпонел.

r3lgar ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.