Summary: | Patch libtool-1.5.18-alt-link_all_deplibs-runtime.patch seems to be obsolete/broken | ||
---|---|---|---|
Product: | Sisyphus | Reporter: | Alexey Morozov <morozov> |
Component: | libtool_2.2 | Assignee: | Dmitry V. Levin <ldv> |
Status: | NEW --- | QA Contact: | qa-sisyphus |
Severity: | normal | ||
Priority: | P2 | CC: | avm, evg, sbolshakov, zerg |
Version: | unstable | ||
Hardware: | all | ||
OS: | Linux |
Description
Alexey Morozov
2007-03-05 10:21:54 MSK
*** Bug 11012 has been marked as a duplicate of this bug. *** (In reply to comment #0) > Кажется, данный патч должен быть либо удален, либо скорректирован. http://git.altlinux.org/people/ldv/packages/?p=libtool.git;a=blob_plain;f=libtool-1.5.18-alt-deb-link_all_deplibs.patch > > В этом патче эксплуатируется такое свойство ELF линкера, как > автоматическая "раскрутка" полного списка библиотек, в т.ч., используемых > неявно. Это позволяет не указывать при линковке неявно используемые библиотеки. > > К сожалению, ситуация меняется при использовании ключа линкера --no-undefined > (-Wl,--no-undefined при использовании в качестве линкера gcc). При таком > использовании требуется указывать полный список библиотек; не помогает даже > использование ключа --allow-shlib-undefined, т.к. неотрезолвленными часто > оказываться ссылки, неявно включенные в объектные файлы. > > Например, при включении заголовочного файла kdebug.h в объектный файл в любом > случае попадают ссылки на некоторые методы QString, несмотря даже на то, что > QString не используется. > > Если потребуется, я могу привести сравнительно простой пример, иллюстрирующий > данную проблему. Сравнительно простой пример, конечно, не помешает. (In reply to comment #0) > Кажется, данный патч должен быть либо удален, либо скорректирован. > > В этом патче эксплуатируется такое свойство ELF линкера, как > автоматическая "раскрутка" полного списка библиотек, в т.ч., используемых > неявно. Это позволяет не указывать при линковке неявно используемые библиотеки. > > К сожалению, ситуация меняется при использовании ключа линкера --no-undefined > (-Wl,--no-undefined при использовании в качестве линкера gcc). При таком > использовании требуется указывать полный список библиотек; не помогает даже > использование ключа --allow-shlib-undefined, т.к. неотрезолвленными часто > оказываться ссылки, неявно включенные в объектные файлы. Вообще-то указывать полный список _используемых_ библиотек - это правило хорошего тона. Выключение link_all_deplibs в сочетании с --no-undefined просто превращает пожелание в требование. Надо ещё раз подумать над этим применительно к libtoll_2.2 |