[devel] lj_udrepper --as-needed libtool moronic idiots
Alexey Tourbin
=?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Сб Июн 17 04:09:59 MSD 2006
----- Forwarded message from rss2mail2 -----
DSO memory waste II at 15-06-2006 08:12:37
http://udrepper.livejournal.com/11056.html
[...]
The third question/comment was why --as-needed isn't just always used.
This is just as stupid as always use hidden symbols visibility via the
new gcc options like certain distributions do it now for KDE. Both
these methods change the ABI of a program sooner or later. Obviously,
default hidden visibility prevents symbols from being exported unless
specified otherwise. This means it'll break some code and the
appropriate visibility attributes have to be added and then new
binaries have to be provided. That's nothing a sane person should do.
Similarly for --as-needed. The linked-in DSO form a predictable search
scope for symbol lookups. Removing a DSO will change the search scope
and some lookups will suddenly find a different definition or will
fail. This will only affect symbol lookups performed dynamically via
dlsym() but it has happened.
Fortunately this is a rare occurrence but nevertheless reason enough
to not use --as-needed explicitly. Add the option to the Makefiles in
the the right places, it's not hard. I seem to remember that somebody
said this would create problems with libtool. Well, too bad. I've said
all along the libtool of today is one of the biggest hindrances of
development and deployment and shouldn't be used. When we wrote the
first libtool version it was only meant to iron over the minor
differences between various ELF tools. Since then it has been hijacked
by those idiots who wanted to support the moronic dynamic linking
methods used on winblowz and hpsux. Ever since that happened libtool
is nothing but a problem for sane ELF platforms and should be avoided
[1]. So, just avoid using libtool and link normally with the gcc
driver. Then using --as-needed is no problem at all.
[1] Including the wrappers around dlopen() and dlsym() which are
completely unnecessary on Linux and just make programs slow and
bloated.
----- End forwarded message -----
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип : application/pgp-signature
Размер : 191 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url : <http://lists.altlinux.org/pipermail/devel/attachments/20060617/9744b493/attachment-0001.bin>
Подробная информация о списке рассылки Devel