* [devel] libstdc++4.1-devel сломан? @ 2006-06-01 15:36 Valery V. Inozemtsev 2006-06-01 15:43 ` Dmitry V. Levin 0 siblings, 1 reply; 12+ messages in thread From: Valery V. Inozemtsev @ 2006-06-01 15:36 UTC (permalink / raw) To: devel [-- Attachment #1: Type: text/plain, Size: 1332 bytes --] hi i586-alt-linux-g++ -Wl,-z,combreloc -Wl,-z,defs -Wl,-rpath,'/usr/lib/OpenOffice.org2/program' "-Wl,-hlibstore.so.3" -shared -Wl,-O1 -Wl,--version-script ../unxlngi6.pro/misc/store_store.map -L../unxlngi6.pro/lib -L../lib -L/usr/src/RPM/BUILD/OOB6 80_m5/solenv/unxlngi6/lib -L/usr/src/RPM/BUILD/OOB680_m5/solver/680/unxlngi6.pro/lib -L/usr/src/RPM/BUILD/OOB680_m5/solenv/ unxlngi6/lib -L/usr/lib/j2se1.5-sun/lib -L/usr/lib/j2se1.5-sun/jre/lib/i386 -L/usr/lib/j2se1.5-sun/jre/lib/i386/client -L/u sr/lib/j2se1.5-sun/jre/lib/i386/native_threads -L/usr/lib ../unxlngi6.pro/slo/store_version.o ../unxlngi6.pro/slo/store_des cription.o -o ../unxlngi6.pro/lib/libstore.so.3 ../unxlngi6.pro/slo/object.o ../unxlngi6.pro/slo/memlckb.o ../unxlngi6.pro/ slo/filelckb.o ../unxlngi6.pro/slo/storbase.o ../unxlngi6.pro/slo/storcach.o ../unxlngi6.pro/slo/stordata.o ../unxlngi6.pro /slo/storlckb.o ../unxlngi6.pro/slo/stortree.o ../unxlngi6.pro/slo/storpage.o ../unxlngi6.pro/slo/store.o -luno_sal -lsupc+ + -lgcc_s -ldl -lpthread -lm /usr/lib/gcc/i586-alt-linux/4.1.1/libsupc++.a(eh_globals.o): In function `__gnu_internal::get_global()': eh_globals.cc:(.text._ZN14__gnu_internal10get_globalEv+0x17): undefined reference to `___tls_get_addr' collect2: ld returned 1 exit status и че делать? -- Valery V. Inozemtsev [-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] libstdc++4.1-devel сломан? 2006-06-01 15:36 [devel] libstdc++4.1-devel сломан? Valery V. Inozemtsev @ 2006-06-01 15:43 ` Dmitry V. Levin 2006-06-01 16:23 ` Valery V. Inozemtsev 2006-06-01 16:41 ` Alexey Tourbin 0 siblings, 2 replies; 12+ messages in thread From: Dmitry V. Levin @ 2006-06-01 15:43 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 1543 bytes --] On Thu, Jun 01, 2006 at 07:36:18PM +0400, Valery V. Inozemtsev wrote: > i586-alt-linux-g++ -Wl,-z,combreloc -Wl,-z,defs -Wl,-rpath,'/usr/lib/OpenOffice.org2/program' "-Wl,-hlibstore.so.3" -shared > -Wl,-O1 -Wl,--version-script ../unxlngi6.pro/misc/store_store.map -L../unxlngi6.pro/lib -L../lib -L/usr/src/RPM/BUILD/OOB6 > 80_m5/solenv/unxlngi6/lib -L/usr/src/RPM/BUILD/OOB680_m5/solver/680/unxlngi6.pro/lib -L/usr/src/RPM/BUILD/OOB680_m5/solenv/ > unxlngi6/lib -L/usr/lib/j2se1.5-sun/lib -L/usr/lib/j2se1.5-sun/jre/lib/i386 -L/usr/lib/j2se1.5-sun/jre/lib/i386/client -L/u > sr/lib/j2se1.5-sun/jre/lib/i386/native_threads -L/usr/lib ../unxlngi6.pro/slo/store_version.o ../unxlngi6.pro/slo/store_des > cription.o -o ../unxlngi6.pro/lib/libstore.so.3 ../unxlngi6.pro/slo/object.o ../unxlngi6.pro/slo/memlckb.o ../unxlngi6.pro/ > slo/filelckb.o ../unxlngi6.pro/slo/storbase.o ../unxlngi6.pro/slo/storcach.o ../unxlngi6.pro/slo/stordata.o ../unxlngi6.pro > /slo/storlckb.o ../unxlngi6.pro/slo/stortree.o ../unxlngi6.pro/slo/storpage.o ../unxlngi6.pro/slo/store.o -luno_sal -lsupc+ > + -lgcc_s -ldl -lpthread -lm > /usr/lib/gcc/i586-alt-linux/4.1.1/libsupc++.a(eh_globals.o): In function > `__gnu_internal::get_global()': > eh_globals.cc:(.text._ZN14__gnu_internal10get_globalEv+0x17): undefined > reference to `___tls_get_addr' > collect2: ld returned 1 exit status > > и че делать? Убрать -Wl,-z,defs - в этом всё равно нет смысла при линковке -shared. Ну а символ ___tls_get_addr определён в ld-linux.so.2 -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] libstdc++4.1-devel сломан? 2006-06-01 15:43 ` Dmitry V. Levin @ 2006-06-01 16:23 ` Valery V. Inozemtsev 2006-06-01 16:41 ` Alexey Tourbin 1 sibling, 0 replies; 12+ messages in thread From: Valery V. Inozemtsev @ 2006-06-01 16:23 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 337 bytes --] > > eh_globals.cc:(.text._ZN14__gnu_internal10get_globalEv+0x17): undefined > > reference to `___tls_get_addr' > > collect2: ld returned 1 exit status > > > > и че делать? > > Убрать -Wl,-z,defs - в этом всё равно нет смысла при линковке -shared. > Ну а символ ___tls_get_addr определён в ld-linux.so.2 шайтан -- Valery V. Inozemtsev [-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] libstdc++4.1-devel сломан? 2006-06-01 15:43 ` Dmitry V. Levin 2006-06-01 16:23 ` Valery V. Inozemtsev @ 2006-06-01 16:41 ` Alexey Tourbin 2006-06-02 7:47 ` Damir Shayhutdinov 1 sibling, 1 reply; 12+ messages in thread From: Alexey Tourbin @ 2006-06-01 16:41 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 650 bytes --] On Thu, Jun 01, 2006 at 07:43:53PM +0400, Dmitry V. Levin wrote: > On Thu, Jun 01, 2006 at 07:36:18PM +0400, Valery V. Inozemtsev wrote: > > i586-alt-linux-g++ -Wl,-z,combreloc -Wl,-z,defs -Wl,-rpath,'/usr/lib/OpenOffice.org2/program' "-Wl,-hlibstore.so.3" -shared > > /slo/storlckb.o ../unxlngi6.pro/slo/stortree.o ../unxlngi6.pro/slo/storpage.o ../unxlngi6.pro/slo/store.o -luno_sal -lsupc+ > > + -lgcc_s -ldl -lpthread -lm > > eh_globals.cc:(.text._ZN14__gnu_internal10get_globalEv+0x17): undefined > > reference to `___tls_get_addr' > Убрать -Wl,-z,defs - в этом всё равно нет смысла при линковке -shared. Почему не имеет смысла? [-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] libstdc++4.1-devel сломан? 2006-06-01 16:41 ` Alexey Tourbin @ 2006-06-02 7:47 ` Damir Shayhutdinov 2006-06-02 11:00 ` Alexey Tourbin 0 siblings, 1 reply; 12+ messages in thread From: Damir Shayhutdinov @ 2006-06-02 7:47 UTC (permalink / raw) To: ALT Devel discussion list 01.06.06, Alexey Tourbin<at@altlinux.ru> написал(а): > > Убрать -Wl,-z,defs - в этом всё равно нет смысла при линковке -shared. > > Почему не имеет смысла?> ld(1) ---- -z defs Disallows undefined symbols in object files. Undefined symbols in shared libraries are still allowed. ---- ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] libstdc++4.1-devel сломан? 2006-06-02 7:47 ` Damir Shayhutdinov @ 2006-06-02 11:00 ` Alexey Tourbin 2006-06-02 13:17 ` Dmitry V. Levin 0 siblings, 1 reply; 12+ messages in thread From: Alexey Tourbin @ 2006-06-02 11:00 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 832 bytes --] On Fri, Jun 02, 2006 at 11:47:11AM +0400, Damir Shayhutdinov wrote: > 01.06.06, Alexey Tourbin<at@altlinux.ru> написал(а): > > > Убрать -Wl,-z,defs - в этом всё равно нет смысла при линковке -shared. > > > > Почему не имеет смысла?> > ld(1) > ---- > -z > defs > Disallows undefined symbols in object files. Undefined symbols > in shared libraries are still allowed. Автор мана имел в виду другое. $ cat test.c test() { no_such_function(); } $ gcc -shared -fPIC -o libtest.so test.c $ ls -l libtest.so -rwxr-xr-x 1 at at 5591 Jun 2 14:54 libtest.so $ gcc -shared -fPIC -o libtest.so test.c -Wl,-z,defs /tmp/.private/at/ccCRSta9.o: In function `test': test.c:(.text+0x14): undefined reference to `no_such_function' collect2: ld returned 1 exit status $ [-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] libstdc++4.1-devel сломан? 2006-06-02 11:00 ` Alexey Tourbin @ 2006-06-02 13:17 ` Dmitry V. Levin 2006-06-02 13:54 ` Alexey Tourbin 2006-06-02 14:01 ` Sergey Vlasov 0 siblings, 2 replies; 12+ messages in thread From: Dmitry V. Levin @ 2006-06-02 13:17 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 1080 bytes --] On Fri, Jun 02, 2006 at 03:00:32PM +0400, Alexey Tourbin wrote: > On Fri, Jun 02, 2006 at 11:47:11AM +0400, Damir Shayhutdinov wrote: > > 01.06.06, Alexey Tourbin<at@altlinux.ru> написал(а): > > > > Убрать -Wl,-z,defs - в этом всё равно нет смысла при линковке -shared. > > > > > > Почему не имеет смысла?> > > ld(1) > > ---- > > -z > > defs > > Disallows undefined symbols in object files. Undefined symbols > > in shared libraries are still allowed. > > Автор мана имел в виду другое. Что именно? > $ cat test.c > test() > { > no_such_function(); > } > $ gcc -shared -fPIC -o libtest.so test.c > $ ls -l libtest.so > -rwxr-xr-x 1 at at 5591 Jun 2 14:54 libtest.so > $ gcc -shared -fPIC -o libtest.so test.c -Wl,-z,defs > /tmp/.private/at/ccCRSta9.o: In function `test': > test.c:(.text+0x14): undefined reference to `no_such_function' > collect2: ld returned 1 exit status > $ Ну и что? Часть символов живёт в ld.so и тем самым делает -Wl,-z,defs малопригодным на практике. -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] libstdc++4.1-devel сломан? 2006-06-02 13:17 ` Dmitry V. Levin @ 2006-06-02 13:54 ` Alexey Tourbin 2006-06-02 14:02 ` Dmitry V. Levin 2006-06-02 14:01 ` Sergey Vlasov 1 sibling, 1 reply; 12+ messages in thread From: Alexey Tourbin @ 2006-06-02 13:54 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 1652 bytes --] On Fri, Jun 02, 2006 at 05:17:57PM +0400, Dmitry V. Levin wrote: > On Fri, Jun 02, 2006 at 03:00:32PM +0400, Alexey Tourbin wrote: > > On Fri, Jun 02, 2006 at 11:47:11AM +0400, Damir Shayhutdinov wrote: > > > 01.06.06, Alexey Tourbin<at@altlinux.ru> написал(а): > > > > > Убрать -Wl,-z,defs - в этом всё равно нет смысла при линковке -shared. > > > > > > > > Почему не имеет смысла?> > > > ld(1) > > > ---- > > > -z > > > defs > > > Disallows undefined symbols in object files. Undefined symbols > > > in shared libraries are still allowed. > > > > Автор мана имел в виду другое. > Что именно? Я догадываюсь, что имел в виду автор мана, но лучше у него самого спросить. Смыл наверное в том, что -z,defs проверяет разрешимость символов только у создаваемого бинаря, но не рекурсивно. > > $ cat test.c > > test() > > { > > no_such_function(); > > } > > $ gcc -shared -fPIC -o libtest.so test.c > > $ ls -l libtest.so > > -rwxr-xr-x 1 at at 5591 Jun 2 14:54 libtest.so > > $ gcc -shared -fPIC -o libtest.so test.c -Wl,-z,defs > > /tmp/.private/at/ccCRSta9.o: In function `test': > > test.c:(.text+0x14): undefined reference to `no_such_function' > > collect2: ld returned 1 exit status > > $ > > Ну и что? Часть символов живёт в ld.so и тем самым делает -Wl,-z,defs > малопригодным на практике. Нет. Рядовой библиотеке от ld.so ничего не надо. -z,defs таким образом -- чрезвычайное полезное изобретение, оно *гарантирует* на стадии сборки, что все символы библиотеки разрешаются. С ходу помню, что использовал -z,defs в пакетах liblapack и liblua5.1. [-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] libstdc++4.1-devel сломан? 2006-06-02 13:54 ` Alexey Tourbin @ 2006-06-02 14:02 ` Dmitry V. Levin 2006-06-02 14:25 ` Alexey Tourbin 0 siblings, 1 reply; 12+ messages in thread From: Dmitry V. Levin @ 2006-06-02 14:02 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 678 bytes --] On Fri, Jun 02, 2006 at 05:54:07PM +0400, Alexey Tourbin wrote: > On Fri, Jun 02, 2006 at 05:17:57PM +0400, Dmitry V. Levin wrote: [...] > > Ну и что? Часть символов живёт в ld.so и тем самым делает -Wl,-z,defs > > малопригодным на практике. > > Нет. Рядовой библиотеке от ld.so ничего не надо. -z,defs таким > образом -- чрезвычайное полезное изобретение, оно *гарантирует* на > стадии сборки, что все символы библиотеки разрешаются. С ходу помню, > что использовал -z,defs в пакетах liblapack и liblua5.1. Я тоже использовал в своих библиотеках, но это ещё ничего не значит. Я далёк от мысли, что мои библиотеки имеют много общего с обычными. -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] libstdc++4.1-devel сломан? 2006-06-02 14:02 ` Dmitry V. Levin @ 2006-06-02 14:25 ` Alexey Tourbin 0 siblings, 0 replies; 12+ messages in thread From: Alexey Tourbin @ 2006-06-02 14:25 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 1205 bytes --] On Fri, Jun 02, 2006 at 06:02:13PM +0400, Dmitry V. Levin wrote: > On Fri, Jun 02, 2006 at 05:54:07PM +0400, Alexey Tourbin wrote: > > On Fri, Jun 02, 2006 at 05:17:57PM +0400, Dmitry V. Levin wrote: > [...] > > > Ну и что? Часть символов живёт в ld.so и тем самым делает -Wl,-z,defs > > > малопригодным на практике. > > > > Нет. Рядовой библиотеке от ld.so ничего не надо. -z,defs таким > > образом -- чрезвычайное полезное изобретение, оно *гарантирует* на > > стадии сборки, что все символы библиотеки разрешаются. С ходу помню, > > что использовал -z,defs в пакетах liblapack и liblua5.1. > > Я тоже использовал в своих библиотеках, но это ещё ничего не значит. > Я далёк от мысли, что мои библиотеки имеют много общего с обычными. "Рядовая" библиотека не должна ничего знать о внутренностях ld-linux.so.2, иначе её нельзя будет загрузить другим динамическим линкером (например из uClibc). И, как мне кажется, большинство библиотек таки ничего не знают о линкере, который будет их загружать. То есть я думаю, что для большинства библиотек -Wl,-z,defs имеет положительный смысл (хотя для публичных библиотек аналогичная проверка типа ldd -r теперь встроена в rpm-build). [-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] libstdc++4.1-devel сломан? 2006-06-02 13:17 ` Dmitry V. Levin 2006-06-02 13:54 ` Alexey Tourbin @ 2006-06-02 14:01 ` Sergey Vlasov 2006-06-02 14:06 ` Dmitry V. Levin 1 sibling, 1 reply; 12+ messages in thread From: Sergey Vlasov @ 2006-06-02 14:01 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 1488 bytes --] On Fri, Jun 02, 2006 at 05:17:57PM +0400, Dmitry V. Levin wrote: > > $ cat test.c > > test() > > { > > no_such_function(); > > } > > $ gcc -shared -fPIC -o libtest.so test.c > > $ ls -l libtest.so > > -rwxr-xr-x 1 at at 5591 Jun 2 14:54 libtest.so > > $ gcc -shared -fPIC -o libtest.so test.c -Wl,-z,defs > > /tmp/.private/at/ccCRSta9.o: In function `test': > > test.c:(.text+0x14): undefined reference to `no_such_function' > > collect2: ld returned 1 exit status > > $ > > Ну и что? Часть символов живёт в ld.so и тем самым делает -Wl,-z,defs > малопригодным на практике. $ cat test_exceptions.cpp int main(int argc, char **argv) { throw 0; } Вот это работает: $ gcc -Wl,-z,defs -o test_exceptions test_exceptions.cpp -lsupc++ При этом получаемый исполняемый файл содержит ld-linux.so.2 в DT_NEEDED (чего обычно не происходит). А вот это уже не работает: $ gcc -Wl,-z,defs -shared -fPIC -o test_exceptions.so test_exceptions.cpp -lsupc++ /usr/lib/gcc/i586-alt-linux/4.1.0/libsupc++.a(eh_globals.o): In function `__gnu_internal::get_global()': eh_globals.cc:(.text._ZN14__gnu_internal10get_globalEv+0x17): undefined reference to `___tls_get_addr' collect2: ld returned 1 exit status Другой вопрос - зачем может быть нужно линковать разделяемую библиотеку с libsupc++.a, создавая тем самым как минимум дублирование кода. Если использовать нормальную разделяемую libstdc++, никаких проблем с -Wl,-z,defs не возникает. [-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
* Re: [devel] libstdc++4.1-devel сломан? 2006-06-02 14:01 ` Sergey Vlasov @ 2006-06-02 14:06 ` Dmitry V. Levin 0 siblings, 0 replies; 12+ messages in thread From: Dmitry V. Levin @ 2006-06-02 14:06 UTC (permalink / raw) To: ALT Devel discussion list [-- Attachment #1: Type: text/plain, Size: 1164 bytes --] On Fri, Jun 02, 2006 at 06:01:48PM +0400, Sergey Vlasov wrote: [...] > > Ну и что? Часть символов живёт в ld.so и тем самым делает -Wl,-z,defs > > малопригодным на практике. > > $ cat test_exceptions.cpp > int main(int argc, char **argv) > { > throw 0; > } > > Вот это работает: > > $ gcc -Wl,-z,defs -o test_exceptions test_exceptions.cpp -lsupc++ > > При этом получаемый исполняемый файл содержит ld-linux.so.2 в DT_NEEDED > (чего обычно не происходит). > > А вот это уже не работает: > > $ gcc -Wl,-z,defs -shared -fPIC -o test_exceptions.so test_exceptions.cpp -lsupc++ > /usr/lib/gcc/i586-alt-linux/4.1.0/libsupc++.a(eh_globals.o): In function `__gnu_internal::get_global()': > eh_globals.cc:(.text._ZN14__gnu_internal10get_globalEv+0x17): undefined reference to `___tls_get_addr' > collect2: ld returned 1 exit status > > Другой вопрос - зачем может быть нужно линковать разделяемую библиотеку с > libsupc++.a, создавая тем самым как минимум дублирование кода. Если > использовать нормальную разделяемую libstdc++, никаких проблем с > -Wl,-z,defs не возникает. О! Это существенно меняет дело. -- ldv [-- Attachment #2: Type: application/pgp-signature, Size: 191 bytes --] ^ permalink raw reply [flat|nested] 12+ messages in thread
end of thread, other threads:[~2006-06-02 14:25 UTC | newest] Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2006-06-01 15:36 [devel] libstdc++4.1-devel сломан? Valery V. Inozemtsev 2006-06-01 15:43 ` Dmitry V. Levin 2006-06-01 16:23 ` Valery V. Inozemtsev 2006-06-01 16:41 ` Alexey Tourbin 2006-06-02 7:47 ` Damir Shayhutdinov 2006-06-02 11:00 ` Alexey Tourbin 2006-06-02 13:17 ` Dmitry V. Levin 2006-06-02 13:54 ` Alexey Tourbin 2006-06-02 14:02 ` Dmitry V. Levin 2006-06-02 14:25 ` Alexey Tourbin 2006-06-02 14:01 ` Sergey Vlasov 2006-06-02 14:06 ` Dmitry V. Levin
ALT Linux Team development discussions This inbox may be cloned and mirrored by anyone: git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \ devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru public-inbox-index devel Example config snippet for mirrors. Newsgroup available over NNTP: nntp://lore.altlinux.org/org.altlinux.lists.devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git